| ... | ... |
@@ -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 |