... | ... |
@@ -1,8 +1,8 @@ |
1 | 1 |
( a blank file ) |
2 | 2 |
|
3 |
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV } |
|
3 |
+%+ { ADD } %- { SUB } %/ { DIV } |
|
4 | 4 |
%< { LTH } %> { GTH } %= { EQU } %! { NEQ } |
5 |
-%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } |
|
5 |
+%++ { ADD2 } %-- { SUB2 } %// { DIV2 } |
|
6 | 6 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
7 | 7 |
|
8 | 8 |
%DEBUG { ;print-hex JSR2 #0a .Console/write DEO } |
... | ... |
@@ -65,7 +65,7 @@ BRK |
65 | 65 |
|
66 | 66 |
.Mouse/state DEI #00 EQU ,&no-touch JCN |
67 | 67 |
( incr ) .style LDZ #01 ADD #03 MOD .style STZ |
68 |
- ( bg ) ;tiles .style LDZ #10 MUL TOS ADD2 ;cover-pattern JSR2 |
|
68 |
+ ( bg ) ;tiles .style LDZ #40 SFT TOS ADD2 ;cover-pattern JSR2 |
|
69 | 69 |
( fg ) ;redraw JSR2 |
70 | 70 |
( release ) #00 .Mouse/state DEO |
71 | 71 |
&no-touch |
... | ... |
@@ -108,10 +108,10 @@ RTN |
108 | 108 |
&loop |
109 | 109 |
( save-x ) OVR #03 MOD TOS 8** .anchor/x LDZ2 ADD2 .Screen/x DEO2 |
110 | 110 |
( save-y ) OVR #03 DIV TOS 8** .anchor/y LDZ2 ADD2 .Screen/y DEO2 |
111 |
- ( get digit* ) OVR STHkr #02 MUL TOS ;digits ADD2 LDA2 |
|
111 |
+ ( get digit* ) OVR STHkr DUP ADD TOS ;digits ADD2 LDA2 |
|
112 | 112 |
( get bit ) ROT #0e SWP SUB SFT2 #0001 AND2 |
113 | 113 |
( set tile ) 8** ;tiles ADD2 |
114 |
- ( set style ) .style LDZ #10 MUL TOS ADD2 |
|
114 |
+ ( set style ) .style LDZ #40 SFT TOS ADD2 |
|
115 | 115 |
.Screen/addr DEO2 |
116 | 116 |
( draw ) #01 .Screen/sprite DEO |
117 | 117 |
( incr ) SWP #01 ADD SWP |
... | ... |
@@ -8,6 +8,7 @@ |
8 | 8 |
%2** { #10 SFT2 } %2// { #01 SFT2 } |
9 | 9 |
%4** { #20 SFT2 } %4// { #02 SFT2 } |
10 | 10 |
%8** { #30 SFT2 } %8// { #03 SFT2 } |
11 |
+%10** { #40 SFT2 } |
|
11 | 12 |
|
12 | 13 |
%TOB { NIP } %TOS { #00 SWP } |
13 | 14 |
%RTN { JMP2r } |
... | ... |
@@ -135,7 +136,7 @@ |
135 | 136 |
&draw-pads |
136 | 137 |
( load sample ) |
137 | 138 |
OVR TOS #0019 ** ;pad-path ++ .File/name DEO2 |
138 |
- OVR #04 / #10 * .Audio0/length + DEI2 .File/length DEO2 |
|
139 |
+ OVR #04 / #40 SFT .Audio0/length + DEI2 .File/length DEO2 |
|
139 | 140 |
OVR TOS 2** ;pad-addr ++ LDA2 .File/load DEO2 |
140 | 141 |
( draw pad ) |
141 | 142 |
OVR #01 ;draw-pad JSR2 |
... | ... |
@@ -163,7 +164,7 @@ BRK |
163 | 164 |
OVR STH |
164 | 165 |
( x ) .mix-view/x1 LDZ2 #0074 ++ |
165 | 166 |
( y ) .mix-view/y1 LDZ2 PAD-HEIGHT STHkr TOS ** ++ #0002 ++ |
166 |
- ( output ) .Audio0/output STHr #10 * + DEI |
|
167 |
+ ( output ) .Audio0/output STHr #40 SFT + DEI |
|
167 | 168 |
;draw-monitor JSR2 |
168 | 169 |
( incr ) SWP #01 + SWP |
169 | 170 |
LTHk ,&loop JCN |
... | ... |
@@ -219,7 +220,7 @@ BRK |
219 | 220 |
@on-touch-pad ( -> ) |
220 | 221 |
|
221 | 222 |
( x ) .Mouse/x DEI2 .pad-view/x1 LDZ2 -- PAD-WIDTH // TOB |
222 |
- ( y ) .Mouse/y DEI2 .pad-view/y1 LDZ2 -- PAD-HEIGHT // TOB #04 * + |
|
223 |
+ ( y ) .Mouse/y DEI2 .pad-view/y1 LDZ2 -- PAD-HEIGHT // TOB #20 SFT + |
|
223 | 224 |
|
224 | 225 |
DUP SWP ;play-pad JSR2 |
225 | 226 |
|
... | ... |
@@ -235,21 +236,21 @@ BRK |
235 | 236 |
( knob ) .Mouse/x DEI2 .mix-view/x1 LDZ2 -- #0010 // TOB |
236 | 237 |
( adsr ) |
237 | 238 |
DUP #00 ! ,&no-a JCN |
238 |
- .Audio0/adsr [ STHkr #10 * + ] DEI |
|
239 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEI |
|
239 | 240 |
#10 .Mouse/state DEI #10 = #e0 * + + |
240 |
- .Audio0/adsr [ STHkr #10 * + ] DEO &no-a |
|
241 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEO &no-a |
|
241 | 242 |
DUP #01 ! ,&no-d JCN |
242 |
- .Audio0/adsr [ STHkr #10 * + ] DEI |
|
243 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEI |
|
243 | 244 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr + |
244 |
- .Audio0/adsr [ STHkr #10 * + ] DEO &no-d |
|
245 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEO &no-d |
|
245 | 246 |
DUP #02 ! ,&no-s JCN |
246 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEI |
|
247 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEI |
|
247 | 248 |
#10 .Mouse/state DEI #10 = #e0 * + + |
248 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEO &no-s |
|
249 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEO &no-s |
|
249 | 250 |
DUP #03 ! ,&no-r JCN |
250 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEI |
|
251 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEI |
|
251 | 252 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr + |
252 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEO &no-r |
|
253 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEO &no-r |
|
253 | 254 |
( modes ) |
254 | 255 |
DUP #04 ! ,&no-repeat JCN |
255 | 256 |
.modes [ STHkr + ] LDZ |
... | ... |
@@ -257,13 +258,13 @@ BRK |
257 | 258 |
.modes [ STHkr + ] STZ &no-repeat |
258 | 259 |
( volume ) |
259 | 260 |
DUP #05 ! ,&no-left JCN |
260 |
- .Audio0/volume [ STHkr #10 * + ] DEI |
|
261 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEI |
|
261 | 262 |
#10 .Mouse/state DEI #10 = #e0 * + + |
262 |
- .Audio0/volume [ STHkr #10 * + ] DEO &no-left |
|
263 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEO &no-left |
|
263 | 264 |
DUP #06 ! ,&no-right JCN |
264 |
- .Audio0/volume [ STHkr #10 * + ] DEI |
|
265 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEI |
|
265 | 266 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 = #0e * + + #0f AND STHr + |
266 |
- .Audio0/volume [ STHkr #10 * + ] DEO &no-right |
|
267 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEO &no-right |
|
267 | 268 |
POP |
268 | 269 |
|
269 | 270 |
( release ) #00 .Mouse/state DEO |
... | ... |
@@ -311,11 +312,11 @@ BRK |
311 | 312 |
DUP #02 ;draw-pad JSR2 |
312 | 313 |
( addr ) |
313 | 314 |
DUP TOS 2** ;pad-addr ++ LDA2 STH2 |
314 |
- DUP #04 / #10 * .Audio0/addr + STH2r ROT DEO2 |
|
315 |
+ DUP #04 / #40 SFT .Audio0/addr + STH2r ROT DEO2 |
|
315 | 316 |
( pitch ) |
316 | 317 |
DUP TOS ;pad-pitch ++ LDA STH |
317 |
- DUP #04 / .modes + LDZ #00 = #80 * STH ADDr |
|
318 |
- DUP #04 / #10 * .Audio0/pitch + STHr SWP DEO |
|
318 |
+ DUP #04 / .modes + LDZ #00 = #70 SFT STH ADDr |
|
319 |
+ DUP #04 / #40 SFT .Audio0/pitch + STHr SWP DEO |
|
319 | 320 |
#04 / ;draw-mixer JSR2 |
320 | 321 |
|
321 | 322 |
RTN |
... | ... |
@@ -323,7 +324,7 @@ RTN |
323 | 324 |
@draw-waveform ( pad -- ) |
324 | 325 |
|
325 | 326 |
( stash address ) |
326 |
- #02 * #00 SWP ;pad-addr ++ LDA2 STH2 |
|
327 |
+ DUP ADD #00 SWP ;pad-addr ++ LDA2 STH2 |
|
327 | 328 |
|
328 | 329 |
( clear ) |
329 | 330 |
.wav-view/x1 LDZ2 #0002 ++ |
... | ... |
@@ -342,7 +343,7 @@ RTN |
342 | 343 |
.wav-view/y1 LDZ2 #0010 ++ .Screen/y DEO2 |
343 | 344 |
#01 .Screen/pixel DEO |
344 | 345 |
&no-dot |
345 |
- OVR TOS #0010 ** [ DUP2r STH2r ] ++ LDA |
|
346 |
+ OVR TOS 10** [ DUP2r STH2r ] ++ LDA |
|
346 | 347 |
#02 / |
347 | 348 |
TOS 4// .wav-view/y1 LDZ2 ++ .Screen/y DEO2 |
348 | 349 |
.Screen/x DEI2 #0001 ++ .Screen/x DEO2 |
... | ... |
@@ -360,21 +361,21 @@ RTN |
360 | 361 |
|
361 | 362 |
( adsr ) |
362 | 363 |
DUP2 .mix-view/x1 LDZ2 SWP2 |
363 |
- .Audio0/adsr [ STHkr #10 * + ] DEI #04 SFT ;draw-knob JSR2 |
|
364 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEI #04 SFT ;draw-knob JSR2 |
|
364 | 365 |
DUP2 .mix-view/x1 LDZ2 #0010 ++ SWP2 |
365 |
- .Audio0/adsr [ STHkr #10 * + ] DEI #0f AND ;draw-knob JSR2 |
|
366 |
+ .Audio0/adsr [ STHkr #40 SFT + ] DEI #0f AND ;draw-knob JSR2 |
|
366 | 367 |
DUP2 .mix-view/x1 LDZ2 #0020 ++ SWP2 |
367 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEI #04 SFT ;draw-knob JSR2 |
|
368 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEI #04 SFT ;draw-knob JSR2 |
|
368 | 369 |
DUP2 .mix-view/x1 LDZ2 #0030 ++ SWP2 |
369 |
- .Audio0/adsr [ STHkr #10 * + ] #01 + DEI #0f AND ;draw-knob JSR2 |
|
370 |
+ .Audio0/adsr [ STHkr #40 SFT + ] #01 + DEI #0f AND ;draw-knob JSR2 |
|
370 | 371 |
( once/repeat ) |
371 | 372 |
DUP2 .mix-view/x1 LDZ2 #0040 ++ SWP2 |
372 | 373 |
.modes [ STHkr + ] LDZ ;draw-switch JSR2 |
373 | 374 |
( volume ) |
374 | 375 |
DUP2 .mix-view/x1 LDZ2 #0050 ++ SWP2 |
375 |
- .Audio0/volume [ STHkr #10 * + ] DEI #04 SFT ;draw-knob JSR2 |
|
376 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEI #04 SFT ;draw-knob JSR2 |
|
376 | 377 |
DUP2 .mix-view/x1 LDZ2 #0060 ++ SWP2 |
377 |
- .Audio0/volume [ STHkr #10 * + ] DEI #0f AND ;draw-knob JSR2 |
|
378 |
+ .Audio0/volume [ STHkr #40 SFT + ] DEI #0f AND ;draw-knob JSR2 |
|
378 | 379 |
POP2 |
379 | 380 |
POPr |
380 | 381 |
|
... | ... |
@@ -520,7 +521,7 @@ RTN |
520 | 521 |
( draw ) #01 .Screen/sprite DEO |
521 | 522 |
.Screen/x DEI2 #0004 ++ .Screen/x DEO2 |
522 | 523 |
.Screen/y DEI2 #0008 ++ .Screen/y DEO2 |
523 |
- ;font-hex #00 STHkr #08 * ++ .Screen/addr DEO2 |
|
524 |
+ ;font-hex #00 STHkr #30 SFT ++ .Screen/addr DEO2 |
|
524 | 525 |
( draw ) #01 .Screen/sprite DEO |
525 | 526 |
.Screen/x DEI2 #0004 -- #00 #00 STHkr ;knob-offsetx ++ LDA ++ .Screen/x DEO2 |
526 | 527 |
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2 |
... | ... |
@@ -532,7 +533,7 @@ RTN |
532 | 533 |
@draw-switch ( x* y* value -- ) |
533 | 534 |
|
534 | 535 |
STH .Screen/y DEO2 .Screen/x DEO2 |
535 |
- STHkr #20 * #00 SWP ;switch-icns ++ |
|
536 |
+ STHkr #50 SFT #00 SWP ;switch-icns ++ |
|
536 | 537 |
DUP2 .Screen/addr DEO2 |
537 | 538 |
( draw ) #01 STHkr + .Screen/sprite DEO |
538 | 539 |
.Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
... | ... |
@@ -62,7 +62,7 @@ BRK |
62 | 62 |
( move down ) STH OVR2 .Screen/x DEO2 STHr |
63 | 63 |
( incr y ) .Screen/y DEI2 #0010 ++ .Screen/y DEO2 |
64 | 64 |
POP ,&continue JMP &no-linebreak |
65 |
- ( get addr ) STHk TOS #0008 ** ;font-data #0100 ++ ++ .Screen/addr DEO2 |
|
65 |
+ ( get addr ) STHk TOS #30 SFT2 ;font-data #0100 ++ ++ .Screen/addr DEO2 |
|
66 | 66 |
( get width ) STHr TOS ;font-data ++ LDA TOS |
67 | 67 |
( draw ) STHkr .Screen/sprite DEO |
68 | 68 |
( use width ) .Screen/x DEI2 ++ .Screen/x DEO2 |
... | ... |
@@ -93,7 +93,7 @@ RTN |
93 | 93 |
|
94 | 94 |
&sprite ( char color -- ) |
95 | 95 |
STH |
96 |
- ( get addr ) STHk TOS #0020 ** ;font-data #0100 ++ ++ .Screen/addr DEO2 |
|
96 |
+ ( get addr ) STHk TOS #50 SFT2 ;font-data #0100 ++ ++ .Screen/addr DEO2 |
|
97 | 97 |
( get width ) STHkr TOS ;font-data ++ LDA TOS |
98 | 98 |
SWPr |
99 | 99 |
( left-top ) STHkr .Screen/sprite DEO |
... | ... |
@@ -160,8 +160,8 @@ RTN |
160 | 160 |
|
161 | 161 |
.Mouse/state DEI #00 ! #01 JCN [ BRK ] |
162 | 162 |
|
163 |
- .Mouse/x DEI2 DUP2 .anchor/x LDZ2 >> ROT ROT .anchor/x LDZ2 WIDTH #02 * TOS ++ #0001 ++ << #0101 == |
|
164 |
- .Mouse/y DEI2 DUP2 .anchor/y LDZ2 >> ROT ROT .anchor/y LDZ2 HEIGHT #02 * TOS ++ << #0101 == |
|
163 |
+ .Mouse/x DEI2 DUP2 .anchor/x LDZ2 >> ROT ROT .anchor/x LDZ2 WIDTH DUP ADD TOS ++ #0001 ++ << #0101 == |
|
164 |
+ .Mouse/y DEI2 DUP2 .anchor/y LDZ2 >> ROT ROT .anchor/y LDZ2 HEIGHT DUP ADD TOS ++ << #0101 == |
|
165 | 165 |
#0101 == #01 JCN [ BRK ] |
166 | 166 |
|
167 | 167 |
.Mouse/x DEI2 .anchor/x LDZ2 SUB2 #02 / TOB |
... | ... |
@@ -190,7 +190,7 @@ BRK |
190 | 190 |
|
191 | 191 |
( draw cell count ) |
192 | 192 |
.anchor/x LDZ2 .Screen/x DEO2 |
193 |
- .anchor/y LDZ2 HEIGHT #02 * TOS ++ .Screen/y DEO2 |
|
193 |
+ .anchor/y LDZ2 HEIGHT DUP ADD TOS ++ .Screen/y DEO2 |
|
194 | 194 |
.world/count LDZ2 #03 ;draw-short JSR2 |
195 | 195 |
|
196 | 196 |
HEIGHT #00 |
... | ... |
@@ -159,29 +159,29 @@ BRK |
159 | 159 |
|
160 | 160 |
.Mouse/x DEI2 .ctlframe/x1 LDZ2 SUB2 8-- 8// NIP #02 DIV |
161 | 161 |
DUP ,&no-a JCN |
162 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEI |
|
162 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEI |
|
163 | 163 |
#10 .Mouse/state DEI #10 EQU #e0 MUL ADD ADD |
164 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEO &no-a |
|
164 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEO &no-a |
|
165 | 165 |
DUP #01 NEQ ,&no-d JCN |
166 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEI |
|
166 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEI |
|
167 | 167 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 EQU #0e MUL ADD ADD #0f AND STHr ADD |
168 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEO &no-d |
|
168 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEO &no-d |
|
169 | 169 |
DUP #02 NEQ ,&no-s JCN |
170 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEI |
|
170 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEI |
|
171 | 171 |
#10 .Mouse/state DEI #10 EQU #e0 MUL ADD ADD |
172 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEO &no-s |
|
172 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEO &no-s |
|
173 | 173 |
DUP #03 NEQ ,&no-r JCN |
174 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEI |
|
174 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEI |
|
175 | 175 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 EQU #0e MUL ADD ADD #0f AND STHr ADD |
176 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEO &no-r |
|
176 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEO &no-r |
|
177 | 177 |
DUP #05 NEQ ,&no-left JCN |
178 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEI |
|
178 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEI |
|
179 | 179 |
#10 .Mouse/state DEI #10 EQU #e0 MUL ADD ADD |
180 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEO &no-left |
|
180 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEO &no-left |
|
181 | 181 |
DUP #06 NEQ ,&no-right JCN |
182 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEI |
|
182 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEI |
|
183 | 183 |
DUP #f0 AND STH #01 .Mouse/state DEI #10 EQU #0e MUL ADD ADD #0f AND STHr ADD |
184 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEO &no-right |
|
184 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEO &no-right |
|
185 | 185 |
POP |
186 | 186 |
( release ) #00 .Mouse/state DEO |
187 | 187 |
;draw-controls JSR2 |
... | ... |
@@ -361,7 +361,7 @@ RTN |
361 | 361 |
#05 .Screen/sprite DEO |
362 | 362 |
.knob/x LDZ2 #0004 ADD2 .Screen/x DEO2 |
363 | 363 |
.knob/y LDZ2 #0010 ADD2 .Screen/y DEO2 |
364 |
- ;font_hex #00 .knob/value LDZ #08 MUL ADD2 .Screen/addr DEO2 |
|
364 |
+ ;font_hex #00 .knob/value LDZ #30 SFT ADD2 .Screen/addr DEO2 |
|
365 | 365 |
#01 .Screen/sprite DEO |
366 | 366 |
|
367 | 367 |
RTN |
... | ... |
@@ -386,31 +386,31 @@ RTN |
386 | 386 |
( env ) |
387 | 387 |
.ctlframe/x1 LDZ2 8++ .ctlframe/y1 LDZ2 8++ #02 ;env_txt ;draw-label JSR2 |
388 | 388 |
.ctlframe/x1 LDZ2 8++ .ctlframe/y1 LDZ2 #0010 ADD2 |
389 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEI #04 SFT |
|
389 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEI #04 SFT |
|
390 | 390 |
;draw-knob JSR2 |
391 | 391 |
.ctlframe/x1 LDZ2 #0018 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
392 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD DEI #0f AND |
|
392 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD DEI #0f AND |
|
393 | 393 |
;draw-knob JSR2 |
394 | 394 |
.ctlframe/x1 LDZ2 #0028 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
395 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEI #04 SFT |
|
395 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEI #04 SFT |
|
396 | 396 |
;draw-knob JSR2 |
397 | 397 |
.ctlframe/x1 LDZ2 #0038 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
398 |
- .Audio0/adsr .track/active LDZ #10 MUL ADD #01 ADD DEI #0f AND |
|
398 |
+ .Audio0/adsr .track/active LDZ #40 SFT ADD #01 ADD DEI #0f AND |
|
399 | 399 |
;draw-knob JSR2 |
400 | 400 |
( vol ) |
401 | 401 |
.ctlframe/x1 LDZ2 #0058 ADD2 .ctlframe/y1 LDZ2 8++ #02 ;vol_txt ;draw-label JSR2 |
402 | 402 |
.ctlframe/x1 LDZ2 #0058 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
403 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEI #04 SFT |
|
403 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEI #04 SFT |
|
404 | 404 |
;draw-knob/force JSR2 |
405 | 405 |
.ctlframe/x1 LDZ2 #0068 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
406 |
- .Audio0/volume .track/active LDZ #10 MUL ADD DEI #0f AND |
|
406 |
+ .Audio0/volume .track/active LDZ #40 SFT ADD DEI #0f AND |
|
407 | 407 |
;draw-knob/force JSR2 |
408 | 408 |
|
409 | 409 |
RTN |
410 | 410 |
|
411 | 411 |
@draw-vu ( -- ) |
412 | 412 |
.ctlframe/x1 LDZ2 #0088 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
413 |
- .Audio0/output .track/active LDZ #10 MUL ADD DEI DUP STH #04 SFT |
|
413 |
+ .Audio0/output .track/active LDZ #40 SFT ADD DEI DUP STH #04 SFT |
|
414 | 414 |
;draw-knob/force JSR2 |
415 | 415 |
.ctlframe/x1 LDZ2 #0098 ADD2 .ctlframe/y1 LDZ2 #0010 ADD2 |
416 | 416 |
STHr #0f AND |
... | ... |
@@ -359,7 +359,7 @@ RTN |
359 | 359 |
.Screen/x DEI2 #0001 ++ .Screen/x DEO2 |
360 | 360 |
( draw ) DUP |
361 | 361 |
.Audio0/length DEI2 NIP > |
362 |
- .Audio0/length DEI2 #0100 !! #0101 == #02 * #01 + .Screen/pixel DEO |
|
362 |
+ .Audio0/length DEI2 #0100 !! #0101 == DUP ADD #01 + .Screen/pixel DEO |
|
363 | 363 |
#01 + GTHk ,&loop JCN |
364 | 364 |
POP2 |
365 | 365 |
|
... | ... |
@@ -402,7 +402,7 @@ RTN |
402 | 402 |
( draw ) #01 .Screen/sprite DEO |
403 | 403 |
.Screen/x DEI2 #0004 ++ .Screen/x DEO2 |
404 | 404 |
.Screen/y DEI2 #0008 ++ .Screen/y DEO2 |
405 |
- ;font-hex #00 STHkr #08 * ++ .Screen/addr DEO2 |
|
405 |
+ ;font-hex #00 STHkr #30 SFT ++ .Screen/addr DEO2 |
|
406 | 406 |
( draw ) #01 .Screen/sprite DEO |
407 | 407 |
.Screen/x DEI2 #0004 -- #00 #00 STHkr ;knob-offsetx ++ LDA ++ .Screen/x DEO2 |
408 | 408 |
.Screen/y DEI2 #0010 -- #00 #00 STHr ;knob-offsety ++ LDA ++ .Screen/y DEO2 |
... | ... |
@@ -29,7 +29,7 @@ |
29 | 29 |
|
30 | 30 |
( find center ) |
31 | 31 |
.Screen/width DEI2 2// #0008 SUB2 .cat/x STZ2 |
32 |
- .Screen/height DEI2 4// #0003 MUL2 #0018 SUB2 .cat/y STZ2 |
|
32 |
+ .Screen/height DEI2 4// DUP2k ADD2 ADD2 #0018 SUB2 .cat/y STZ2 |
|
33 | 33 |
|
34 | 34 |
( vectors ) |
35 | 35 |
;on-mouse .Mouse/vector DEO2 |
... | ... |
@@ -44,8 +44,8 @@ BRK |
44 | 44 |
|
45 | 45 |
;draw-cursor JSR2 |
46 | 46 |
|
47 |
- .Mouse/x DEI2 .cat/x LDZ2 GTH2 #20 MUL |
|
48 |
- .Mouse/y DEI2 .cat/y LDZ2 GTH2 #40 MUL |
|
47 |
+ .Mouse/x DEI2 .cat/x LDZ2 GTH2 #50 SFT |
|
48 |
+ .Mouse/y DEI2 .cat/y LDZ2 GTH2 #60 SFT |
|
49 | 49 |
ADD #00 SWP ;draw-eye JSR2 |
50 | 50 |
|
51 | 51 |
BRK |
... | ... |
@@ -98,7 +98,7 @@ RTN |
98 | 98 |
;body .Screen/addr DEO2 |
99 | 99 |
( draw ) #81 .Screen/sprite DEO |
100 | 100 |
STH2r .Screen/x DEO2 |
101 |
- #0010 MUL2 ;body #0010 ADD2 ADD2 .Screen/addr DEO2 |
|
101 |
+ #40 SFT2 ;body #0010 ADD2 ADD2 .Screen/addr DEO2 |
|
102 | 102 |
( draw ) #81 .Screen/sprite DEO |
103 | 103 |
|
104 | 104 |
RTN |
... | ... |
@@ -147,7 +147,7 @@ RTN |
147 | 147 |
#0010 .Screen/y DEO2 |
148 | 148 |
#00 #08 |
149 | 149 |
&draw-pixel1 |
150 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
150 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
151 | 151 |
( draw ) OVR .Screen/pixel DEO |
152 | 152 |
( incr ) SWP #01 ADD SWP |
153 | 153 |
LTHk ,&draw-pixel1 JCN |
... | ... |
@@ -155,7 +155,7 @@ RTN |
155 | 155 |
#0018 .Screen/y DEO2 |
156 | 156 |
#00 #08 |
157 | 157 |
&draw-pixel2 |
158 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
158 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
159 | 159 |
( draw ) OVR #08 ADD .Screen/pixel DEO |
160 | 160 |
( incr ) SWP #01 ADD SWP |
161 | 161 |
LTHk ,&draw-pixel2 JCN |
... | ... |
@@ -163,7 +163,7 @@ RTN |
163 | 163 |
#0020 .Screen/y DEO2 |
164 | 164 |
#00 #08 |
165 | 165 |
&draw-icn1 |
166 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
166 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
167 | 167 |
( draw ) OVR #00 ADD .Screen/sprite DEO |
168 | 168 |
( incr ) SWP #01 ADD SWP |
169 | 169 |
LTHk ,&draw-icn1 JCN |
... | ... |
@@ -171,7 +171,7 @@ RTN |
171 | 171 |
#0028 .Screen/y DEO2 |
172 | 172 |
#00 #08 |
173 | 173 |
&draw-icn2 |
174 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
174 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
175 | 175 |
( draw ) OVR #08 ADD .Screen/sprite DEO |
176 | 176 |
( incr ) SWP #01 ADD SWP |
177 | 177 |
LTHk ,&draw-icn2 JCN |
... | ... |
@@ -179,7 +179,7 @@ RTN |
179 | 179 |
#0030 .Screen/y DEO2 |
180 | 180 |
#00 #08 |
181 | 181 |
&draw-chr1 |
182 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
182 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
183 | 183 |
( draw ) OVR #80 ADD .Screen/sprite DEO |
184 | 184 |
( incr ) SWP #01 ADD SWP |
185 | 185 |
LTHk ,&draw-chr1 JCN |
... | ... |
@@ -187,7 +187,7 @@ RTN |
187 | 187 |
#0038 .Screen/y DEO2 |
188 | 188 |
#00 #08 |
189 | 189 |
&draw-chr2 |
190 |
- ( move ) OVR #08 MUL #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
190 |
+ ( move ) OVR #30 SFT #00 SWP #0010 ADD2 .Screen/x DEO2 |
|
191 | 191 |
( draw ) OVR #88 ADD .Screen/sprite DEO |
192 | 192 |
( incr ) SWP #01 ADD SWP |
193 | 193 |
LTHk ,&draw-chr2 JCN |
... | ... |
@@ -253,7 +253,7 @@ RTN |
253 | 253 |
.Mouse/x DEI2 DUP2 .pointer/x STZ2 .Screen/x DEO2 |
254 | 254 |
.Mouse/y DEI2 DUP2 .pointer/y STZ2 .Screen/y DEO2 |
255 | 255 |
|
256 |
- #43 .Mouse/state DEI #00 NEQ #02 MUL SUB .Screen/sprite DEO |
|
256 |
+ #43 .Mouse/state DEI #00 NEQ DUP ADD SUB .Screen/sprite DEO |
|
257 | 257 |
|
258 | 258 |
RTN |
259 | 259 |
|
... | ... |
@@ -1,8 +1,8 @@ |
1 | 1 |
( dev/controller/keys ) |
2 | 2 |
|
3 |
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV } |
|
3 |
+%+ { ADD } %- { SUB } %/ { DIV } |
|
4 | 4 |
%< { LTH } %> { GTH } %= { EQU } %! { NEQ } |
5 |
-%++ { ADD2 } %-- { SUB2 } %** { MUL2 } %// { DIV2 } |
|
5 |
+%++ { ADD2 } %-- { SUB2 } %// { DIV2 } |
|
6 | 6 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
7 | 7 |
|
8 | 8 |
%RTN { JMP2r } |
... | ... |
@@ -77,17 +77,17 @@ BRK |
77 | 77 |
.frame/x0 LDZ2 #0010 ++ .Screen/x DEO2 |
78 | 78 |
.frame/y0 LDZ2 #0010 ++ .Screen/y DEO2 |
79 | 79 |
;controller-icn/dpad-up .Screen/addr DEO2 |
80 |
- #03 [ STHkr #04 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
80 |
+ #03 [ STHkr #04 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
81 | 81 |
.Screen/y DEI2 #0010 ++ .Screen/y DEO2 |
82 | 82 |
;controller-icn/dpad-down .Screen/addr DEO2 |
83 |
- #03 [ STHkr #05 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
83 |
+ #03 [ STHkr #05 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
84 | 84 |
.Screen/y DEI2 #0008 -- .Screen/y DEO2 |
85 | 85 |
.Screen/x DEI2 #0008 -- .Screen/x DEO2 |
86 | 86 |
;controller-icn/dpad-left .Screen/addr DEO2 |
87 |
- #03 [ STHkr #06 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
87 |
+ #03 [ STHkr #06 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
88 | 88 |
.Screen/x DEI2 #0010 ++ .Screen/x DEO2 |
89 | 89 |
;controller-icn/dpad-right .Screen/addr DEO2 |
90 |
- #03 [ STHkr #07 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
90 |
+ #03 [ STHkr #07 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
91 | 91 |
.Screen/x DEI2 #0008 -- .Screen/x DEO2 |
92 | 92 |
;controller-icn/dpad .Screen/addr DEO2 |
93 | 93 |
#03 .Screen/sprite DEO |
... | ... |
@@ -96,10 +96,10 @@ BRK |
96 | 96 |
.center/y LDZ2 #0009 ++ .Screen/y DEO2 |
97 | 97 |
.center/x LDZ2 #0009 -- .Screen/x DEO2 |
98 | 98 |
;controller-icn/option .Screen/addr DEO2 |
99 |
- #03 [ STHkr #02 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
99 |
+ #03 [ STHkr #02 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
100 | 100 |
.center/x LDZ2 #0004 ++ .Screen/x DEO2 |
101 | 101 |
;controller-icn/option .Screen/addr DEO2 |
102 |
- #03 [ STHkr #03 SFT #01 AND #02 * - ] .Screen/sprite DEO |
|
102 |
+ #03 [ STHkr #03 SFT #01 AND DUP + - ] .Screen/sprite DEO |
|
103 | 103 |
|
104 | 104 |
( buttons ) |
105 | 105 |
.center/y LDZ2 #0000 ++ .Screen/y DEO2 |
... | ... |
@@ -107,7 +107,7 @@ BRK |
107 | 107 |
;controller-icn/button .Screen/addr DEO2 |
108 | 108 |
#03 [ STHkr #01 SFT #01 AND - ] .Screen/sprite DEO |
109 | 109 |
.Screen/y DEI2 #000a ++ .Screen/y DEO2 |
110 |
- ;font-hex #000b #0008 ** ++ .Screen/addr DEO2 |
|
110 |
+ ;font-hex #000b #30 SFT2 ++ .Screen/addr DEO2 |
|
111 | 111 |
#03 .Screen/sprite DEO |
112 | 112 |
|
113 | 113 |
.center/y LDZ2 #0000 ++ .Screen/y DEO2 |
... | ... |
@@ -115,7 +115,7 @@ BRK |
115 | 115 |
;controller-icn/button .Screen/addr DEO2 |
116 | 116 |
#03 [ STHr #01 AND - ] .Screen/sprite DEO |
117 | 117 |
.Screen/y DEI2 #000a ++ .Screen/y DEO2 |
118 |
- ;font-hex #000a #0008 ** ++ .Screen/addr DEO2 |
|
118 |
+ ;font-hex #000a #30 SFT2 ++ .Screen/addr DEO2 |
|
119 | 119 |
#03 .Screen/sprite DEO |
120 | 120 |
|
121 | 121 |
.center/x LDZ2 #0010 -- .Screen/x DEO2 |
... | ... |
@@ -129,15 +129,15 @@ RTN |
129 | 129 |
@draw-short ( short* color -- ) |
130 | 130 |
|
131 | 131 |
STH SWP |
132 |
- DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2 |
|
132 |
+ DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
133 | 133 |
( draw ) STHkr .Screen/sprite DEO |
134 |
- #0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2 |
|
134 |
+ #0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
135 | 135 |
.Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
136 | 136 |
( draw ) STHkr .Screen/sprite DEO |
137 |
- DUP #04 SFT TOS #0008 ** ;font-hex ++ .Screen/addr DEO2 |
|
137 |
+ DUP #04 SFT TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
138 | 138 |
.Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
139 | 139 |
( draw ) STHkr .Screen/sprite DEO |
140 |
- #0f AND TOS #0008 ** ;font-hex ++ .Screen/addr DEO2 |
|
140 |
+ #0f AND TOS #30 SFT2 ;font-hex ++ .Screen/addr DEO2 |
|
141 | 141 |
.Screen/x DEI2 #0008 ++ .Screen/x DEO2 |
142 | 142 |
( draw ) STHr .Screen/sprite DEO |
143 | 143 |
|
... | ... |
@@ -6,7 +6,7 @@ |
6 | 6 |
|
7 | 7 |
%RTN { JMP2r } |
8 | 8 |
%MOD { DUP2 DIV MUL SUB } |
9 |
-%ABS2 { DUP2 #0f SFT2 EQU #04 JCN #ffff MUL2 } |
|
9 |
+%ABS2 { DUP2 #0f SFT2 EQU #05 JCN #0000 SWP2 SUB2 } |
|
10 | 10 |
%SCALEX { 2// .Screen/width DEI2 2// ADD2 #0040 SUB2 } |
11 | 11 |
%SCALEY { 2// .Screen/height DEI2 2// ADD2 #0040 SUB2 } |
12 | 12 |
%12HOURS { DUP #0c GTH #0c MUL SUB } |
... | ... |
@@ -59,8 +59,8 @@ BRK |
59 | 59 |
#00 SWP SCALEY .needles/sy STZ2 |
60 | 60 |
#00 SWP SCALEX .needles/sx STZ2 |
61 | 61 |
#00 .DateTime/minute DEI 2** ;table ADD2 LDA2 |
62 |
- #00 SWP 4// #0003 MUL2 #0020 ADD2 SCALEY .needles/my STZ2 |
|
63 |
- #00 SWP 4// #0003 MUL2 #0020 ADD2 SCALEX .needles/mx STZ2 |
|
62 |
+ #00 SWP 4// DUP2k ADD2 ADD2 #0020 ADD2 SCALEY .needles/my STZ2 |
|
63 |
+ #00 SWP 4// DUP2k ADD2 ADD2 #0020 ADD2 SCALEX .needles/mx STZ2 |
|
64 | 64 |
#00 .DateTime/hour DEI 12HOURS #05 MUL 2** ;table ADD2 LDA2 |
65 | 65 |
#00 SWP 2// #0040 ADD2 SCALEY .needles/hy STZ2 |
66 | 66 |
#00 SWP 2// #0040 ADD2 SCALEX .needles/hx STZ2 |
... | ... |
@@ -90,22 +90,22 @@ BRK |
90 | 90 |
.Screen/height DEI2 2// #0048 ADD2 .Screen/y DEO2 |
91 | 91 |
.Screen/width DEI2 2// |
92 | 92 |
DUP2 #0020 SUB2 .Screen/x DEO2 |
93 |
- ;font-hex #00 .DateTime/hour DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2 |
|
93 |
+ ;font-hex #00 .DateTime/hour DEI #0a DIV #30 SFT ADD2 .Screen/addr DEO2 |
|
94 | 94 |
#02 .Screen/sprite DEO |
95 | 95 |
DUP2 #0018 SUB2 .Screen/x DEO2 |
96 |
- ;font-hex #00 .DateTime/hour DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2 |
|
96 |
+ ;font-hex #00 .DateTime/hour DEI #0a MOD #30 SFT ADD2 .Screen/addr DEO2 |
|
97 | 97 |
#02 .Screen/sprite DEO |
98 | 98 |
DUP2 #0008 SUB2 .Screen/x DEO2 |
99 |
- ;font-hex #00 .DateTime/minute DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2 |
|
99 |
+ ;font-hex #00 .DateTime/minute DEI #0a DIV #30 SFT ADD2 .Screen/addr DEO2 |
|
100 | 100 |
#02 .Screen/sprite DEO |
101 | 101 |
DUP2 .Screen/x DEO2 |
102 |
- ;font-hex #00 .DateTime/minute DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2 |
|
102 |
+ ;font-hex #00 .DateTime/minute DEI #0a MOD #30 SFT ADD2 .Screen/addr DEO2 |
|
103 | 103 |
#02 .Screen/sprite DEO |
104 | 104 |
DUP2 #0010 ADD2 .Screen/x DEO2 |
105 |
- ;font-hex #00 .DateTime/second DEI #0a DIV #08 MUL ADD2 .Screen/addr DEO2 |
|
105 |
+ ;font-hex #00 .DateTime/second DEI #0a DIV #30 SFT ADD2 .Screen/addr DEO2 |
|
106 | 106 |
#02 .Screen/sprite DEO |
107 | 107 |
DUP2 #0018 ADD2 .Screen/x DEO2 |
108 |
- ;font-hex #00 .DateTime/second DEI #0a MOD #08 MUL ADD2 .Screen/addr DEO2 |
|
108 |
+ ;font-hex #00 .DateTime/second DEI #0a MOD #30 SFT ADD2 .Screen/addr DEO2 |
|
109 | 109 |
#02 .Screen/sprite DEO |
110 | 110 |
POP2 |
111 | 111 |
|
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
( dev/mouse ) |
2 | 2 |
|
3 | 3 |
%RTN { JMP2r } |
4 |
-%ABS2 { DUP2 #0f SFT2 EQU #04 JCN #ffff MUL2 } |
|
4 |
+%ABS2 { DUP2 #0f SFT2 EQU #05 JCN #0000 SWP2 SUB2 } |
|
5 | 5 |
%LTS2 { #8000 ADD2 SWP2 #8000 ADD2 GTH2 } |
6 | 6 |
%GTS2 { #8000 ADD2 SWP2 #8000 ADD2 LTH2 } |
7 | 7 |
%2** { #10 SFT2 } |
... | ... |
@@ -61,7 +61,7 @@ BRK |
61 | 61 |
.pointer/lasty LDZ2 |
62 | 62 |
.pointer/x LDZ2 |
63 | 63 |
.pointer/y LDZ2 |
64 |
- #01 [ .Mouse/state DEI #10 EQU #02 MUL ADD ] |
|
64 |
+ #01 [ .Mouse/state DEI #10 EQU DUP ADD ADD ] |
|
65 | 65 |
;draw-line JSR2 |
66 | 66 |
|
67 | 67 |
( record last position ) |
... | ... |
@@ -86,7 +86,7 @@ BRK |
86 | 86 |
( draw new cursor ) |
87 | 87 |
.pointer/x LDZ2 .Screen/x DEO2 |
88 | 88 |
.pointer/y LDZ2 .Screen/y DEO2 |
89 |
- #43 .Mouse/state DEI #00 NEQ #02 MUL SUB .Screen/sprite DEO |
|
89 |
+ #43 .Mouse/state DEI #00 NEQ DUP ADD SUB .Screen/sprite DEO |
|
90 | 90 |
|
91 | 91 |
RTN |
92 | 92 |
|
... | ... |
@@ -68,14 +68,14 @@ BRK |
68 | 68 |
|
69 | 69 |
#10 #00 |
70 | 70 |
&loop |
71 |
- DUP #08 MUL #00 SWP ;font-hex ADD2 .Screen/addr DEO2 |
|
71 |
+ DUP #30 SFT #00 SWP ;font-hex ADD2 .Screen/addr DEO2 |
|
72 | 72 |
( x-axis ) |
73 |
- DUP #08 MUL #00 SWP |
|
73 |
+ DUP #30 SFT #00 SWP |
|
74 | 74 |
.center/x LDZ2 #0040 SUB2 ADD2 .Screen/x DEO2 |
75 | 75 |
.center/y LDZ2 #0050 SUB2 .Screen/y DEO2 |
76 | 76 |
( draw ) #01 .Screen/sprite DEO |
77 | 77 |
( y-axis ) |
78 |
- DUP #08 MUL #00 SWP |
|
78 |
+ DUP #30 SFT #00 SWP |
|
79 | 79 |
.center/y LDZ2 #0040 SUB2 ADD2 .Screen/y DEO2 |
80 | 80 |
.center/x LDZ2 #0050 SUB2 .Screen/x DEO2 |
81 | 81 |
( draw ) #01 .Screen/sprite DEO |
... | ... |
@@ -104,9 +104,9 @@ RTN |
104 | 104 |
#10 #00 |
105 | 105 |
&loop |
106 | 106 |
( color ) STHk |
107 |
- ( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 |
|
107 |
+ ( y ) DUP #04 DIV [ #00 SWP ] #40 SFT2 |
|
108 | 108 |
[ .center/y LDZ2 #0040 SUB2 ADD2 ] STH2 |
109 |
- ( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 |
|
109 |
+ ( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ADD2 |
|
110 | 110 |
[ .center/x LDZ2 #0008 ADD2 ADD2 ] |
111 | 111 |
STH2r STHr #00 ;draw-circle JSR2 |
112 | 112 |
#01 ADD GTHk ,&loop JCN |
... | ... |
@@ -119,9 +119,9 @@ RTN |
119 | 119 |
#10 #00 |
120 | 120 |
&loop |
121 | 121 |
( color ) STHk |
122 |
- ( y ) DUP #04 DIV [ #00 SWP ] #0010 MUL2 |
|
122 |
+ ( y ) DUP #04 DIV [ #00 SWP ] #40 SFT2 |
|
123 | 123 |
[ .center/y LDZ2 ADD2 ] STH2 |
124 |
- ( x ) DUP #03 AND [ #00 SWP ] #0010 MUL2 #0040 ADD2 |
|
124 |
+ ( x ) DUP #03 AND [ #00 SWP ] #40 SFT2 #0040 ADD2 |
|
125 | 125 |
[ .center/x LDZ2 #0008 ADD2 ADD2 ] |
126 | 126 |
STH2r STHr #80 ;draw-circle JSR2 |
127 | 127 |
#01 ADD GTHk ,&loop JCN |
... | ... |
@@ -42,8 +42,8 @@ BRK |
42 | 42 |
( case: hit-top ) .dvd/y LDZ2 #0000 EQU2 |
43 | 43 |
#0000 EQU2 ,&no-flipy JCN |
44 | 44 |
.dvd/dy LDZ #00 EQU .dvd/dy STZ &no-flipy |
45 |
- ( incr ) .dvd/x LDZ2 #0001 #00 .dvd/dx LDZ #00 EQU #fffe MUL2 ADD2 ADD2 .dvd/x STZ2 |
|
46 |
- ( incr ) .dvd/y LDZ2 #0001 #00 .dvd/dy LDZ #00 EQU #fffe MUL2 ADD2 ADD2 .dvd/y STZ2 |
|
45 |
+ ( incr ) .dvd/x LDZ2 #0001 #00 .dvd/dx LDZ #00 EQU DUP2 ADD2 SUB2 ADD2 .dvd/x STZ2 |
|
46 |
+ ( incr ) .dvd/y LDZ2 #0001 #00 .dvd/dy LDZ #00 EQU DUP2 ADD2 SUB2 ADD2 .dvd/y STZ2 |
|
47 | 47 |
( draw ) #01 ;draw-dvd JSR2 |
48 | 48 |
|
49 | 49 |
BRK |