@@ 82,12 82,12 @@ BRK
@make-needles ( -- )
- [ #00 .DateTime/second DEI ] DUP2 ADD2 ;sin60 ADD2 LDA2
+ [ LIT2 00 -DateTime/second ] DEI DUP2 ADD2 ;sin60 ADD2 LDA2
#0090 circle .needles/sx STZ2 .needles/sy STZ2
- [ #00 .DateTime/minute DEI ] DUP2 ADD2 ;sin60 ADD2 LDA2
+ [ LIT2 00 -DateTime/minute ] DEI DUP2 ADD2 ;sin60 ADD2 LDA2
#0090 circle .needles/mx STZ2 .needles/my STZ2
- [ #00 .DateTime/hour DEI #0c ( mod ) DIVk MUL SUB #20 SFTk NIP ADD ]
- [ #00 .DateTime/minute DEI #0f DIV ADD2 ] DUP2 ADD2 ;sin60 ADD2 LDA2
+ [ LIT2 00 -DateTime/hour ] DEI #0c ( mod ) DIVk MUL SUB #20 SFTk NIP ADD ]
+ [ LIT2 00 -DateTime/minute ] DEI #0f DIV ADD2 ] DUP2 ADD2 ;sin60 ADD2 LDA2
#00b0 circle .needles/hx STZ2 .needles/hy STZ2
JMP2r
@@ 111,8 111,10 @@ JMP2r
#0c MUL #00 SWP #30 SFT2 ;spritesheet/eyes ADD2 .Screen/addr DEO2
#0c00
&loop-eyes
- DUP #06 ( mod ) DIVk MUL SUB #00 SWP #30 SFT2 .center/x LDZ2 #0018 SUB2 ADD2 .Screen/x DEO2
- DUP #06 DIV #00 SWP #30 SFT2 .center/y LDZ2 #0030 SUB2 ADD2 .Screen/y DEO2
+ #00 OVR #06
+ ( mod ) DIVk MUL SUB #30 SFT2 .center/x LDZ2 #0018 SUB2 ADD2 .Screen/x DEO2
+ #00 OVR #06
+ DIV #30 SFT2 .center/y LDZ2 #0030 SUB2 ADD2 .Screen/y DEO2
[ LIT2 01 -Screen/sprite ] DEO
INC GTHk ?&loop-eyes
POP2
@@ 212,17 214,17 @@ JMP2r
;fill-icn .Screen/addr DEO2
#0000 DUP2 .Screen/x DEO2 .Screen/y DEO2
[ LIT2 11 -Screen/auto ] DEO
- [ LIT &y $1 ] #00
+ [ LIT2 00 &y $1 ] SUB
&v
- [ LIT &x $1 ] #00
+ [ LIT2 00 &x $1 ] SUB
&h
[ LIT2 01 -Screen/sprite ] DEO
- INC GTHk ?&h
- POP2
+ INC DUP ?&h
+ POP
#0000 .Screen/x DEO2
.Screen/y DEI2k #0010 ADD2 ROT DEO2
- INC GTHk ?&v
- POP2
+ INC DUP ?&v
+ POP
JMP2r