~rabbits/orca-toy

f53e8121aea50fbda286254fe944c1d9049dcdcc — neauoire 4 months ago 71cbc0f
Housekeeping
2 files changed, 124 insertions(+), 121 deletions(-)

M src/assets.tal
M src/orca.tal
M src/assets.tal => src/assets.tal +107 -99
@@ 1,3 1,6 @@
(
@|tables )

@notes
	( lc )
	00 00 00 00 00 00 00 00


@@ 45,6 48,107 @@
	01 ( 6 selected )
	01 ( 7 io )

@op-ascii
	( 20	_ ) :op-null
	( 21	! ) :op-null
	( 22	" ) :op-null
	( 23	# ) :op-comment
	( 24	$ ) :op-self
	( 25	% ) :op-null
	( 26	& ) :op-null
	( 27	' ) :op-null
	( 28	_ ) :op-null
	( 29	_ ) :op-null
	( 2A	* ) :op-bang
	( 2B	+ ) :op-null
	( 2C	, ) :op-null
	( 2D	- ) :op-null
	( 2E	. ) :op-null
	( 2F	/ ) :op-byte
	( 30	0 ) :op-null
	( 31	1 ) :op-null
	( 32	2 ) :op-null
	( 33	3 ) :op-null
	( 34	4 ) :op-null
	( 35	5 ) :op-null
	( 36	6 ) :op-null
	( 37	7 ) :op-null
	( 38	8 ) :op-null
	( 39	9 ) :op-null
	( 3A	: ) :op-midi
	( 3B	; ) :op-pitch
	( 3C	< ) :op-null
	( 3D	= ) :op-synth
	( 3E	> ) :op-null
	( 3F	? ) :op-null
	( 40	@ ) :op-null
	( 41	A ) :op-a
	( 42	B ) :op-b
	( 43	C ) :op-c
	( 44	D ) :op-d
	( 45	E ) :op-e
	( 46	F ) :op-f
	( 47	G ) :op-g
	( 48	H ) :op-h
	( 49	I ) :op-i
	( 4A	J ) :op-j
	( 4B	K ) :op-k
	( 4C	L ) :op-l
	( 4D	M ) :op-m
	( 4E	N ) :op-n
	( 4F	O ) :op-o
	( 50	P ) :op-p
	( 51	Q ) :op-q
	( 52	R ) :op-r
	( 53	S ) :op-s
	( 54	T ) :op-t
	( 55	U ) :op-u
	( 56	V ) :op-v
	( 57	W ) :op-w
	( 58	X ) :op-x
	( 59	Y ) :op-y
	( 5A	Z ) :op-z
	( 5B	[ ) :op-null
	( 5C	\ ) :op-null
	( 5D	] ) :op-null
	( 5E	^ ) :op-null
	( 5F	_ ) :op-null
	( 60	` ) :op-null
	( 61	a ) :op-a-lc
	( 62	b ) :op-b-lc
	( 63	c ) :op-c-lc
	( 64	d ) :op-d-lc
	( 65	e ) :op-e-lc
	( 66	f ) :op-f-lc
	( 67	g ) :op-g-lc
	( 68	h ) :op-h-lc
	( 69	i ) :op-i-lc
	( 6A	j ) :op-j-lc
	( 6B	k ) :op-k-lc
	( 6C	l ) :op-l-lc
	( 6D	m ) :op-m-lc
	( 6E	n ) :op-n-lc
	( 6F	o ) :op-o-lc
	( 70	p ) :op-p-lc
	( 71	q ) :op-q-lc
	( 72	r ) :op-r-lc
	( 73	s ) :op-s-lc
	( 74	t ) :op-t-lc
	( 75	u ) :op-u-lc
	( 76	v ) :op-v-lc
	( 77	w ) :op-w-lc
	( 78	x ) :op-x-lc
	( 79	y ) :op-y-lc
	( 7A	z ) :op-z-lc
	( 7B	{ ) :op-null
	( 7C	| ) :op-null
	( 7D	} ) :op-null
	( 7E	~ ) :op-null
	( 7F	_ ) :op-null

(
@|spritesheet )

@cursor-icn
	80c0 e0f0 f8e0 1000 0000 0000 0000 0000
@selector-icn


@@ 55,8 159,10 @@
@save-icn
	0000 0018 183c 3c7e 7e3c 3c18 1800 0000
@help-icn
	0000 0000 0000 0000	8244 3800 0000 0000
	0000 0000 0000 0000 8244 3800 0000 0000
	0000 0000 0000 3844 9228 1000 0000 0000
@underline-icn
	0000 0000 0000 0000 0000 0000 0000 00ff

@meter-icn
	0000 0000 0000 0000 0000 0000 0000 0000


@@ 239,104 345,6 @@
	0000 0000 0000 0000 0000 0000 0000 0000
	0000 0000 0000 0000 0000 0000 0000 0000

@op-ascii
	( 20	_ ) :op-null
	( 21	! ) :op-null
	( 22	" ) :op-null
	( 23	# ) :op-comment
	( 24	$ ) :op-self
	( 25	% ) :op-null
	( 26	& ) :op-null
	( 27	' ) :op-null
	( 28	_ ) :op-null
	( 29	_ ) :op-null
	( 2A	* ) :op-bang
	( 2B	+ ) :op-null
	( 2C	, ) :op-null
	( 2D	- ) :op-null
	( 2E	. ) :op-null
	( 2F	/ ) :op-byte
	( 30	0 ) :op-null
	( 31	1 ) :op-null
	( 32	2 ) :op-null
	( 33	3 ) :op-null
	( 34	4 ) :op-null
	( 35	5 ) :op-null
	( 36	6 ) :op-null
	( 37	7 ) :op-null
	( 38	8 ) :op-null
	( 39	9 ) :op-null
	( 3A	: ) :op-midi
	( 3B	; ) :op-pitch
	( 3C	< ) :op-null
	( 3D	= ) :op-synth
	( 3E	> ) :op-null
	( 3F	? ) :op-null
	( 40	@ ) :op-null
	( 41	A ) :op-a
	( 42	B ) :op-b
	( 43	C ) :op-c
	( 44	D ) :op-d
	( 45	E ) :op-e
	( 46	F ) :op-f
	( 47	G ) :op-g
	( 48	H ) :op-h
	( 49	I ) :op-i
	( 4A	J ) :op-j
	( 4B	K ) :op-k
	( 4C	L ) :op-l
	( 4D	M ) :op-m
	( 4E	N ) :op-n
	( 4F	O ) :op-o
	( 50	P ) :op-p
	( 51	Q ) :op-q
	( 52	R ) :op-r
	( 53	S ) :op-s
	( 54	T ) :op-t
	( 55	U ) :op-u
	( 56	V ) :op-v
	( 57	W ) :op-w
	( 58	X ) :op-x
	( 59	Y ) :op-y
	( 5A	Z ) :op-z
	( 5B	[ ) :op-null
	( 5C	\ ) :op-null
	( 5D	] ) :op-null
	( 5E	^ ) :op-null
	( 5F	_ ) :op-null
	( 60	` ) :op-null
	( 61	a ) :op-a-lc
	( 62	b ) :op-b-lc
	( 63	c ) :op-c-lc
	( 64	d ) :op-d-lc
	( 65	e ) :op-e-lc
	( 66	f ) :op-f-lc
	( 67	g ) :op-g-lc
	( 68	h ) :op-h-lc
	( 69	i ) :op-i-lc
	( 6A	j ) :op-j-lc
	( 6B	k ) :op-k-lc
	( 6C	l ) :op-l-lc
	( 6D	m ) :op-m-lc
	( 6E	n ) :op-n-lc
	( 6F	o ) :op-o-lc
	( 70	p ) :op-p-lc
	( 71	q ) :op-q-lc
	( 72	r ) :op-r-lc
	( 73	s ) :op-s-lc
	( 74	t ) :op-t-lc
	( 75	u ) :op-u-lc
	( 76	v ) :op-v-lc
	( 77	w ) :op-w-lc
	( 78	x ) :op-x-lc
	( 79	y ) :op-y-lc
	( 7A	z ) :op-z-lc
	( 7B	{ ) :op-null
	( 7C	| ) :op-null
	( 7D	} ) :op-null
	( 7E	~ ) :op-null
	( 7F	_ ) :op-null

@data
	&cells $4000
	&locks $4000

M src/orca.tal => src/orca.tal +17 -22
@@ 54,10 54,11 @@
	( drawing mode )
	#15 .Screen/auto DEO

	( size )
	#0328 .Screen/width DEO2
	#01e0 .Screen/height DEO2
	( playdate
	( size thinkpad )
	#02a8 .Screen/width DEO2
	#0180 .Screen/height DEO2

	( size playdate
	#0190 .Screen/width DEO2
	#00f0 .Screen/height DEO2 )



@@ 153,8 154,8 @@ BRK
			01 "g :toggle-guide "Guide $1
			01 "h :toggle-grid "Grid $1
		02 "Select $1
			00 1b :select-reset "Reset $1
			01 "a :select-all "All $1
			00 1b :set-sel-reset "Reset $1
			01 "a :set-sel-all "All $1
		$1

(


@@ 404,8 405,8 @@ BRK
JMP2
	&add-pos ROT ADD STH ADD STHr JMP2r

@select-reset ( -- ) .selection/from LDZ2 ,set-sel-from JMP
@select-all ( -- ) #0000 .grid/size LDZ2 ,set-sel-range JMP
@set-sel-reset ( -- ) .selection/from LDZ2 ,set-sel-from JMP
@set-sel-all ( -- ) #0000 .grid/size LDZ2 ,set-sel-range JMP
@set-sel-from ( x y -- ) DUP2 ,set-sel-range JMP

@set-sel-to ( x y -- )


@@ 537,14 538,11 @@ BRK

@init ( -- )

	LIT ". DUP ;mfil/data STA2
	;data/cells .grid/length LDZ2 ;mfil JSR2
	;data/cells .grid/length LDZ2 LIT ". DUP ;mfil JSR2
	&grid
	#0000 ;mfil/data STA2
	;data/locks .grid/length LDZ2 STH2k ;mfil JSR2
	;data/types STH2r ;mfil JSR2
	LIT ". DUP ;mfil/data STA2
	;variables #0024 ;mfil JSR2
	;data/locks .grid/length LDZ2 STH2k #0000 ;mfil JSR2
	;data/types STH2r #0000 ;mfil JSR2
	;variables #0024 LIT ". DUP ;mfil JSR2
	#00 .signal/midi STZ

JMP2r


@@ 671,7 669,7 @@ JMP2
	#01 ;draw-chr/color STA
	POP2 ;draw-short JSR2
	( icon )
	;selector-icn #00 [ .Controller/vector DEI2 ;on-button-insert EQU2 ] #40 SFT2 ADD2 .Screen/addr DEO2
	;selector-icn #00 .Controller/vector DEI2 ;on-button-insert EQU2 #40 SFT2 ADD2 .Screen/addr DEO2
	#02 .selection/from LDZ2 .selection/to LDZ2 NEQ2 ADD .Screen/sprite DEO

JMP2r


@@ 1109,11 1107,12 @@ JMP2r

@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ,&loop JCN POP2 POP2 POP2r JMP2r

@mfil ( src* len* -- )
@mfil ( src* len* data* -- )

	,&data STR2
	ADD2k NIP2 SWP2
	&l
		[ LIT2 &data 0000 ] OVR2 STA2
		[ LIT2 &data $2 ] OVR2 STA2
		INC2 INC2 GTH2k ,&l JCN
	POP2 POP2



@@ 1136,10 1135,6 @@ JMP2r

JMP2r

@underline-icn
	0000 0000 0000 0000
	0000 0000 0000 00ff

@untitled-txt "untitled.orca $1

~src/library.tal