... | ... |
@@ -183,7 +183,7 @@ JMP2r |
183 | 183 |
|
184 | 184 |
;sprite/length LDA2 |
185 | 185 |
( don't let length go below 0 ) |
186 |
- DUP2 #0000 EQU2 ,&bail JCN |
|
186 |
+ ORAk #00 EQU ,&bail JCN |
|
187 | 187 |
( clear the old sprite location ) |
188 | 188 |
DUP2 #0001 SUB2 #30 SFT2 ;sprite/array ADD2 |
189 | 189 |
( top ) |
... | ... |
@@ -217,7 +217,7 @@ JMP2r |
217 | 217 |
( z = a ) |
218 | 218 |
,&a LDR DUP ,&z STR |
219 | 219 |
( a = z ^ t ^ (z >> 1) ^ (t << 1) ) |
220 |
- DUP DUP ADD EOR SWP DUP #01 SFT EOR EOR |
|
220 |
+ DUPk ADD EOR SWP DUP #01 SFT EOR EOR |
|
221 | 221 |
DUP ,&a STR |
222 | 222 |
|
223 | 223 |
JMP2r |
... | ... |
@@ -43,22 +43,22 @@ BRK |
43 | 43 |
STHk |
44 | 44 |
#00 .timer LDZ [ #00 STHkr INC #07 AND #60 SFT ADD2 ] #00ff AND2 ;table ADD2 LDA #01 SFT |
45 | 45 |
#00 .timer LDZ [ #00 STHkr #60 SFT ADD2 ] #00ff AND2 ;table ADD2 LDA #02 SFT [ #00 STHkr #62 SFT2 ADD2 ] |
46 |
- .cube/v0 STHr #10 SFT ADD STZ2 |
|
46 |
+ .cube/v0 STHr DUP ADD ADD STZ2 |
|
47 | 47 |
INC GTHk ,&loop JCN |
48 | 48 |
POP2 |
49 | 49 |
( vertices ) |
50 | 50 |
#0800 |
51 | 51 |
&ver-loop |
52 |
- DUP #10 SFT .cube ADD LDZ2 ;draw-vertex JSR2 |
|
52 |
+ DUP DUP ADD .cube ADD LDZ2 ;draw-vertex JSR2 |
|
53 | 53 |
INC GTHk ,&ver-loop JCN |
54 | 54 |
POP2 |
55 | 55 |
( lines ) |
56 | 56 |
#0400 |
57 | 57 |
&line-loop |
58 | 58 |
STHk |
59 |
- .cube/v0 STHkr #10 SFT ADD .cube/v0 STHkr INC #03 AND #10 SFT ADD ,trace JSR |
|
60 |
- .cube/v0 STHkr #10 SFT ADD .cube/v4 STHkr #10 SFT ADD ,trace JSR |
|
61 |
- .cube/v4 STHkr #10 SFT ADD .cube/v4 STHr INC #03 AND #10 SFT ADD ,trace JSR |
|
59 |
+ .cube/v0 STHkr DUP ADD ADD .cube/v0 STHkr INC #03 AND DUP ADD ADD ,trace JSR |
|
60 |
+ .cube/v0 STHkr DUP ADD ADD .cube/v4 STHkr DUP ADD ADD ,trace JSR |
|
61 |
+ .cube/v4 STHkr DUP ADD ADD .cube/v4 STHr INC #03 AND DUP ADD ADD ,trace JSR |
|
62 | 62 |
INC GTHk ,&line-loop JCN |
63 | 63 |
POP2 |
64 | 64 |
|
... | ... |
@@ -22,7 +22,7 @@ |
22 | 22 |
#00 .DateTime/minute DEI #60 SFT2 EOR2 |
23 | 23 |
#00 .DateTime/hour DEI #c0 SFT2 EOR2 ;prng/x STA2 |
24 | 24 |
#00 .DateTime/hour DEI #04 SFT2 |
25 |
- #00 .DateTime/day DEI #10 SFT2 EOR2 |
|
25 |
+ #00 .DateTime/day DEI DUP2 ADD2 EOR2 |
|
26 | 26 |
#00 .DateTime/month DEI #60 SFT2 EOR2 |
27 | 27 |
.DateTime/year DEI2 #a0 SFT2 EOR2 ;prng/y STA2 |
28 | 28 |
;prng/x LDA2 ;prng/y LDA2 EOR2 |
... | ... |
@@ -160,7 +160,7 @@ |
160 | 160 |
( rabbit is in-between two frames ) |
161 | 161 |
#08 OVR SUB ,&from-weight STR |
162 | 162 |
,&to-weight STR ( color n / frame ) |
163 |
- #00 SWP #10 SFT2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 ( color from-addr* ) |
|
163 |
+ #00 SWP DUP2 ADD2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 ( color from-addr* ) |
|
164 | 164 |
LDA2k STH2 #00c8 ADD2 LDA2 |
165 | 165 |
&draw ( color to-x to-y / from-x from-y ) |
166 | 166 |
STHr ,&mix JSR LIT2 &yoffset $2 ADD2 .Screen/y DEO2 |
... | ... |
@@ -181,7 +181,7 @@ |
181 | 181 |
&static ( color n counter / frame ) |
182 | 182 |
INCr |
183 | 183 |
POP |
184 |
- #00 SWP #10 SFT2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 |
|
184 |
+ #00 SWP DUP2 ADD2 ;rabbits ADD2 #00c8 #00 STHr MUL2 ADD2 |
|
185 | 185 |
LDA2 STH2k |
186 | 186 |
,&draw JMP |
187 | 187 |
|
... | ... |
@@ -168,7 +168,7 @@ JMP2r |
168 | 168 |
LITr 00 |
169 | 169 |
#0800 |
170 | 170 |
&loop |
171 |
- #00 OVR DUP2 ADD2 ;&mask ADD2 LDA2 [ LIT2 &origin $2 ] |
|
171 |
+ #00 OVRk ADD2 ;&mask ADD2 LDA2 [ LIT2 &origin $2 ] |
|
172 | 172 |
ROT ADD STH ADD STHr ;get-cell JSR2 STH ADDr |
173 | 173 |
INC GTHk ,&loop JCN |
174 | 174 |
POP2 |
... | ... |
@@ -187,11 +187,11 @@ JMP2r |
187 | 187 |
#00 .Screen/auto DEO |
188 | 188 |
#4000 |
189 | 189 |
&ver |
190 |
- #00 OVR DUP2 ADD2 .anchor/y LDZ2 ADD2 .Screen/y DEO2 |
|
190 |
+ #00 OVRk ADD2 .anchor/y LDZ2 ADD2 .Screen/y DEO2 |
|
191 | 191 |
STHk |
192 | 192 |
#4000 |
193 | 193 |
&hor |
194 |
- #00 OVR DUP2 ADD2 .anchor/x LDZ2 ADD2 .Screen/x DEO2 |
|
194 |
+ #00 OVRk ADD2 .anchor/x LDZ2 ADD2 .Screen/x DEO2 |
|
195 | 195 |
DUP STHkr ;get-cell JSR2 INC .Screen/pixel DEO |
196 | 196 |
INC GTHk ,&hor JCN |
197 | 197 |
POP2 |
... | ... |
@@ -217,8 +217,8 @@ JMP2r |
217 | 217 |
( bl ) #0001 SUB2 LDAk #03 NEQ JMP INCr |
218 | 218 |
( bc ) INC2 LDAk #03 NEQ JMP INCr |
219 | 219 |
( br ) INC2 LDA #03 NEQ JMP INCr |
220 |
- STHkr #02 EQU STHr #01 EQU #0000 GTH2 |
|
221 |
- #10 SFT INC JMP2r |
|
220 |
+ STHkr #02 EQU STHr #01 EQU ORA |
|
221 |
+ DUP ADD INC JMP2r |
|
222 | 222 |
&no-cond |
223 | 223 |
( unknown ) |
224 | 224 |
NIP NIP |
... | ... |
@@ -81,7 +81,7 @@ BRK |
81 | 81 |
#03 STHkr #03 SFT #01 AND DUP ADD SUB .Screen/sprite DEO |
82 | 82 |
|
83 | 83 |
( buttons ) |
84 |
- .center/y LDZ2 #0000 ADD2 .Screen/y DEO2 |
|
84 |
+ .center/y LDZ2 .Screen/y DEO2 |
|
85 | 85 |
.center/x LDZ2 #0018 ADD2 .Screen/x DEO2 |
86 | 86 |
;controller-icn/button .Screen/addr DEO2 |
87 | 87 |
#03 STHkr #01 SFT #01 AND SUB .Screen/sprite DEO |
... | ... |
@@ -89,7 +89,7 @@ BRK |
89 | 89 |
;font-hex #0058 ADD2 .Screen/addr DEO2 |
90 | 90 |
#03 .Screen/sprite DEO |
91 | 91 |
|
92 |
- .center/y LDZ2 #0000 ADD2 .Screen/y DEO2 |
|
92 |
+ .center/y LDZ2 .Screen/y DEO2 |
|
93 | 93 |
.center/x LDZ2 #0024 ADD2 .Screen/x DEO2 |
94 | 94 |
;controller-icn/button .Screen/addr DEO2 |
95 | 95 |
#03 STHr #01 AND SUB .Screen/sprite DEO |
... | ... |
@@ -30,14 +30,14 @@ BRK |
30 | 30 |
.a LDZ2 #ffff EQU2 ,&input JCN |
31 | 31 |
.b LDZ2 #ffff EQU2 ,&output JCN |
32 | 32 |
( SUBLEQ ) |
33 |
- .b LDZ2 STH2k ,&get JSR .a LDZ2 ,&get JSR SUB2 STH2r #10 SFT2 ;program ADD2 STA2 |
|
33 |
+ .b LDZ2 STH2k ,&get JSR .a LDZ2 ,&get JSR SUB2 STH2r DUP2 ADD2 ;program ADD2 STA2 |
|
34 | 34 |
( SET ) |
35 | 35 |
.b LDZ2 ,&get JSR #0001 SUB2 #8000 LTH2 ,&end JCN POP2 .c LDZ2 &end |
36 | 36 |
|
37 | 37 |
JMP2r |
38 | 38 |
&input ( -- ) JMP2r |
39 | 39 |
&output ( -- ) .a LDZ2 ,&get JSR NIP #18 DEO JMP2r |
40 |
- &get ( a* -- b* ) #10 SFT2 ;program ADD2 LDA2 JMP2r |
|
40 |
+ &get ( a* -- b* ) DUP2 ADD2 ;program ADD2 LDA2 JMP2r |
|
41 | 41 |
|
42 | 42 |
@program ( hello world ) |
43 | 43 |
000f 0011 ffff 0011 ffff ffff 0010 0001 |
... | ... |
@@ -172,12 +172,12 @@ JMP2r |
172 | 172 |
#3c00 |
173 | 173 |
&loop |
174 | 174 |
( dots ) |
175 |
- #00 OVR DUP2 ADD2 ;table ADD2 LDA2 |
|
175 |
+ #00 OVRk ADD2 ;table ADD2 LDA2 |
|
176 | 176 |
#0018 ;circle JSR2 |
177 | 177 |
.Screen/x DEO2 .Screen/y DEO2 #01 .Screen/pixel DEO |
178 | 178 |
( markers ) |
179 | 179 |
DUP #05 ;mod JSR2 ,&no-marker JCN |
180 |
- #00 OVR DUP2 ADD2 ;table ADD2 LDA2 |
|
180 |
+ #00 OVRk ADD2 ;table ADD2 LDA2 |
|
181 | 181 |
STH2k #0018 ;circle JSR2 SWP2 |
182 | 182 |
STH2r #001c ;circle JSR2 SWP2 |
183 | 183 |
#01 ;draw-line JSR2 |
... | ... |
@@ -207,7 +207,7 @@ JMP2r |
207 | 207 |
.Screen/y .lines/addr STZ |
208 | 208 |
|
209 | 209 |
&draw-line ( v1* v2* -- ) |
210 |
- OVR2 OVR2 LTH2 #01 JCN SWP2 |
|
210 |
+ LTH2k #01 JCN SWP2 |
|
211 | 211 |
STH2 |
212 | 212 |
|
213 | 213 |
&loop |
... | ... |
@@ -231,7 +231,7 @@ JMP2r |
231 | 231 |
JMP2r |
232 | 232 |
|
233 | 233 |
@modf ( dividend* divisor* SUB2 remainder* quotient* ) |
234 |
- OVR2 OVR2 DIV2 STH2k MUL2 SUB2 STH2r JMP2r |
|
234 |
+ DIV2k STH2k MUL2 SUB2 STH2r JMP2r |
|
235 | 235 |
|
236 | 236 |
@mul2hi ( a* b* -- product-top-16-bits* ) |
237 | 237 |
( |