(move.tal) Housekeeping

This commit is contained in:
neauoire 2023-10-28 10:08:01 -07:00
parent b513014fa8
commit a0fa9ca9a3
1 changed files with 41 additions and 49 deletions

View File

@ -1,5 +1,4 @@
( Move: ( Move: Use controller arrows, leave a slime. )
Use controller arrows, leave a slime. )
|00 @System &vector $2 &pad $6 &r $2 &g $2 &b $2 |00 @System &vector $2 &pad $6 &r $2 &g $2 &b $2
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
@ -7,67 +6,60 @@
|0000 |0000
@hello &x $2 &y $2 @hello &x $2 &y $2
|0100 ( -> ) |0100
( theme ) @on-reset ( -> )
( | theme )
#c0f4 .System/r DEO2 #c0f4 .System/r DEO2
#c0fc .System/g DEO2 #c0fc .System/g DEO2
#c0f7 .System/b DEO2 #c0f7 .System/b DEO2
( vectors ) ( | vectors )
;on-frame .Screen/vector DEO2 ;on-frame .Screen/vector DEO2
( set origin ) (| set origin ) .Screen/width DEI2 #01 SFT2 .hello/x STZ2
.Screen/width DEI2 #01 SFT2 .hello/x STZ2
.Screen/height DEI2 #01 SFT2 .hello/y STZ2 .Screen/height DEI2 #01 SFT2 .hello/y STZ2
( drawing mode )
#16 .Screen/auto DEO #16 .Screen/auto DEO
( defaults ) #00 on-frame/draw BRK
#00 ;on-frame/draw JMP2
BRK
@on-frame ( -> ) @on-frame ( -> )
.Controller/button DEI DUP ?{ POP BRK }
.Controller/button DEI ( | clear )
DUP ,&continue JCN
POP BRK
&continue
( clear )
#40 .Screen/sprite DEO #40 .Screen/sprite DEO
( movement ) ( | movement )
DUP #10 AND #00 EQU ,&no-u JCN .hello/y LDZ2k #0001 SUB2 ROT STZ2 &no-u DUP #10 AND #00 EQU ?{
DUP #20 AND #00 EQU ,&no-d JCN .hello/y LDZ2k INC2 ROT STZ2 &no-d .hello/y LDZ2k #0001 SUB2 ROT STZ2 }
DUP #40 AND #00 EQU ,&no-l JCN .hello/x LDZ2k #0001 SUB2 ROT STZ2 &no-l DUP #20 AND #00 EQU ?{
DUP #80 AND #00 EQU ,&no-r JCN .hello/x LDZ2k INC2 ROT STZ2 &no-r .hello/y LDZ2k INC2 ROT STZ2 }
&draw DUP #40 AND #00 EQU ?{
( draw hello ) .hello/x LDZ2k #0001 SUB2 ROT STZ2 }
.hello/x LDZ2 STH2k .Screen/x DEO2 DUP #80 AND #00 EQU ?{
.hello/y LDZ2 STH2k .Screen/y DEO2 .hello/x LDZ2k INC2 ROT STZ2 }
;hello-chr .Screen/addr DEO2 &draw ( button -> )
#c1 .Screen/sprite DEOk DEO .hello/x LDZ2 STH2k .Screen/x DEO2
( draw slime ) .hello/y LDZ2 STH2k .Screen/y DEO2
STH2r .Screen/y DEO2 ;hello-chr .Screen/addr DEO2
STH2r .Screen/x DEO2 #c1 .Screen/sprite DEOk
;slime-icn .Screen/addr DEO2 DEO
,get-slime JSR .Screen/sprite DEOk DEO ( draw slime ) STH2r .Screen/y DEO2
STH2r .Screen/x DEO2
BRK ;slime-icn .Screen/addr DEO2
get-slime .Screen/sprite DEOk
DEO
BRK
@get-slime ( button -- color ) @get-slime ( button -- color )
#0f AND DUP #01 NEQ ?{ POP #05 JMP2r }
DUP #02 NEQ ?{ POP #0a JMP2r }
POP #0f JMP2r
#0f AND @hello-chr [
DUP #01 NEQ ,&no-ctrl JCN POP #05 JMP2r &no-ctrl
DUP #02 NEQ ,&no-alt JCN POP #0a JMP2r &no-alt
POP #0f
JMP2r
@hello-chr
0007 1820 2040 4044 0000 071f 1f3f 3f3b 0007 1820 2040 4044 0000 071f 1f3f 3f3b
00e0 1804 0402 0222 0000 e0f8 f8fc fcdc 00e0 1804 0402 0222 0000 e0f8 f8fc fcdc
4040 4423 2018 0700 3f3f 3b1c 1f07 0000 4040 4423 2018 0700 3f3f 3b1c 1f07 0000
0202 22c4 0418 e000 fcfc dc38 f8e0 0000 0202 22c4 0418 e000 fcfc dc38 f8e0 0000 ]
@slime-icn
@slime-icn [
0000 0000 0003 0707 0000 0000 00c0 e0e0 0000 0000 0003 0707 0000 0000 00c0 e0e0
0707 0300 0000 0000 e0e0 c000 0000 0000 0707 0300 0000 0000 e0e0 c000 0000 0000 ]