| ... | ... |
@@ -24,10 +24,10 @@ contexts: |
| 24 | 24 |
- match: '\.(\S+)\sPOK' |
| 25 | 25 |
scope: constant.numeric |
| 26 | 26 |
pop: true |
| 27 |
- - match: '\.(\S+)\sGET2' |
|
| 27 |
+ - match: '\.(\S+)\sLDA2' |
|
| 28 | 28 |
scope: constant.numeric |
| 29 | 29 |
pop: true |
| 30 |
- - match: '\.(\S+)\sGET' |
|
| 30 |
+ - match: '\.(\S+)\sLDA' |
|
| 31 | 31 |
scope: constant.numeric |
| 32 | 32 |
pop: true |
| 33 | 33 |
|
| ... | ... |
@@ -43,10 +43,10 @@ contexts: |
| 43 | 43 |
- match: '\.(\S+)\sPEK' |
| 44 | 44 |
scope: entity.name.type.typedef |
| 45 | 45 |
pop: true |
| 46 |
- - match: '\.(\S+)\sPUT2' |
|
| 46 |
+ - match: '\.(\S+)\sSTA2' |
|
| 47 | 47 |
scope: entity.name.type.typedef |
| 48 | 48 |
pop: true |
| 49 |
- - match: '\.(\S+)\sPUT' |
|
| 49 |
+ - match: '\.(\S+)\sSTA' |
|
| 50 | 50 |
scope: entity.name.type.typedef |
| 51 | 51 |
pop: true |
| 52 | 52 |
|
| ... | ... |
@@ -7,12 +7,12 @@ import P, R, S, C, Ct, Cp, V from require 'lpeg' |
| 7 | 7 |
local labels, filename |
| 8 | 8 |
|
| 9 | 9 |
opcode_translate = |
| 10 |
- PEK2: 'GET' |
|
| 11 |
- POK2: 'PUT' |
|
| 10 |
+ PEK2: 'LDA' |
|
| 11 |
+ POK2: 'STA' |
|
| 12 | 12 |
LDR: 'PEK2' |
| 13 | 13 |
STR: 'POK2' |
| 14 |
- LDR2: 'GET2' |
|
| 15 |
- STR2: 'PUT2' |
|
| 14 |
+ LDR2: 'LDA2' |
|
| 15 |
+ STR2: 'STA2' |
|
| 16 | 16 |
|
| 17 | 17 |
grammar = P {
|
| 18 | 18 |
'file' |
| ... | ... |
@@ -110,7 +110,7 @@ RTN |
| 110 | 110 |
&loop |
| 111 | 111 |
( save-x ) OVR #03 MOD TOS #0008 MUL2 .anchor/x PEK2 ADD2 .Screen/x DEO2 |
| 112 | 112 |
( save-y ) OVR #03 DIV TOS #0008 MUL2 .anchor/y PEK2 ADD2 .Screen/y DEO2 |
| 113 |
- ( get digit* ) OVR DUPr STHr #02 MUL TOS ;digits ADD2 GET2 |
|
| 113 |
+ ( get digit* ) OVR DUPr STHr #02 MUL TOS ;digits ADD2 LDA2 |
|
| 114 | 114 |
( get bit ) ROT #0e SWP SUB TOS SFT2 #0001 AND2 |
| 115 | 115 |
( set tile ) #0008 MUL2 ;tiles ADD2 |
| 116 | 116 |
( set style ) .style PEK #10 MUL TOS ADD2 |
| ... | ... |
@@ -35,7 +35,6 @@ |
| 35 | 35 |
|
| 36 | 36 |
|0000 |
| 37 | 37 |
|
| 38 |
-@selection $1 |
|
| 39 | 38 |
@last $1 |
| 40 | 39 |
@color $1 |
| 41 | 40 |
@center [ &x $2 &y $2 ] |
| ... | ... |
@@ -47,6 +46,7 @@ |
| 47 | 46 |
@pos [ &x $2 &y $2 ] |
| 48 | 47 |
@padview [ &x1 $2 &y1 $2 &x2 $2 &y2 $2 ] |
| 49 | 48 |
@mixview [ &x1 $2 &y1 $2 &x2 $2 &y2 $2 ] |
| 49 |
+@wavview [ &x1 $2 &y1 $2 &x2 $2 &y2 $2 ] |
|
| 50 | 50 |
|
| 51 | 51 |
@state [ ( addr length ) |
| 52 | 52 |
$4 $4 $4 $4 |
| ... | ... |
@@ -60,9 +60,9 @@ |
| 60 | 60 |
|0100 ( -> ) |
| 61 | 61 |
|
| 62 | 62 |
( theme ) |
| 63 |
- #0fe5 .System/r DEO2 |
|
| 64 |
- #0fc5 .System/g DEO2 |
|
| 65 |
- #0f25 .System/b DEO2 |
|
| 63 |
+ #0aff .System/r DEO2 |
|
| 64 |
+ #0af2 .System/g DEO2 |
|
| 65 |
+ #0af3 .System/b DEO2 |
|
| 66 | 66 |
|
| 67 | 67 |
( vectors ) |
| 68 | 68 |
;on-control .Controller/vector DEO2 |
| ... | ... |
@@ -82,11 +82,11 @@ |
| 82 | 82 |
.Screen/width DEI2 2/ .center/x POK2 |
| 83 | 83 |
.Screen/height DEI2 2/ .center/y POK2 |
| 84 | 84 |
|
| 85 |
- ( place views ) |
|
| 85 |
+ ( place frame ) |
|
| 86 | 86 |
.center/x PEK2 PAD-WIDTH #0003 MUL2 SUB2 #0010 SUB2 .frame/x1 POK2 |
| 87 |
- .center/y PEK2 PAD-HEIGHT 2* SUB2 .frame/y1 POK2 |
|
| 87 |
+ .center/y PEK2 #0050 SUB2 .frame/y1 POK2 |
|
| 88 | 88 |
.center/x PEK2 PAD-WIDTH #0003 MUL2 ADD2 #0010 ADD2 .frame/x2 POK2 |
| 89 |
- .center/y PEK2 PAD-HEIGHT 2* ADD2 .frame/y2 POK2 |
|
| 89 |
+ .frame/y1 PEK2 PAD-HEIGHT #0004 MUL2 ADD2 #0030 ADD2 .frame/y2 POK2 |
|
| 90 | 90 |
|
| 91 | 91 |
( place padview ) |
| 92 | 92 |
.frame/x1 PEK2 .padview/x1 POK2 |
| ... | ... |
@@ -100,6 +100,12 @@ |
| 100 | 100 |
.mixview/x1 PEK2 #0080 ADD2 .mixview/x2 POK2 |
| 101 | 101 |
.padview/y2 PEK2 .mixview/y2 POK2 |
| 102 | 102 |
|
| 103 |
+ ( place wavview ) |
|
| 104 |
+ .frame/x1 PEK2 .wavview/x1 POK2 |
|
| 105 |
+ .mixview/y2 PEK2 #0008 ADD2 .wavview/y1 POK2 |
|
| 106 |
+ .frame/x2 PEK2 .wavview/x2 POK2 |
|
| 107 |
+ .wavview/y1 PEK2 #0020 ADD2 .wavview/y2 POK2 |
|
| 108 |
+ |
|
| 103 | 109 |
;draw-pads JSR2 |
| 104 | 110 |
;draw-mixers JSR2 |
| 105 | 111 |
|
| ... | ... |
@@ -107,21 +113,14 @@ |
| 107 | 113 |
.frame/y1 PEK2 #0004 SUB2 |
| 108 | 114 |
.frame/x2 PEK2 #0002 ADD2 |
| 109 | 115 |
.frame/y2 PEK2 #0002 ADD2 |
| 110 |
- #03 |
|
| 111 |
- ;line-rect JSR2 |
|
| 112 |
- |
|
| 113 |
- .padview/x1 PEK2 #0002 SUB2 |
|
| 114 |
- .padview/y1 PEK2 #0002 SUB2 |
|
| 115 |
- .padview/x2 PEK2 |
|
| 116 |
- .padview/y2 PEK2 |
|
| 117 |
- #02 |
|
| 116 |
+ #01 |
|
| 118 | 117 |
;line-rect JSR2 |
| 119 | 118 |
|
| 120 |
- .mixview/x1 PEK2 #0002 ADD2 |
|
| 121 |
- .mixview/y1 PEK2 #0002 SUB2 |
|
| 122 |
- .mixview/x2 PEK2 |
|
| 123 |
- .mixview/y2 PEK2 |
|
| 124 |
- #02 |
|
| 119 |
+ .mixview/x1 PEK2 #0002 ADD2 |
|
| 120 |
+ .mixview/y1 PEK2 #0000 SUB2 |
|
| 121 |
+ .mixview/x2 PEK2 #0002 SUB2 |
|
| 122 |
+ .mixview/y2 PEK2 #0002 SUB2 |
|
| 123 |
+ #01 |
|
| 125 | 124 |
;line-rect JSR2 |
| 126 | 125 |
|
| 127 | 126 |
BRK |
| ... | ... |
@@ -172,7 +171,7 @@ BRK |
| 172 | 171 |
BRK |
| 173 | 172 |
&no-drum |
| 174 | 173 |
|
| 175 |
- ;pad-addr #0008 ADD2 GET2 .Audio0/addr DEO2 |
|
| 174 |
+ ;pad-addr #0008 ADD2 LDA2 .Audio0/addr DEO2 |
|
| 176 | 175 |
#0008 .Audio0/length DEO2 |
| 177 | 176 |
.Midi/note DEI .Audio0/pitch DEO |
| 178 | 177 |
|
| ... | ... |
@@ -205,14 +204,15 @@ BRK |
| 205 | 204 |
|
| 206 | 205 |
@on-touch-pad ( -> ) |
| 207 | 206 |
|
| 208 |
- |
|
| 209 | 207 |
( x ) .Mouse/x DEI2 .padview/x1 PEK2 SUB2 PAD-WIDTH DIV2 SWP POP |
| 210 | 208 |
( y ) .Mouse/y DEI2 .padview/y1 PEK2 SUB2 PAD-HEIGHT DIV2 SWP POP #04 MUL ADD |
| 211 |
- DUP #b0 SWP |
|
| 212 |
- ;play-pad JSR2 |
|
| 209 |
+ |
|
| 210 |
+ DUP #b0 SWP ;play-pad JSR2 |
|
| 213 | 211 |
|
| 214 |
- ( select ) DUP .selection POK ;draw-editor JSR2 |
|
| 212 |
+ DUP ;draw-editor JSR2 |
|
| 213 |
+ DUP ;draw-waveform JSR2 |
|
| 215 | 214 |
|
| 215 |
+ POP |
|
| 216 | 216 |
( release ) #00 .Mouse/state DEO |
| 217 | 217 |
|
| 218 | 218 |
BRK |
| ... | ... |
@@ -222,8 +222,8 @@ BRK |
| 222 | 222 |
#00 #10 |
| 223 | 223 |
&loop |
| 224 | 224 |
( name ) OVR TOS #0019 MUL2 ;pad-path ADD2 .File/name DEO2 |
| 225 |
- ( length ) OVR TOS #0002 MUL2 ;pad-length ADD2 GET2 .File/length DEO2 |
|
| 226 |
- ( load ) OVR TOS #0002 MUL2 ;pad-addr ADD2 GET2 .File/load DEO2 |
|
| 225 |
+ ( length ) OVR TOS #0002 MUL2 ;pad-length ADD2 LDA2 .File/length DEO2 |
|
| 226 |
+ ( load ) OVR TOS #0002 MUL2 ;pad-addr ADD2 LDA2 .File/load DEO2 |
|
| 227 | 227 |
( incr ) SWP #01 ADD SWP |
| 228 | 228 |
DUP2 LTH ,&loop JNZ |
| 229 | 229 |
POP2 |
| ... | ... |
@@ -241,11 +241,11 @@ RTN |
| 241 | 241 |
DUPr STHr #02 ;draw-pad JSR2 |
| 242 | 242 |
|
| 243 | 243 |
( length ) |
| 244 |
- DUPr STHr TOS #0002 MUL2 ;pad-addr ADD2 DUP2 GET2 SWP2 #0002 ADD2 GET2 SWP2 SUB2 |
|
| 244 |
+ DUPr STHr TOS #0002 MUL2 ;pad-addr ADD2 DUP2 LDA2 SWP2 #0002 ADD2 LDA2 SWP2 SUB2 |
|
| 245 | 245 |
DUPr STHr #04 DIV #10 MUL .Audio0/length ADD DEO2 |
| 246 | 246 |
|
| 247 | 247 |
( addr ) |
| 248 |
- DUPr STHr TOS #0002 MUL2 ;pad-addr ADD2 GET2 |
|
| 248 |
+ DUPr STHr TOS #0002 MUL2 ;pad-addr ADD2 LDA2 |
|
| 249 | 249 |
DUPr STHr #04 DIV #10 MUL .Audio0/addr ADD DEO2 |
| 250 | 250 |
|
| 251 | 251 |
( pitch ) |
| ... | ... |
@@ -257,6 +257,39 @@ RTN |
| 257 | 257 |
|
| 258 | 258 |
RTN |
| 259 | 259 |
|
| 260 |
+@draw-waveform ( pad -- ) |
|
| 261 |
+ |
|
| 262 |
+ #02 MUL #00 SWP ;pad-addr ADD2 LDA2 STH2 |
|
| 263 |
+ |
|
| 264 |
+ .wavview/x1 PEK2 |
|
| 265 |
+ .wavview/y1 PEK2 |
|
| 266 |
+ .wavview/x2 PEK2 ++ |
|
| 267 |
+ .wavview/y2 PEK2 |
|
| 268 |
+ #00 ;fill-rect JSR2 |
|
| 269 |
+ |
|
| 270 |
+ .wavview/x1 PEK2 .Screen/x DEO2 |
|
| 271 |
+ |
|
| 272 |
+ ( waveform ) |
|
| 273 |
+ #00 #ff |
|
| 274 |
+ &loop |
|
| 275 |
+ ( dotted line ) |
|
| 276 |
+ OVR #01 AND ,&no-dot JNZ |
|
| 277 |
+ .wavview/y1 PEK2 #0010 ADD2 .Screen/y DEO2 |
|
| 278 |
+ #03 .Screen/color DEO |
|
| 279 |
+ &no-dot |
|
| 280 |
+ OVR TOS #0010 MUL2 [ DUP2r STH2r ] ADD2 LDA |
|
| 281 |
+ #02 DIV #40 ADD DUP #07 SFT #80 MUL SUB |
|
| 282 |
+ TOS #0004 DIV2 .wavview/y1 PEK2 ADD2 .Screen/y DEO2 |
|
| 283 |
+ .Screen/x DEI2 ++ .Screen/x DEO2 |
|
| 284 |
+ ( draw ) OVR .Audio0/length DEI2 SWP POP GTH #02 MUL #01 ADD .Screen/color DEO |
|
| 285 |
+ ( incr ) SWP #01 ADD SWP |
|
| 286 |
+ DUP2 LTH ,&loop JNZ |
|
| 287 |
+ POP2 |
|
| 288 |
+ |
|
| 289 |
+ POP2r |
|
| 290 |
+ |
|
| 291 |
+RTN |
|
| 292 |
+ |
|
| 260 | 293 |
@draw-editor ( pad -- ) |
| 261 | 294 |
|
| 262 | 295 |
( get state ) |
| ... | ... |
@@ -264,11 +297,11 @@ RTN |
| 264 | 297 |
.frame/y2 PEK2 #0008 ADD2 .Screen/y DEO2 |
| 265 | 298 |
|
| 266 | 299 |
.frame/x1 PEK2 .Screen/x DEO2 |
| 267 |
- DUP #02 MUL TOS ;pad-addr ADD2 GET2 |
|
| 300 |
+ DUP #02 MUL TOS ;pad-addr ADD2 LDA2 |
|
| 268 | 301 |
( addr ) #21 ;draw-short JSR2 |
| 269 | 302 |
|
| 270 | 303 |
.frame/x1 PEK2 #0028 ADD2 .Screen/x DEO2 |
| 271 |
- DUP #02 MUL TOS ;pad-length ADD2 GET2 |
|
| 304 |
+ DUP #02 MUL TOS ;pad-length ADD2 LDA2 |
|
| 272 | 305 |
( addr ) #21 ;draw-short JSR2 |
| 273 | 306 |
|
| 274 | 307 |
POP |
| ... | ... |
@@ -279,7 +312,7 @@ RTN |
| 279 | 312 |
|
| 280 | 313 |
;cursor .Screen/addr DEO2 |
| 281 | 314 |
|
| 282 |
- DUP #00 SWP PAD-HEIGHT MUL2 .mixview/y1 PEK2 ADD2 STH2 |
|
| 315 |
+ DUP #00 SWP PAD-HEIGHT MUL2 .mixview/y1 PEK2 ADD2 #0002 ADD2 STH2 |
|
| 283 | 316 |
|
| 284 | 317 |
( adsr ) |
| 285 | 318 |
.mixview/x1 PEK2 #0008 ADD2 DUP2r STH2r |
| ... | ... |
@@ -295,6 +328,9 @@ RTN |
| 295 | 328 |
.Audio0/adsr #01 ADD DEI #0f AND |
| 296 | 329 |
;draw-knob JSR2 |
| 297 | 330 |
|
| 331 |
+ .mixview/x1 PEK2 #0048 ADD2 DUP2r STH2r |
|
| 332 |
+ #00 ;draw-switch JSR2 |
|
| 333 |
+ |
|
| 298 | 334 |
( volume ) |
| 299 | 335 |
.mixview/x1 PEK2 #0058 ADD2 DUP2r STH2r |
| 300 | 336 |
.Audio0/volume DEI #04 SFT |
| ... | ... |
@@ -303,9 +339,9 @@ RTN |
| 303 | 339 |
.Audio0/volume DEI #0f AND |
| 304 | 340 |
;draw-knob JSR2 |
| 305 | 341 |
|
| 342 |
+ |
|
| 306 | 343 |
POP |
| 307 | 344 |
POP2r |
| 308 |
- |
|
| 309 | 345 |
( once/repeat interface ) |
| 310 | 346 |
|
| 311 | 347 |
RTN |
| ... | ... |
@@ -319,8 +355,8 @@ RTN |
| 319 | 355 |
.knob/x PEK2 8+ .Screen/x DEO2 ;knob_icns 8+ .Screen/addr DEO2 #21 .Screen/color DEO |
| 320 | 356 |
.knob/y PEK2 8+ .Screen/y DEO2 ;knob_icns #0018 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 321 | 357 |
.knob/x PEK2 .Screen/x DEO2 ;knob_icns #0010 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 322 |
- .knob/x PEK2 #00 #00 .knob/value PEK ;knob-offsetx ADD2 GET ADD2 .Screen/x DEO2 |
|
| 323 |
- .knob/y PEK2 #00 #00 .knob/value PEK ;knob-offsety ADD2 GET ADD2 .Screen/y DEO2 |
|
| 358 |
+ .knob/x PEK2 #00 #00 .knob/value PEK ;knob-offsetx ADD2 LDA ADD2 .Screen/x DEO2 |
|
| 359 |
+ .knob/y PEK2 #00 #00 .knob/value PEK ;knob-offsety ADD2 LDA ADD2 .Screen/y DEO2 |
|
| 324 | 360 |
;knob_icns #0020 ADD2 .Screen/addr DEO2 |
| 325 | 361 |
#25 .Screen/color DEO |
| 326 | 362 |
.knob/x PEK2 #0004 ADD2 .Screen/x DEO2 |
| ... | ... |
@@ -330,6 +366,29 @@ RTN |
| 330 | 366 |
|
| 331 | 367 |
RTN |
| 332 | 368 |
|
| 369 |
+@draw-switch ( x* y* value -- ) |
|
| 370 |
+ |
|
| 371 |
+ POP ( TODO: use value for toggle position ) |
|
| 372 |
+ .Screen/y DEO2 |
|
| 373 |
+ .Screen/x DEO2 |
|
| 374 |
+ ;switch .Screen/addr DEO2 |
|
| 375 |
+ #21 .Screen/color DEO |
|
| 376 |
+ |
|
| 377 |
+ .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
|
| 378 |
+ ;switch #0008 ADD2 .Screen/addr DEO2 |
|
| 379 |
+ #21 .Screen/color DEO |
|
| 380 |
+ |
|
| 381 |
+ .Screen/y DEI2 #0008 ADD2 .Screen/y DEO2 |
|
| 382 |
+ .Screen/x DEI2 #0008 SUB2 .Screen/x DEO2 |
|
| 383 |
+ ;switch #0010 ADD2 .Screen/addr DEO2 |
|
| 384 |
+ #21 .Screen/color DEO |
|
| 385 |
+ |
|
| 386 |
+ .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
|
| 387 |
+ ;switch #0018 ADD2 .Screen/addr DEO2 |
|
| 388 |
+ #21 .Screen/color DEO |
|
| 389 |
+ |
|
| 390 |
+RTN |
|
| 391 |
+ |
|
| 333 | 392 |
@draw-pads ( -- ) |
| 334 | 393 |
|
| 335 | 394 |
#00 #10 |
| ... | ... |
@@ -395,7 +454,7 @@ RTN |
| 395 | 454 |
.pointer/x PEK2 .Screen/x DEO2 |
| 396 | 455 |
.pointer/y PEK2 .Screen/y DEO2 |
| 397 | 456 |
( colorize on state ) |
| 398 |
- #31 [ .Mouse/state DEI #00 NEQ ] ADD .Screen/color DEO |
|
| 457 |
+ #33 [ .Mouse/state DEI #00 NEQ ] SUB .Screen/color DEO |
|
| 399 | 458 |
|
| 400 | 459 |
RTN |
| 401 | 460 |
|
| ... | ... |
@@ -443,14 +502,33 @@ RTN |
| 443 | 502 |
( load ) .label/addr POK2 .label/color POK .Screen/y DEO2 .Screen/x DEO2 |
| 444 | 503 |
.label/addr PEK2 |
| 445 | 504 |
&loop |
| 446 |
- ( draw ) DUP2 GET #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 505 |
+ ( draw ) DUP2 LDA #00 SWP #0030 SUB2 #0008 MUL2 ;font-num-uc ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 447 | 506 |
( incr ) #0001 ADD2 |
| 448 |
- ( incr ) .Screen/x DEI2 #0007 ADD2 .Screen/x DEO2 |
|
| 449 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 507 |
+ ( incr ) .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
|
| 508 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 450 | 509 |
POP2 |
| 451 | 510 |
|
| 452 | 511 |
RTN |
| 453 | 512 |
|
| 513 |
+@fill-rect ( x1* y1* x2* y2* color -- ) |
|
| 514 |
+ |
|
| 515 |
+ .color POK |
|
| 516 |
+ ( x1 x2 y1 y2 ) ROT2 SWP2 |
|
| 517 |
+ &ver |
|
| 518 |
+ ( save ) OVR2 .Screen/y DEO2 |
|
| 519 |
+ STH2 STH2 OVR2 OVR2 |
|
| 520 |
+ &hor |
|
| 521 |
+ ( save ) OVR2 .Screen/x DEO2 |
|
| 522 |
+ ( draw ) .color PEK .Screen/color DEO |
|
| 523 |
+ ( incr ) SWP2 ++ SWP2 |
|
| 524 |
+ OVR2 OVR2 LTS2 ,&hor JNZ |
|
| 525 |
+ POP2 POP2 STH2r STH2r |
|
| 526 |
+ ( incr ) SWP2 ++ SWP2 |
|
| 527 |
+ OVR2 OVR2 LTS2 ,&ver JNZ |
|
| 528 |
+ POP2 POP2 POP2 POP2 |
|
| 529 |
+ |
|
| 530 |
+RTN |
|
| 531 |
+ |
|
| 454 | 532 |
@pad-name [ |
| 455 | 533 |
"PAD1 $1 "SYN1 $1 "SYN2 $1 "CYM1 $1 ( short ) |
| 456 | 534 |
"HHAT $1 "OHAT $1 "CHAT $1 "RIDE $1 |
| ... | ... |
@@ -518,6 +596,17 @@ RTN |
| 518 | 596 |
707e 7e7e 7e7e 7e7e |
| 519 | 597 |
7e7e 7e7e 7e7e 7e7e ] |
| 520 | 598 |
|
| 599 |
+@switch [ |
|
| 600 |
+ 001f 204f 5f5f 4f40 |
|
| 601 |
+ 00f8 04f2 fafa f202 |
|
| 602 |
+ 4040 4040 4020 1f00 |
|
| 603 |
+ 0202 0202 0204 f800 |
|
| 604 |
+ 0000 0000 0000 0000 |
|
| 605 |
+ 0000 0000 0000 0000 |
|
| 606 |
+ 0000 0000 0000 0000 |
|
| 607 |
+ 0000 0000 0000 0000 |
|
| 608 |
+] |
|
| 609 |
+ |
|
| 521 | 610 |
@font-hex ( 0-F ) |
| 522 | 611 |
[ |
| 523 | 612 |
007c 8282 8282 827c 0030 1010 1010 1010 |
| ... | ... |
@@ -530,38 +619,26 @@ RTN |
| 530 | 619 |
007c 8280 f080 827c 007c 8280 f080 8080 |
| 531 | 620 |
] |
| 532 | 621 |
|
| 533 |
-@font ( spectrum-zx font ) |
|
| 534 |
-[ |
|
| 535 |
- 0000 0000 0000 0000 0000 2400 7e3c 0000 0000 2400 3c42 0000 0000 6c7c 7c38 1000 |
|
| 536 |
- 0010 387c 7c38 1000 0038 387c 6c10 3800 0010 387c 7c10 3800 0000 0018 1800 0000 |
|
| 537 |
- 007e 4242 4242 7e00 0000 1824 2418 0000 0018 2442 4224 1800 001e 063a 4a48 3000 |
|
| 538 |
- 0038 446c 107c 1000 000c 0808 0838 3800 003e 2222 2266 6600 0000 0822 0022 0800 |
|
| 539 |
- 0000 1018 1c18 1000 0000 0818 3818 0800 0008 1c00 001c 0800 0028 2828 2800 2800 |
|
| 540 |
- 003e 4a4a 3a0a 0a00 000c 3046 620c 3000 0000 0000 0000 ffff 0010 3800 3810 0038 |
|
| 541 |
- 0008 1c2a 0808 0800 0008 0808 2a1c 0800 0000 0804 7e04 0800 0000 1020 7e20 1000 |
|
| 542 |
- 0000 4040 7e00 0000 0000 0024 6624 0000 0000 1038 7c00 0000 0000 007c 3810 0000 |
|
| 543 |
- 0000 0000 0000 0000 0008 0808 0800 0800 0014 1400 0000 0000 0024 7e24 247e 2400 |
|
| 544 |
- 0008 1e28 1c0a 3c08 0042 0408 1020 4200 0030 4832 4c44 3a00 0008 1000 0000 0000 |
|
| 545 |
- 0004 0808 0808 0400 0010 0808 0808 1000 0000 1408 3e08 1400 0000 0808 3e08 0800 |
|
| 546 |
- 0000 0000 0008 0810 0000 0000 3c00 0000 0000 0000 0000 0800 0000 0204 0810 2000 |
|
| 547 |
- 003c 464a 5262 3c00 0018 2808 0808 3e00 003c 4202 3c40 7e00 003c 421c 0242 3c00 |
|
| 548 |
- 0008 1828 487e 0800 007e 407c 0242 3c00 003c 407c 4242 3c00 007e 0204 0810 1000 |
|
| 549 |
- 003c 423c 4242 3c00 003c 4242 3e02 3c00 0000 0008 0000 0800 0000 0800 0008 0810 |
|
| 550 |
- 0000 0810 2010 0800 0000 003e 003e 0000 0000 1008 0408 1000 003c 4202 0c00 0800 |
|
| 551 |
- 003c 425a 5442 3c00 0018 2442 7e42 4200 007c 427c 4242 7c00 003c 4240 4042 3c00 |
|
| 552 |
- 0078 4442 4244 7800 007e 407c 4040 7e00 003e 4040 7c40 4000 003c 4240 4e42 3c00 |
|
| 553 |
- 0042 427e 4242 4200 003e 0808 0808 3e00 0002 0202 4242 3c00 0044 4870 4844 4200 |
|
| 554 |
- 0040 4040 4040 7e00 0042 665a 4242 4200 0042 6252 4a46 4200 003c 4242 4242 3c00 |
|
| 555 |
- 007c 4242 7c40 4000 003c 4242 524a 3c00 007c 4242 7c44 4200 003c 403c 0242 3c00 |
|
| 556 |
- 00fe 1010 1010 1000 0042 4242 4242 3c00 0042 4242 4224 1800 0042 4242 5a66 4200 |
|
| 557 |
- 0042 2418 1824 4200 0082 4428 1010 1000 007e 0408 1020 7e00 000c 0808 0808 0c00 |
|
| 558 |
- 0040 2010 0804 0200 0018 0808 0808 1800 0008 1422 0000 0000 0000 0000 0000 7e00 |
|
| 559 |
- 0008 0400 0000 0000 0000 1c02 1e22 1e00 0020 203c 2222 3c00 0000 1e20 2020 1e00 |
|
| 560 |
- 0002 021e 2222 1e00 0000 1c22 3c20 1e00 000c 101c 1010 1000 0000 1c22 221e 021c |
|
| 561 |
- 0020 202c 3222 2200 0008 0018 0808 0400 0008 0008 0808 4830 0020 2428 3028 2400 |
|
| 562 |
- 0010 1010 1010 0c00 0000 6854 5454 5400 0000 5864 4444 4400 0000 3844 4444 3800 |
|
| 563 |
- 0000 7844 4478 4040 0000 3c44 443c 0406 0000 2c30 2020 2000 0000 3840 3804 7800 |
|
| 564 |
- 0010 103c 1010 0c00 0000 4444 4444 3800 0000 4444 2828 1000 0000 4454 5454 2800 |
|
| 565 |
- 0000 4428 1028 4400 0000 4444 443c 0438 0000 7c08 1020 7c00 000c 0810 1008 0c00 |
|
| 566 |
- 0008 0808 0808 0800 0030 1008 0810 3000 0000 0032 4c00 0000 3c42 99a1 a199 423c |
|
| 567 |
-] |
|
| 622 |
+@font-num-uc [ |
|
| 623 |
+ 003e 4141 4141 413e 0018 0808 0808 081c |
|
| 624 |
+ 003e 4101 3e40 407f 003e 4101 1f01 413e |
|
| 625 |
+ 0011 2141 7f01 0101 007f 4040 7e01 413e |
|
| 626 |
+ 003e 4140 7e41 413e 003e 4101 0102 0408 |
|
| 627 |
+ 003e 4141 3e41 413e 003e 4141 3f01 0102 |
|
| 628 |
+ 0000 0800 0000 0800 0000 0800 0000 0800 |
|
| 629 |
+ 0000 0800 0000 0810 0000 0408 1008 0400 |
|
| 630 |
+ 0000 001c 001c 0000 0000 1008 0408 1000 |
|
| 631 |
+ 0000 0000 0000 0000 003e 4101 3f41 413f |
|
| 632 |
+ 007e 4141 7e41 417e 003e 4140 4040 413e |
|
| 633 |
+ 007e 4141 4141 417e 007f 4040 7e40 407f |
|
| 634 |
+ 007f 4040 7e40 4040 003e 4140 5e41 413e |
|
| 635 |
+ 0041 4141 7f41 4141 0008 0808 0808 0808 |
|
| 636 |
+ 007f 0101 0101 413e 0041 4244 7844 4241 |
|
| 637 |
+ 0040 4040 4040 403f 0076 4949 4949 4949 |
|
| 638 |
+ 005e 6141 4141 4141 003e 4141 4141 413e |
|
| 639 |
+ 007e 4141 7e40 4040 003e 4141 4145 423d |
|
| 640 |
+ 007e 4141 7e41 4141 003e 4140 3e01 413e |
|
| 641 |
+ 007f 0808 0808 0808 0041 4141 4141 433d |
|
| 642 |
+ 0041 4141 4122 1408 0049 4949 4949 4976 |
|
| 643 |
+ 0041 2214 0814 2241 0041 4141 3f01 413e |
|
| 644 |
+ 007f 0101 3e40 407f ] |
| ... | ... |
@@ -107,21 +107,21 @@ BRK |
| 107 | 107 |
|
| 108 | 108 |
.Controller/key DEI |
| 109 | 109 |
DUP #61 NEQ ,&no-c JNZ |
| 110 |
- ;notes GET ;play JSR2 &no-c |
|
| 110 |
+ ;notes LDA ;play JSR2 &no-c |
|
| 111 | 111 |
DUP #73 NEQ ,&no-d JNZ |
| 112 |
- ;notes #0001 ADD2 GET ;play JSR2 &no-d |
|
| 112 |
+ ;notes #0001 ADD2 LDA ;play JSR2 &no-d |
|
| 113 | 113 |
DUP #64 NEQ ,&no-e JNZ |
| 114 |
- ;notes #0002 ADD2 GET ;play JSR2 &no-e |
|
| 114 |
+ ;notes #0002 ADD2 LDA ;play JSR2 &no-e |
|
| 115 | 115 |
DUP #66 NEQ ,&no-f JNZ |
| 116 |
- ;notes #0003 ADD2 GET ;play JSR2 &no-f |
|
| 116 |
+ ;notes #0003 ADD2 LDA ;play JSR2 &no-f |
|
| 117 | 117 |
DUP #67 NEQ ,&no-g JNZ |
| 118 |
- ;notes #0004 ADD2 GET ;play JSR2 &no-g |
|
| 118 |
+ ;notes #0004 ADD2 LDA ;play JSR2 &no-g |
|
| 119 | 119 |
DUP #68 NEQ ,&no-a JNZ |
| 120 |
- ;notes #0005 ADD2 GET ;play JSR2 &no-a |
|
| 120 |
+ ;notes #0005 ADD2 LDA ;play JSR2 &no-a |
|
| 121 | 121 |
DUP #6a NEQ ,&no-b JNZ |
| 122 |
- ;notes #0006 ADD2 GET ;play JSR2 &no-b |
|
| 122 |
+ ;notes #0006 ADD2 LDA ;play JSR2 &no-b |
|
| 123 | 123 |
DUP #6b NEQ ,&no-c2 JNZ |
| 124 |
- ;notes #0007 ADD2 GET ;play JSR2 &no-c2 |
|
| 124 |
+ ;notes #0007 ADD2 LDA ;play JSR2 &no-c2 |
|
| 125 | 125 |
POP |
| 126 | 126 |
|
| 127 | 127 |
BRK |
| ... | ... |
@@ -139,7 +139,7 @@ RTN |
| 139 | 139 |
#0e .Mouse/y DEI2 .trkframe/y1 PEK2 SUB2 SWP POP #08 DIV SUB |
| 140 | 140 |
.Mouse/state DEI #10 NEQ ,&no-erase JNZ POP #00 &no-erase |
| 141 | 141 |
( edit note ) |
| 142 |
- TRACK #00 .Mouse/x DEI2 .trkframe/x1 PEK2 SUB2 SWP POP #08 DIV ADD2 PUT |
|
| 142 |
+ TRACK #00 .Mouse/x DEI2 .trkframe/x1 PEK2 SUB2 SWP POP #08 DIV ADD2 STA |
|
| 143 | 143 |
( release ) #00 .Mouse/state DEO |
| 144 | 144 |
;draw-notes JSR2 |
| 145 | 145 |
|
| ... | ... |
@@ -191,33 +191,33 @@ BRK |
| 191 | 191 |
|
| 192 | 192 |
@bang ( -- ) |
| 193 | 193 |
|
| 194 |
- ;track/ch1 #00 .head/pos PEK #08 DIV ADD2 GET |
|
| 194 |
+ ;track/ch1 #00 .head/pos PEK #08 DIV ADD2 LDA |
|
| 195 | 195 |
#01 SUB |
| 196 | 196 |
DUP #ff NEQ ,&skip1 JNZ |
| 197 | 197 |
POP ,&listen2 JMP |
| 198 | 198 |
&skip1 |
| 199 |
- #00 SWP ;notes ADD2 GET .Audio0/pitch DEO |
|
| 199 |
+ #00 SWP ;notes ADD2 LDA .Audio0/pitch DEO |
|
| 200 | 200 |
&listen2 |
| 201 |
- ;track/ch2 #00 .head/pos PEK #08 DIV ADD2 GET |
|
| 201 |
+ ;track/ch2 #00 .head/pos PEK #08 DIV ADD2 LDA |
|
| 202 | 202 |
#01 SUB |
| 203 | 203 |
DUP #ff NEQ ,&skip2 JNZ |
| 204 | 204 |
POP ,&listen3 JMP |
| 205 | 205 |
&skip2 |
| 206 |
- #00 SWP ;notes ADD2 GET .Audio1/pitch DEO |
|
| 206 |
+ #00 SWP ;notes ADD2 LDA .Audio1/pitch DEO |
|
| 207 | 207 |
&listen3 |
| 208 |
- ;track/ch3 #00 .head/pos PEK #08 DIV ADD2 GET |
|
| 208 |
+ ;track/ch3 #00 .head/pos PEK #08 DIV ADD2 LDA |
|
| 209 | 209 |
#01 SUB |
| 210 | 210 |
DUP #ff NEQ ,&skip3 JNZ |
| 211 | 211 |
POP ,&listen4 JMP |
| 212 | 212 |
&skip3 |
| 213 |
- #00 SWP ;notes ADD2 GET .Audio2/pitch DEO |
|
| 213 |
+ #00 SWP ;notes ADD2 LDA .Audio2/pitch DEO |
|
| 214 | 214 |
&listen4 |
| 215 |
- ;track/ch4 #00 .head/pos PEK #08 DIV ADD2 GET |
|
| 215 |
+ ;track/ch4 #00 .head/pos PEK #08 DIV ADD2 LDA |
|
| 216 | 216 |
#01 SUB |
| 217 | 217 |
DUP #ff NEQ ,&skip4 JNZ |
| 218 | 218 |
POP ,&end JMP |
| 219 | 219 |
&skip4 |
| 220 |
- #00 SWP ;notes ADD2 GET #80 ORA .Audio3/pitch DEO |
|
| 220 |
+ #00 SWP ;notes ADD2 LDA #80 ORA .Audio3/pitch DEO |
|
| 221 | 221 |
&end |
| 222 | 222 |
|
| 223 | 223 |
RTN |
| ... | ... |
@@ -232,7 +232,7 @@ RTN |
| 232 | 232 |
( incr ) .head/pos PEK #01 ADD .head/pos POK |
| 233 | 233 |
.trkframe/x1 PEK2 #00 .head/pos PEK ADD2 .Screen/x DEO2 |
| 234 | 234 |
;head_icn .Screen/addr DEO2 |
| 235 |
- #21 ( if note ) TRACK #00 .head/pos PEK #08 DIV ADD2 GET #00 NEQ ADD .Screen/color DEO |
|
| 235 |
+ #21 ( if note ) TRACK #00 .head/pos PEK #08 DIV ADD2 LDA #00 NEQ ADD .Screen/color DEO |
|
| 236 | 236 |
|
| 237 | 237 |
RTN |
| 238 | 238 |
|
| ... | ... |
@@ -240,7 +240,7 @@ RTN |
| 240 | 240 |
|
| 241 | 241 |
#00 #20 |
| 242 | 242 |
&loop |
| 243 |
- ( load ) OVR #00 SWP TRACK ADD2 GET |
|
| 243 |
+ ( load ) OVR #00 SWP TRACK ADD2 LDA |
|
| 244 | 244 |
DUP STH #00 SWP #0e SWP SUB 8* .trkframe/y1 PEK2 ADD2 .Screen/y DEO2 |
| 245 | 245 |
OVR #00 SWP 8* .trkframe/x1 PEK2 ADD2 .Screen/x DEO2 |
| 246 | 246 |
STHr #00 EQU ,&skip JNZ |
| ... | ... |
@@ -256,7 +256,7 @@ RTN |
| 256 | 256 |
|
| 257 | 257 |
#00 #20 |
| 258 | 258 |
¬es-loop |
| 259 |
- ( load ) OVR #00 SWP TRACK ADD2 GET |
|
| 259 |
+ ( load ) OVR #00 SWP TRACK ADD2 LDA |
|
| 260 | 260 |
DUP STH #00 SWP #0e SWP SUB 8* .trkframe/y1 PEK2 ADD2 .Screen/y DEO2 |
| 261 | 261 |
OVR #00 SWP 8* .trkframe/x1 PEK2 ADD2 .Screen/x DEO2 |
| 262 | 262 |
;note_icn .Screen/addr DEO2 |
| ... | ... |
@@ -356,8 +356,8 @@ RTN |
| 356 | 356 |
.knob/x PEK2 8+ .Screen/x DEO2 ;knob_icns 8+ .Screen/addr DEO2 #21 .Screen/color DEO |
| 357 | 357 |
.knob/y PEK2 8+ .Screen/y DEO2 ;knob_icns #0018 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 358 | 358 |
.knob/x PEK2 .Screen/x DEO2 ;knob_icns #0010 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 359 |
- .knob/x PEK2 #00 #00 .knob/value PEK ;knob_offsetx ADD2 GET ADD2 .Screen/x DEO2 |
|
| 360 |
- .knob/y PEK2 #00 #00 .knob/value PEK ;knob_offsety ADD2 GET ADD2 .Screen/y DEO2 |
|
| 359 |
+ .knob/x PEK2 #00 #00 .knob/value PEK ;knob_offsetx ADD2 LDA ADD2 .Screen/x DEO2 |
|
| 360 |
+ .knob/y PEK2 #00 #00 .knob/value PEK ;knob_offsety ADD2 LDA ADD2 .Screen/y DEO2 |
|
| 361 | 361 |
;knob_icns #0020 ADD2 .Screen/addr DEO2 |
| 362 | 362 |
#25 .Screen/color DEO |
| 363 | 363 |
.knob/x PEK2 #0004 ADD2 .Screen/x DEO2 |
| ... | ... |
@@ -453,10 +453,10 @@ RTN |
| 453 | 453 |
( load ) .label/addr POK2 .label/color POK .Screen/y DEO2 .Screen/x DEO2 |
| 454 | 454 |
.label/addr PEK2 |
| 455 | 455 |
&loop |
| 456 |
- ( draw ) DUP2 GET #00 SWP 8* ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 456 |
+ ( draw ) DUP2 LDA #00 SWP 8* ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 457 | 457 |
( incr ) ++ |
| 458 | 458 |
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2 |
| 459 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 459 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 460 | 460 |
POP2 |
| 461 | 461 |
|
| 462 | 462 |
RTN |
| ... | ... |
@@ -159,7 +159,7 @@ BRK |
| 159 | 159 |
&no-mod |
| 160 | 160 |
|
| 161 | 161 |
.Mouse/x DEI2 .octave-view/x1 PEK2 SUB2 8/ SWP POP #06 GTH ,&no-key JNZ |
| 162 |
- .Mouse/x DEI2 .octave-view/x1 PEK2 SUB2 8/ DUP2 SWP POP .last-note POK ;notes ADD2 GET ;play JSR2 |
|
| 162 |
+ .Mouse/x DEI2 .octave-view/x1 PEK2 SUB2 8/ DUP2 SWP POP .last-note POK ;notes ADD2 LDA ;play JSR2 |
|
| 163 | 163 |
( release ) #00 .Mouse/state DEO |
| 164 | 164 |
;draw-octave JSR2 |
| 165 | 165 |
&no-key |
| ... | ... |
@@ -211,21 +211,21 @@ BRK |
| 211 | 211 |
|
| 212 | 212 |
.Controller/key DEI |
| 213 | 213 |
DUP #61 NEQ ,&no-c JNZ |
| 214 |
- #00 .last-note POK ;notes GET ;play JSR2 &no-c |
|
| 214 |
+ #00 .last-note POK ;notes LDA ;play JSR2 &no-c |
|
| 215 | 215 |
DUP #73 NEQ ,&no-d JNZ |
| 216 |
- #01 .last-note POK ;notes ++ GET ;play JSR2 &no-d |
|
| 216 |
+ #01 .last-note POK ;notes ++ LDA ;play JSR2 &no-d |
|
| 217 | 217 |
DUP #64 NEQ ,&no-e JNZ |
| 218 |
- #02 .last-note POK ;notes #0002 ADD2 GET ;play JSR2 &no-e |
|
| 218 |
+ #02 .last-note POK ;notes #0002 ADD2 LDA ;play JSR2 &no-e |
|
| 219 | 219 |
DUP #66 NEQ ,&no-f JNZ |
| 220 |
- #03 .last-note POK ;notes #0003 ADD2 GET ;play JSR2 &no-f |
|
| 220 |
+ #03 .last-note POK ;notes #0003 ADD2 LDA ;play JSR2 &no-f |
|
| 221 | 221 |
DUP #67 NEQ ,&no-g JNZ |
| 222 |
- #04 .last-note POK ;notes #0004 ADD2 GET ;play JSR2 &no-g |
|
| 222 |
+ #04 .last-note POK ;notes #0004 ADD2 LDA ;play JSR2 &no-g |
|
| 223 | 223 |
DUP #68 NEQ ,&no-a JNZ |
| 224 |
- #05 .last-note POK ;notes #0005 ADD2 GET ;play JSR2 &no-a |
|
| 224 |
+ #05 .last-note POK ;notes #0005 ADD2 LDA ;play JSR2 &no-a |
|
| 225 | 225 |
DUP #6a NEQ ,&no-b JNZ |
| 226 |
- #06 .last-note POK ;notes #0006 ADD2 GET ;play JSR2 &no-b |
|
| 226 |
+ #06 .last-note POK ;notes #0006 ADD2 LDA ;play JSR2 &no-b |
|
| 227 | 227 |
DUP #6b NEQ ,&no-c2 JNZ |
| 228 |
- #07 .last-note POK ;notes #0007 ADD2 GET ;play JSR2 &no-c2 |
|
| 228 |
+ #07 .last-note POK ;notes #0007 ADD2 LDA ;play JSR2 &no-c2 |
|
| 229 | 229 |
POP |
| 230 | 230 |
|
| 231 | 231 |
.Controller/button DEI #f0 AND |
| ... | ... |
@@ -359,7 +359,7 @@ RTN |
| 359 | 359 |
.wave-view/y1 PEK2 #0010 ADD2 .Screen/y DEO2 |
| 360 | 360 |
#03 .Screen/color DEO |
| 361 | 361 |
&no-dot |
| 362 |
- OVR TOS .Audio0/addr DEI2 ADD2 GET |
|
| 362 |
+ OVR TOS .Audio0/addr DEI2 ADD2 LDA |
|
| 363 | 363 |
#02 DIV #40 ADD DUP #07 SFT #80 MUL SUB |
| 364 | 364 |
TOS #0004 DIV2 .wave-view/y1 PEK2 ADD2 .Screen/y DEO2 |
| 365 | 365 |
.Screen/x DEI2 ++ .Screen/x DEO2 |
| ... | ... |
@@ -401,8 +401,8 @@ RTN |
| 401 | 401 |
.knob/x PEK2 8+ .Screen/x DEO2 ;knob_icns 8+ .Screen/addr DEO2 #21 .Screen/color DEO |
| 402 | 402 |
.knob/y PEK2 8+ .Screen/y DEO2 ;knob_icns #0018 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 403 | 403 |
.knob/x PEK2 .Screen/x DEO2 ;knob_icns #0010 ADD2 .Screen/addr DEO2 #21 .Screen/color DEO |
| 404 |
- .knob/x PEK2 #00 #00 .knob/value PEK ;knob-offsetx ADD2 GET ADD2 .Screen/x DEO2 |
|
| 405 |
- .knob/y PEK2 #00 #00 .knob/value PEK ;knob-offsety ADD2 GET ADD2 .Screen/y DEO2 |
|
| 404 |
+ .knob/x PEK2 #00 #00 .knob/value PEK ;knob-offsetx ADD2 LDA ADD2 .Screen/x DEO2 |
|
| 405 |
+ .knob/y PEK2 #00 #00 .knob/value PEK ;knob-offsety ADD2 LDA ADD2 .Screen/y DEO2 |
|
| 406 | 406 |
;knob_icns #0020 ADD2 .Screen/addr DEO2 |
| 407 | 407 |
#25 .Screen/color DEO |
| 408 | 408 |
.knob/x PEK2 #0004 ADD2 .Screen/x DEO2 |
| ... | ... |
@@ -76,17 +76,17 @@ BRK |
| 76 | 76 |
DUP2 #0010 NEQ2 ,&no-touch-red JNZ |
| 77 | 77 |
.Mouse/x DEI2 .window/x1 PEK2 #0060 ADD2 LTH2 ,&no-touch-red JNZ |
| 78 | 78 |
.Mouse/x DEI2 .window/x1 PEK2 #009c ADD2 GTH2 ,&no-touch-red JNZ |
| 79 |
- ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/r1 #00 .selection PEK ADD2 PUT |
|
| 79 |
+ ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/r1 #00 .selection PEK ADD2 STA |
|
| 80 | 80 |
&no-touch-red |
| 81 | 81 |
DUP2 #0020 NEQ2 ,&no-touch-green JNZ |
| 82 | 82 |
.Mouse/x DEI2 .window/x1 PEK2 #0060 ADD2 LTH2 ,&no-touch-green JNZ |
| 83 | 83 |
.Mouse/x DEI2 .window/x1 PEK2 #009c ADD2 GTH2 ,&no-touch-green JNZ |
| 84 |
- ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/g1 #00 .selection PEK ADD2 PUT |
|
| 84 |
+ ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/g1 #00 .selection PEK ADD2 STA |
|
| 85 | 85 |
&no-touch-green |
| 86 | 86 |
DUP2 #0030 NEQ2 ,&no-touch-blue JNZ |
| 87 | 87 |
.Mouse/x DEI2 .window/x1 PEK2 #0060 ADD2 LTH2 ,&no-touch-blue JNZ |
| 88 | 88 |
.Mouse/x DEI2 .window/x1 PEK2 #009c ADD2 GTH2 ,&no-touch-blue JNZ |
| 89 |
- ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/b1 #00 .selection PEK ADD2 PUT |
|
| 89 |
+ ( get new value ) .Mouse/x DEI2 .window/x1 PEK2 SUB2 #0060 SUB2 #0004 DIV2 SWP POP ;theme/b1 #00 .selection PEK ADD2 STA |
|
| 90 | 90 |
&no-touch-blue |
| 91 | 91 |
DUP2 #0040 NEQ2 ,&no-touch-radio JNZ |
| 92 | 92 |
.Mouse/x DEI2 .window/x1 PEK2 #0050 ADD2 LTH2 ,&no-touch-radio JNZ |
| ... | ... |
@@ -210,9 +210,9 @@ RTN |
| 210 | 210 |
.window/x1 PEK2 #0038 ADD2 .Screen/x DEO2 |
| 211 | 211 |
.System/b DEI2 #28 ;draw-short JSR2 |
| 212 | 212 |
|
| 213 |
- .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0010 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/r1 .selection PEK ADD GET #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 214 |
- .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0020 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/g1 .selection PEK ADD GET #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 215 |
- .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0030 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/b1 .selection PEK ADD GET #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 213 |
+ .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0010 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/r1 .selection PEK ADD LDA #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 214 |
+ .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0020 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/g1 .selection PEK ADD LDA #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 215 |
+ .window/x1 PEK2 #0060 ADD2 .window/y1 PEK2 #0030 ADD2 .window/x1 PEK2 #0090 ADD2 #00 ;theme/b1 .selection PEK ADD LDA #0004 MUL2 #01 ;draw-slider JSR2 |
|
| 216 | 216 |
|
| 217 | 217 |
.window/x1 PEK2 #0050 ADD2 .Screen/x DEO2 |
| 218 | 218 |
.window/y1 PEK2 #0040 ADD2 .Screen/y DEO2 |
| ... | ... |
@@ -326,12 +326,12 @@ RTN |
| 326 | 326 |
.Screen/x DEO2 |
| 327 | 327 |
STH2r |
| 328 | 328 |
&loop |
| 329 |
- DUP2 GET #00 SWP #0008 MUL2 |
|
| 329 |
+ DUP2 LDA #00 SWP #0008 MUL2 |
|
| 330 | 330 |
;font ADD2 .Screen/addr DEO2 |
| 331 | 331 |
( draw ) DUPr STHr .Screen/color DEO |
| 332 | 332 |
( incr ) ++ |
| 333 | 333 |
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2 |
| 334 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 334 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 335 | 335 |
POP2 POPr |
| 336 | 336 |
|
| 337 | 337 |
RTN |
| ... | ... |
@@ -51,13 +51,13 @@ BRK |
| 51 | 51 |
#0080 SCALEX #0080 SCALEY .needles/hx PEK2 .needles/hy PEK2 #00 ;draw-line JSR2 |
| 52 | 52 |
|
| 53 | 53 |
( place ) |
| 54 |
- #00 .DateTime/second DEI #0002 MUL2 ;table ADD2 GET2 |
|
| 54 |
+ #00 .DateTime/second DEI #0002 MUL2 ;table ADD2 LDA2 |
|
| 55 | 55 |
#00 SWP SCALEY .needles/sy POK2 |
| 56 | 56 |
#00 SWP SCALEX .needles/sx POK2 |
| 57 |
- #00 .DateTime/minute DEI #0002 MUL2 ;table ADD2 GET2 |
|
| 57 |
+ #00 .DateTime/minute DEI #0002 MUL2 ;table ADD2 LDA2 |
|
| 58 | 58 |
#00 SWP #0004 DIV2 #0003 MUL2 #0020 ADD2 SCALEY .needles/my POK2 |
| 59 | 59 |
#00 SWP #0004 DIV2 #0003 MUL2 #0020 ADD2 SCALEX .needles/mx POK2 |
| 60 |
- #00 .DateTime/hour DEI 12HOURS #05 MUL #0002 MUL2 ;table ADD2 GET2 |
|
| 60 |
+ #00 .DateTime/hour DEI 12HOURS #05 MUL #0002 MUL2 ;table ADD2 LDA2 |
|
| 61 | 61 |
#00 SWP #0002 DIV2 #0040 ADD2 SCALEY .needles/hy POK2 |
| 62 | 62 |
#00 SWP #0002 DIV2 #0040 ADD2 SCALEX .needles/hx POK2 |
| 63 | 63 |
|
| ... | ... |
@@ -69,7 +69,7 @@ BRK |
| 69 | 69 |
( circle ) |
| 70 | 70 |
#00 #3c |
| 71 | 71 |
&loop |
| 72 |
- ( load ) OVR #00 SWP #0002 MUL2 ;table ADD2 GET2 |
|
| 72 |
+ ( load ) OVR #00 SWP #0002 MUL2 ;table ADD2 LDA2 |
|
| 73 | 73 |
#00 SWP SCALEY .Screen/y DEO2 |
| 74 | 74 |
#00 SWP SCALEX .Screen/x DEO2 |
| 75 | 75 |
OVR #0f MOD #00 EQU #01 ADD .Screen/color DEO |
| ... | ... |
@@ -50,10 +50,10 @@ RTN |
| 50 | 50 |
( load ) .label/addr POK2 .label/color POK .Screen/y DEO2 .Screen/x DEO2 |
| 51 | 51 |
.label/addr PEK2 |
| 52 | 52 |
&loop |
| 53 |
- ( draw ) DUP2 GET #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 53 |
+ ( draw ) DUP2 LDA #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 54 | 54 |
( incr ) #0001 ADD2 |
| 55 | 55 |
( incr ) .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
| 56 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 56 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 57 | 57 |
POP2 |
| 58 | 58 |
|
| 59 | 59 |
RTN |
| ... | ... |
@@ -64,10 +64,10 @@ RTN |
| 64 | 64 |
( align ) .label/addr PEK2 ;get-text-length JSR2 #0008 MUL2 #0002 DIV2 SUB2 .Screen/x DEO2 |
| 65 | 65 |
.label/addr PEK2 |
| 66 | 66 |
&loop |
| 67 |
- ( draw ) DUP2 GET #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 67 |
+ ( draw ) DUP2 LDA #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 68 | 68 |
( incr ) #0001 ADD2 |
| 69 | 69 |
( incr ) .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
| 70 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 70 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 71 | 71 |
POP2 |
| 72 | 72 |
|
| 73 | 73 |
RTN |
| ... | ... |
@@ -78,10 +78,10 @@ RTN |
| 78 | 78 |
( align ) .label/addr PEK2 ;get-text-length JSR2 #0008 MUL2 SUB2 #0008 SUB2 .Screen/x DEO2 |
| 79 | 79 |
.label/addr PEK2 |
| 80 | 80 |
&loop |
| 81 |
- ( draw ) DUP2 GET #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 81 |
+ ( draw ) DUP2 LDA #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 82 | 82 |
( incr ) #0001 ADD2 |
| 83 | 83 |
( incr ) .Screen/x DEI2 #0008 ADD2 .Screen/x DEO2 |
| 84 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 84 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 85 | 85 |
POP2 |
| 86 | 86 |
|
| 87 | 87 |
RTN |
| ... | ... |
@@ -91,7 +91,7 @@ RTN |
| 91 | 91 |
#0000 ( counter ) |
| 92 | 92 |
&loop |
| 93 | 93 |
( incr ) #0001 ADD2 OVR2 OVR2 ADD2 |
| 94 |
- GET #00 NEQ ,&loop JNZ |
|
| 94 |
+ LDA #00 NEQ ,&loop JNZ |
|
| 95 | 95 |
SWP2 POP2 |
| 96 | 96 |
|
| 97 | 97 |
RTN |
| ... | ... |
@@ -64,7 +64,7 @@ |
| 64 | 64 |
|
| 65 | 65 |
&loop |
| 66 | 66 |
#0001 ADD2 |
| 67 |
- DUP2 GET |
|
| 67 |
+ DUP2 LDA |
|
| 68 | 68 |
#20 GTH ,&loop JNZ |
| 69 | 69 |
|
| 70 | 70 |
DUP2 OVR2r STH2r LTS2 ,&valid JNZ |
| ... | ... |
@@ -73,7 +73,7 @@ |
| 73 | 73 |
JMP2r |
| 74 | 74 |
|
| 75 | 75 |
&valid |
| 76 |
- DUP2 GET #00 OVR2 PUT |
|
| 76 |
+ DUP2 LDA #00 OVR2 STA |
|
| 77 | 77 |
STH2r #0001 ADD2 ,assemble-token JSR |
| 78 | 78 |
,&per-token JNZ |
| 79 | 79 |
|
| ... | ... |
@@ -107,24 +107,24 @@ |
| 107 | 107 |
POP2 |
| 108 | 108 |
.assembler/token POK2 |
| 109 | 109 |
( tail call default handling function defined in state-machine-pointers ) |
| 110 |
- LIT2r [ 0002 ] ADD2r GET2r |
|
| 110 |
+ LIT2r [ 0002 ] ADD2r LDA2r |
|
| 111 | 111 |
JMP2r |
| 112 | 112 |
|
| 113 | 113 |
@parse-hex-length ( string-ptr* -- value 01 if one or two hex digits |
| 114 | 114 |
OR 00 otherwise ) |
| 115 |
- DUP2 #0001 ADD2 GET ,parse-hex-string/try-two JNZ |
|
| 116 |
- GET ,parse-hex-digit JSR DUP #04 SFT ,parse-hex-string/fail1 JNZ |
|
| 115 |
+ DUP2 #0001 ADD2 LDA ,parse-hex-string/try-two JNZ |
|
| 116 |
+ LDA ,parse-hex-digit JSR DUP #04 SFT ,parse-hex-string/fail1 JNZ |
|
| 117 | 117 |
#01 JMP2r |
| 118 | 118 |
|
| 119 | 119 |
@parse-hex-string ( string-ptr* -- value* 02 if four hex digits |
| 120 | 120 |
OR value 01 if two hex digits |
| 121 | 121 |
OR 00 otherwise ) |
| 122 |
- DUP2 #0004 ADD2 GET #00 EQU ,&try-four JNZ |
|
| 122 |
+ DUP2 #0004 ADD2 LDA #00 EQU ,&try-four JNZ |
|
| 123 | 123 |
&try-two |
| 124 |
- DUP2 #0002 ADD2 GET ,&fail2 JNZ |
|
| 124 |
+ DUP2 #0002 ADD2 LDA ,&fail2 JNZ |
|
| 125 | 125 |
&known-two |
| 126 |
- DUP2 GET ,parse-hex-digit JSR DUP #04 SFT ,&fail3 JNZ ROT ROT |
|
| 127 |
- #0001 ADD2 GET ,parse-hex-digit JSR DUP #04 SFT ,&fail2 JNZ |
|
| 126 |
+ DUP2 LDA ,parse-hex-digit JSR DUP #04 SFT ,&fail3 JNZ ROT ROT |
|
| 127 |
+ #0001 ADD2 LDA ,parse-hex-digit JSR DUP #04 SFT ,&fail2 JNZ |
|
| 128 | 128 |
SWP #40 SFT ORA #01 JMP2r |
| 129 | 129 |
|
| 130 | 130 |
&fail3 POP |
| ... | ... |
@@ -174,11 +174,11 @@ |
| 174 | 174 |
.tree/max-key-len POK .tree/search-key POK2 |
| 175 | 175 |
|
| 176 | 176 |
&loop |
| 177 |
- DUP2 GET2 #0000 NEQ2 ,&valid-node JNZ |
|
| 177 |
+ DUP2 LDA2 #0000 NEQ2 ,&valid-node JNZ |
|
| 178 | 178 |
#01 JMP2r |
| 179 | 179 |
|
| 180 | 180 |
&valid-node |
| 181 |
- GET2 DUP2 STH2 #0004 ADD2 ,strcmp-tree JSR |
|
| 181 |
+ LDA2 DUP2 STH2 #0004 ADD2 ,strcmp-tree JSR |
|
| 182 | 182 |
DUP ,&nomatch JNZ |
| 183 | 183 |
POP2r JMP2r |
| 184 | 184 |
|
| ... | ... |
@@ -200,7 +200,7 @@ |
| 200 | 200 |
JMP2r |
| 201 | 201 |
|
| 202 | 202 |
&keep-going |
| 203 |
- #01 OVR2 GET DUP2r GETr STHr |
|
| 203 |
+ #01 OVR2 LDA DUP2r LDAr STHr |
|
| 204 | 204 |
DUP2 ORA ,¬-end JNZ |
| 205 | 205 |
|
| 206 | 206 |
( end of C strings, match found ) |
| ... | ... |
@@ -229,7 +229,7 @@ |
| 229 | 229 |
DUP #01 SFT ORA |
| 230 | 230 |
DUP #02 SFT ORA |
| 231 | 231 |
DUP #04 SFT ORA |
| 232 |
- #1d MUL #05 SFT #00 SWP ;&lookup ADD2 GET |
|
| 232 |
+ #1d MUL #05 SFT #00 SWP ;&lookup ADD2 LDA |
|
| 233 | 233 |
JMP2r |
| 234 | 234 |
|
| 235 | 235 |
&lookup |
| ... | ... |
@@ -245,7 +245,7 @@ |
| 245 | 245 |
|
| 246 | 246 |
&keep-going |
| 247 | 247 |
#0001 SUB2 |
| 248 |
- SWP2 DUP2 GET DUP2r STH2r PUT |
|
| 248 |
+ SWP2 DUP2 LDA DUP2r STH2r STA |
|
| 249 | 249 |
#0001 ADD2 SWP2 |
| 250 | 250 |
LIT2r [ 0001 ] ADD2r |
| 251 | 251 |
,&loop JMP |
| ... | ... |
@@ -257,7 +257,7 @@ |
| 257 | 257 |
DUP2 #0001 SUB2 |
| 258 | 258 |
&loop |
| 259 | 259 |
#0001 ADD2 |
| 260 |
- DUP2 GET ,&loop JNZ |
|
| 260 |
+ DUP2 LDA ,&loop JNZ |
|
| 261 | 261 |
SWP2 SUB2 |
| 262 | 262 |
JMP2r |
| 263 | 263 |
|
| ... | ... |
@@ -267,7 +267,7 @@ |
| 267 | 267 |
JMP2r |
| 268 | 268 |
|
| 269 | 269 |
@append-tree ( string-ptr* incoming-ptr* -- binary-data* ) |
| 270 |
- .assembler/heap PEK2 SWP2 PUT2 |
|
| 270 |
+ .assembler/heap PEK2 SWP2 STA2 |
|
| 271 | 271 |
;&zero-pointers .assembler/heap PEK2 #0004 ,memcpy JSR .assembler/heap POK2 |
| 272 | 272 |
,append-heap JSR |
| 273 | 273 |
JMP2r |
| ... | ... |
@@ -280,10 +280,10 @@ |
| 280 | 280 |
|
| 281 | 281 |
( label already exists, check the flags and addr value ) |
| 282 | 282 |
SWP2 POP2 |
| 283 |
- DUP2 #0001 ADD2 GET2 .assembler/addr PEK2 EQU2 ,&addr-okay JNZ |
|
| 283 |
+ DUP2 #0001 ADD2 LDA2 .assembler/addr PEK2 EQU2 ,&addr-okay JNZ |
|
| 284 | 284 |
( FIXME address is different to previous run, or label defined twice ) |
| 285 | 285 |
&addr-okay |
| 286 |
- GET EQU ,&type-okay JNZ |
|
| 286 |
+ LDA EQU ,&type-okay JNZ |
|
| 287 | 287 |
( FIXME node type is different to before ) |
| 288 | 288 |
&type-okay |
| 289 | 289 |
JMP2r |
| ... | ... |
@@ -296,8 +296,8 @@ |
| 296 | 296 |
~assembler.heap ,strcpy JSR2 |
| 297 | 297 |
) |
| 298 | 298 |
|
| 299 |
- DUP2 STH2 PUT STH2r |
|
| 300 |
- DUP2 #0001 ADD2 .assembler/addr PEK2 SWP2 PUT2 |
|
| 299 |
+ DUP2 STH2 STA STH2r |
|
| 300 |
+ DUP2 #0001 ADD2 .assembler/addr PEK2 SWP2 STA2 |
|
| 301 | 301 |
#0003 ADD2 .assembler/heap POK2 |
| 302 | 302 |
JMP2r |
| 303 | 303 |
|
| ... | ... |
@@ -305,7 +305,7 @@ |
| 305 | 305 |
OR false-address* 00 if not found ) |
| 306 | 306 |
DUP2 |
| 307 | 307 |
&loop |
| 308 |
- DUP2 #0001 ADD2 SWP2 GET |
|
| 308 |
+ DUP2 #0001 ADD2 SWP2 LDA |
|
| 309 | 309 |
DUP #2e EQU ,&dotted JNZ |
| 310 | 310 |
,&loop JNZ |
| 311 | 311 |
DUP2 EOR2 ( faster than POP2 #0000 ) |
| ... | ... |
@@ -317,12 +317,12 @@ |
| 317 | 317 |
|
| 318 | 318 |
SWP2 POP2 |
| 319 | 319 |
.assembler/field PEK2 #0000 EQU2 ,&end JNZ |
| 320 |
- DUP2 GET #80 LTH ,¬-found JNZ |
|
| 320 |
+ DUP2 LDA #80 LTH ,¬-found JNZ |
|
| 321 | 321 |
#0003 ADD2 .assembler/field PEK2 #ff ;traverse-tree JSR2 |
| 322 | 322 |
,¬-found JNZ |
| 323 | 323 |
|
| 324 | 324 |
&end |
| 325 |
- DUP2 #0001 ADD2 GET2 SWP2 GET |
|
| 325 |
+ DUP2 #0001 ADD2 LDA2 SWP2 LDA |
|
| 326 | 326 |
JMP2r |
| 327 | 327 |
|
| 328 | 328 |
¬-found |
| ... | ... |
@@ -336,7 +336,7 @@ |
| 336 | 336 |
|
| 337 | 337 |
&dotted |
| 338 | 338 |
DUP OVR2 .assembler/field POK2 |
| 339 |
- EOR ROT ROT #0001 SUB2 PUT |
|
| 339 |
+ EOR ROT ROT #0001 SUB2 STA |
|
| 340 | 340 |
,&main JMP |
| 341 | 341 |
|
| 342 | 342 |
@write-byte ( byte -- ) |
| ... | ... |
@@ -554,7 +554,7 @@ |
| 554 | 554 |
|
| 555 | 555 |
.assembler/token PEK2 |
| 556 | 556 |
&loop |
| 557 |
- DUP2 GET |
|
| 557 |
+ DUP2 LDA |
|
| 558 | 558 |
DUP ,&keep-going JNZ |
| 559 | 559 |
POP POP2 JMP2r |
| 560 | 560 |
|
| ... | ... |
@@ -671,7 +671,7 @@ |
| 671 | 671 |
|
| 672 | 672 |
@normal-; [ 0000 ] [ 0000 ] [ 3b ] |
| 673 | 673 |
#80 .assembler/token PEK2 ;label-tree ;add-label JSR2 |
| 674 |
- .assembler/heap PEK2 #0000 OVR2 PUT2 |
|
| 674 |
+ .assembler/heap PEK2 #0000 OVR2 STA2 |
|
| 675 | 675 |
DUP2 #0003 SUB2 .assembler/var_size POK2 |
| 676 | 676 |
DUP2 .assembler/subtree POK2 |
| 677 | 677 |
#0002 ADD2 .assembler/heap POK2 |
| ... | ... |
@@ -705,9 +705,9 @@ |
| 705 | 705 |
&valid |
| 706 | 706 |
&no-var-size |
| 707 | 707 |
DUP #02 GTH ,&end JNZ |
| 708 |
- DUP .assembler/field_size PEK2 PUT |
|
| 708 |
+ DUP .assembler/field_size PEK2 STA |
|
| 709 | 709 |
.assembler/var_size PEK2 #0000 EQU2 ,&end JNZ |
| 710 |
- DUP #80 EOR .assembler/var_size PEK2 PUT |
|
| 710 |
+ DUP #80 EOR .assembler/var_size PEK2 STA |
|
| 711 | 711 |
,&end JMP |
| 712 | 712 |
|
| 713 | 713 |
&loop |
| ... | ... |
@@ -747,7 +747,7 @@ |
| 747 | 747 |
JMP2r |
| 748 | 748 |
|
| 749 | 749 |
@macro-} [ 0000 ] [ 0000 ] [ 7d ] |
| 750 |
- .assembler/heap PEK2 DUP2 #00 ROT ROT PUT |
|
| 750 |
+ .assembler/heap PEK2 DUP2 #00 ROT ROT STA |
|
| 751 | 751 |
#0001 ADD2 .assembler/heap POK2 |
| 752 | 752 |
.assembler/state PEK #fc AND .assembler/state POK |
| 753 | 753 |
JMP2r |
| ... | ... |
@@ -785,7 +785,7 @@ |
| 785 | 785 |
;opcodes/asm SUB2 #0007 DIV2 |
| 786 | 786 |
SWP2 #0003 ADD2 |
| 787 | 787 |
&flags |
| 788 |
- DUP2 GET |
|
| 788 |
+ DUP2 LDA |
|
| 789 | 789 |
DUP #00 EQU ,&end-flags JNZ |
| 790 | 790 |
DUP #32 NEQ ,¬-two JNZ |
| 791 | 791 |
POP SWP2 SHORT_FLAG ORA SWP2 #0001 ADD2 ,&flags JMP |
| ... | ... |
@@ -149,7 +149,7 @@ BRK |
| 149 | 149 |
|
| 150 | 150 |
( insert ) |
| 151 | 151 |
.selection/to PEK2 .selection/from PEK2 SUB2 ;shift-right JSR2 |
| 152 |
- .Controller/key DEI .selection/from PEK2 PUT |
|
| 152 |
+ .Controller/key DEI .selection/from PEK2 STA |
|
| 153 | 153 |
.selection/from PEK2 ++ .selection/from POK2 |
| 154 | 154 |
.selection/from PEK2 ++ .selection/to POK2 |
| 155 | 155 |
;redraw JSR2 |
| ... | ... |
@@ -234,10 +234,10 @@ BRK |
| 234 | 234 |
|
| 235 | 235 |
.File/name DEO2 #8000 .File/length DEO2 ;document/body .File/load DEO2 |
| 236 | 236 |
( get file length ) |
| 237 |
- ;document/body ;document/eof PUT2 |
|
| 237 |
+ ;document/body ;document/eof STA2 |
|
| 238 | 238 |
&loop |
| 239 |
- ( incr ) ;document/eof GET2 ++ ;document/eof PUT2 |
|
| 240 |
- ;document/eof GET2 GET #00 NEQ ,&loop JNZ |
|
| 239 |
+ ( incr ) ;document/eof LDA2 ++ ;document/eof STA2 |
|
| 240 |
+ ;document/eof LDA2 LDA #00 NEQ ,&loop JNZ |
|
| 241 | 241 |
|
| 242 | 242 |
RTN |
| 243 | 243 |
|
| ... | ... |
@@ -262,22 +262,22 @@ RTN |
| 262 | 262 |
.i POK2 |
| 263 | 263 |
.selection/from PEK2 -- .j POK2 ( start -> end ) |
| 264 | 264 |
&loop |
| 265 |
- ( move ) .j PEK2 .i PEK2 ADD2 GET .j PEK2 PUT |
|
| 265 |
+ ( move ) .j PEK2 .i PEK2 ADD2 LDA .j PEK2 STA |
|
| 266 | 266 |
( incr ) .j PEK2 ++ .j POK2 |
| 267 |
- .j PEK2 ;document/eof GET2 LTH2 ,&loop JNZ |
|
| 268 |
- ;document/eof GET2 .i PEK2 SUB2 ;document/eof PUT2 |
|
| 267 |
+ .j PEK2 ;document/eof LDA2 LTH2 ,&loop JNZ |
|
| 268 |
+ ;document/eof LDA2 .i PEK2 SUB2 ;document/eof STA2 |
|
| 269 | 269 |
|
| 270 | 270 |
RTN |
| 271 | 271 |
|
| 272 | 272 |
@shift-right ( length -- ) |
| 273 | 273 |
|
| 274 | 274 |
.i POK2 |
| 275 |
- ;document/eof GET2 .j POK2 ( end -> start ) |
|
| 275 |
+ ;document/eof LDA2 .j POK2 ( end -> start ) |
|
| 276 | 276 |
&loop |
| 277 |
- ( move ) .j PEK2 .i PEK2 SUB2 GET .j PEK2 PUT |
|
| 277 |
+ ( move ) .j PEK2 .i PEK2 SUB2 LDA .j PEK2 STA |
|
| 278 | 278 |
( decr ) .j PEK2 -- .j POK2 |
| 279 | 279 |
.j PEK2 .selection/from PEK2 GTH2 ,&loop JNZ |
| 280 |
- ;document/eof GET2 .i PEK2 ADD2 ;document/eof PUT2 |
|
| 280 |
+ ;document/eof LDA2 .i PEK2 ADD2 ;document/eof STA2 |
|
| 281 | 281 |
|
| 282 | 282 |
RTN |
| 283 | 283 |
|
| ... | ... |
@@ -302,10 +302,10 @@ RTN |
| 302 | 302 |
@goto-linestart ( -- ) |
| 303 | 303 |
|
| 304 | 304 |
&loop |
| 305 |
- .selection/from PEK2 -- GET #0a EQU RTN? |
|
| 306 |
- .selection/from PEK2 -- GET #0d EQU RTN? |
|
| 305 |
+ .selection/from PEK2 -- LDA #0a EQU RTN? |
|
| 306 |
+ .selection/from PEK2 -- LDA #0d EQU RTN? |
|
| 307 | 307 |
( decr ) .selection/from PEK2 DUP2 .selection/to POK2 -- .selection/from POK2 |
| 308 |
- .selection/from PEK2 GET #00 NEQ ,&loop JNZ |
|
| 308 |
+ .selection/from PEK2 LDA #00 NEQ ,&loop JNZ |
|
| 309 | 309 |
( clamp at document body ) |
| 310 | 310 |
.selection/from PEK2 ;document/body GTH2 RTN? |
| 311 | 311 |
;document/body DUP2 .selection/from POK2 ++ .selection/to POK2 |
| ... | ... |
@@ -315,10 +315,10 @@ RTN |
| 315 | 315 |
@goto-lineend ( -- ) |
| 316 | 316 |
|
| 317 | 317 |
&loop |
| 318 |
- .selection/from PEK2 GET #0a EQU RTN? |
|
| 319 |
- .selection/from PEK2 GET #0d EQU RTN? |
|
| 318 |
+ .selection/from PEK2 LDA #0a EQU RTN? |
|
| 319 |
+ .selection/from PEK2 LDA #0d EQU RTN? |
|
| 320 | 320 |
( incr ) .selection/from PEK2 ++ DUP2 ++ .selection/to POK2 .selection/from POK2 |
| 321 |
- .selection/from PEK2 GET #00 NEQ ,&loop JNZ |
|
| 321 |
+ .selection/from PEK2 LDA #00 NEQ ,&loop JNZ |
|
| 322 | 322 |
( clamp at document body ) |
| 323 | 323 |
.selection/from PEK2 ;document/eof LTH2 RTN? |
| 324 | 324 |
;document/eof -- DUP2 .selection/from POK2 ++ .selection/to POK2 |
| ... | ... |
@@ -330,9 +330,9 @@ RTN |
| 330 | 330 |
.selection/to PEK2 .j POK2 |
| 331 | 331 |
&loop |
| 332 | 332 |
( decr ) .j PEK2 -- .j POK2 |
| 333 |
- .j PEK2 GET #20 EQU ,&end JNZ |
|
| 334 |
- .j PEK2 GET #0a EQU ,&end JNZ |
|
| 335 |
- .j PEK2 GET #0d EQU ,&end JNZ |
|
| 333 |
+ .j PEK2 LDA #20 EQU ,&end JNZ |
|
| 334 |
+ .j PEK2 LDA #0a EQU ,&end JNZ |
|
| 335 |
+ .j PEK2 LDA #0d EQU ,&end JNZ |
|
| 336 | 336 |
.j PEK2 ;document/body GTH2 ,&loop JNZ |
| 337 | 337 |
&end |
| 338 | 338 |
( return ) .j PEK2 -- |
| ... | ... |
@@ -344,9 +344,9 @@ RTN |
| 344 | 344 |
.selection/to PEK2 .j POK2 |
| 345 | 345 |
&loop |
| 346 | 346 |
( incr ) .j PEK2 ++ .j POK2 |
| 347 |
- .j PEK2 GET #20 EQU ,&end JNZ |
|
| 348 |
- .j PEK2 GET #0a EQU ,&end JNZ |
|
| 349 |
- .j PEK2 GET #0d EQU ,&end JNZ |
|
| 347 |
+ .j PEK2 LDA #20 EQU ,&end JNZ |
|
| 348 |
+ .j PEK2 LDA #0a EQU ,&end JNZ |
|
| 349 |
+ .j PEK2 LDA #0d EQU ,&end JNZ |
|
| 350 | 350 |
.j PEK2 ;document/body GTH2 ,&loop JNZ |
| 351 | 351 |
&end |
| 352 | 352 |
( return ) .j PEK2 ++ |
| ... | ... |
@@ -358,8 +358,8 @@ RTN |
| 358 | 358 |
#0000 .j POK2 |
| 359 | 359 |
&loop |
| 360 | 360 |
( incr ) .j PEK2 ++ .j POK2 |
| 361 |
- .selection/from PEK2 .j PEK2 SUB2 GET #0a EQU ,&end JNZ |
|
| 362 |
- .selection/from PEK2 .j PEK2 SUB2 GET #0d EQU ,&end JNZ |
|
| 361 |
+ .selection/from PEK2 .j PEK2 SUB2 LDA #0a EQU ,&end JNZ |
|
| 362 |
+ .selection/from PEK2 .j PEK2 SUB2 LDA #0d EQU ,&end JNZ |
|
| 363 | 363 |
.selection/from PEK2 .j PEK2 SUB2 ;document/body GTH2 ,&loop JNZ |
| 364 | 364 |
&end |
| 365 | 365 |
( return ) .j PEK2 |
| ... | ... |
@@ -371,11 +371,11 @@ RTN |
| 371 | 371 |
;document/body .j POK2 #0000 .pt/y POK2 |
| 372 | 372 |
&loop |
| 373 | 373 |
.pt/y PEK2 .position/y PEK2 -- GTH2 ,&end JNZ |
| 374 |
- .j PEK2 GET #0a NEQ .j PEK2 GET #0d NEQ #0101 EQU2 ,&no-space JNZ |
|
| 374 |
+ .j PEK2 LDA #0a NEQ .j PEK2 LDA #0d NEQ #0101 EQU2 ,&no-space JNZ |
|
| 375 | 375 |
( incr ) .pt/y PEK2 ++ .pt/y POK2 |
| 376 | 376 |
&no-space |
| 377 | 377 |
( incr ) .j PEK2 ++ .j POK2 |
| 378 |
- .j PEK2 GET #00 NEQ ,&loop JNZ |
|
| 378 |
+ .j PEK2 LDA #00 NEQ ,&loop JNZ |
|
| 379 | 379 |
&end |
| 380 | 380 |
( return ) .j PEK2 |
| 381 | 381 |
|
| ... | ... |
@@ -386,8 +386,8 @@ RTN |
| 386 | 386 |
;find-line JSR2 ( find line ) |
| 387 | 387 |
#0000 .pt/x POK2 |
| 388 | 388 |
&loop |
| 389 |
- .j PEK2 .pt/x PEK2 ADD2 GET #0a EQU ,&end JNZ |
|
| 390 |
- .j PEK2 .pt/x PEK2 ADD2 GET #0d EQU ,&end JNZ |
|
| 389 |
+ .j PEK2 .pt/x PEK2 ADD2 LDA #0a EQU ,&end JNZ |
|
| 390 |
+ .j PEK2 .pt/x PEK2 ADD2 LDA #0d EQU ,&end JNZ |
|
| 391 | 391 |
( incr ) .pt/x PEK2 ++ .pt/x POK2 |
| 392 | 392 |
.pt/x PEK2 .position/x PEK2 -- LTH2 ,&loop JNZ |
| 393 | 393 |
&end |
| ... | ... |
@@ -407,9 +407,9 @@ RTN |
| 407 | 407 |
|
| 408 | 408 |
#0000 .i POK2 ( start ) |
| 409 | 409 |
.selection/to PEK2 .selection/from PEK2 SUB2 .j POK2 ( end ) |
| 410 |
- .j PEK2 ;clip/len PUT2 |
|
| 410 |
+ .j PEK2 ;clip/len STA2 |
|
| 411 | 411 |
&loop |
| 412 |
- .selection/from PEK2 .i PEK2 ADD2 GET ;clip/body .i PEK2 ADD2 PUT |
|
| 412 |
+ .selection/from PEK2 .i PEK2 ADD2 LDA ;clip/body .i PEK2 ADD2 STA |
|
| 413 | 413 |
( incr ) .i PEK2 ++ .i POK2 |
| 414 | 414 |
.i PEK2 .j PEK2 LTH2 ,&loop JNZ |
| 415 | 415 |
|
| ... | ... |
@@ -417,11 +417,11 @@ RTN |
| 417 | 417 |
|
| 418 | 418 |
@paste ( -- ) |
| 419 | 419 |
|
| 420 |
- ;clip/len GET2 ;shift-right JSR2 |
|
| 420 |
+ ;clip/len LDA2 ;shift-right JSR2 |
|
| 421 | 421 |
#0000 .i POK2 ( start ) |
| 422 |
- ;clip/len GET2 .j POK2 ( end ) |
|
| 422 |
+ ;clip/len LDA2 .j POK2 ( end ) |
|
| 423 | 423 |
&loop |
| 424 |
- ;clip/body .i PEK2 ADD2 GET .selection/from PEK2 .i PEK2 ADD2 PUT |
|
| 424 |
+ ;clip/body .i PEK2 ADD2 LDA .selection/from PEK2 .i PEK2 ADD2 STA |
|
| 425 | 425 |
( incr ) .i PEK2 ++ .i POK2 |
| 426 | 426 |
.i PEK2 .j PEK2 LTH2 ,&loop JNZ |
| 427 | 427 |
|
| ... | ... |
@@ -431,7 +431,7 @@ RTN |
| 431 | 431 |
|
| 432 | 432 |
;document/body .selection/from POK2 #0000 .pt/x POK2 #0000 .pt/y POK2 |
| 433 | 433 |
&loop |
| 434 |
- .selection/from PEK2 GET #0a NEQ .selection/from PEK2 GET #0d NEQ #0101 EQU2 ,&no-space JNZ |
|
| 434 |
+ .selection/from PEK2 LDA #0a NEQ .selection/from PEK2 LDA #0d NEQ #0101 EQU2 ,&no-space JNZ |
|
| 435 | 435 |
( incr ) .pt/y PEK2 ++ .pt/y POK2 |
| 436 | 436 |
#0000 .pt/x POK2 |
| 437 | 437 |
&no-space |
| ... | ... |
@@ -441,7 +441,7 @@ RTN |
| 441 | 441 |
&no-reached |
| 442 | 442 |
( incr ) .pt/x PEK2 ++ .pt/x POK2 |
| 443 | 443 |
( incr ) .selection/from PEK2 ++ .selection/from POK2 |
| 444 |
- .selection/from PEK2 GET #00 NEQ ,&loop JNZ |
|
| 444 |
+ .selection/from PEK2 LDA #00 NEQ ,&loop JNZ |
|
| 445 | 445 |
|
| 446 | 446 |
RTN |
| 447 | 447 |
|
| ... | ... |
@@ -477,16 +477,16 @@ RTN |
| 477 | 477 |
@draw-short ( short ) |
| 478 | 478 |
|
| 479 | 479 |
.addr POK2 |
| 480 |
- ;font_hex #00 ;addr GET #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 480 |
+ ;font_hex #00 ;addr LDA #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 481 | 481 |
( draw ) #2e .Screen/color DEO |
| 482 | 482 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 483 |
- ;font_hex #00 ;addr GET #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 483 |
+ ;font_hex #00 ;addr LDA #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 484 | 484 |
( draw ) #2e .Screen/color DEO |
| 485 | 485 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 486 |
- ;font_hex #00 ;addr ++ GET #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 486 |
+ ;font_hex #00 ;addr ++ LDA #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 487 | 487 |
( draw ) #2e .Screen/color DEO |
| 488 | 488 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 489 |
- ;font_hex #00 ;addr ++ GET #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 489 |
+ ;font_hex #00 ;addr ++ LDA #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 490 | 490 |
( draw ) #2e .Screen/color DEO |
| 491 | 491 |
|
| 492 | 492 |
RTN |
| ... | ... |
@@ -519,10 +519,10 @@ RTN |
| 519 | 519 |
#0000 .j POK2 ( j is linebreaks ) |
| 520 | 520 |
&find-offset |
| 521 | 521 |
.scroll/y PEK2 .j PEK2 EQU2 ,&find-offset-end JNZ |
| 522 |
- .textarea/addr PEK2 GET #0a NEQ .textarea/addr PEK2 GET #0d NEQ #0101 EQU2 ,&no-break JNZ |
|
| 522 |
+ .textarea/addr PEK2 LDA #0a NEQ .textarea/addr PEK2 LDA #0d NEQ #0101 EQU2 ,&no-break JNZ |
|
| 523 | 523 |
( incr ) .j PEK2 ++ .j POK2 &no-break |
| 524 | 524 |
( incr ) .textarea/addr PEK2 ++ .textarea/addr POK2 |
| 525 |
- .textarea/addr PEK2 GET #00 NEQ ,&find-offset JNZ |
|
| 525 |
+ .textarea/addr PEK2 LDA #00 NEQ ,&find-offset JNZ |
|
| 526 | 526 |
&find-offset-end |
| 527 | 527 |
|
| 528 | 528 |
#0018 .Screen/x DEO2 #0000 .Screen/y DEO2 |
| ... | ... |
@@ -533,7 +533,7 @@ RTN |
| 533 | 533 |
.Screen/y DEI2 .Screen/height DEI2 #0010 SUB2 GTH2 ;&end JNZ2 |
| 534 | 534 |
|
| 535 | 535 |
|
| 536 |
- .i PEK2 GET #0a NEQ .i PEK2 GET #0d NEQ #0101 EQU2 ;&no-linebreak JNZ2 |
|
| 536 |
+ .i PEK2 LDA #0a NEQ .i PEK2 LDA #0d NEQ #0101 EQU2 ;&no-linebreak JNZ2 |
|
| 537 | 537 |
( draw linebreak ) |
| 538 | 538 |
;linebreak_icn .Screen/addr DEO2 |
| 539 | 539 |
( draw ) #02 |
| ... | ... |
@@ -563,9 +563,9 @@ RTN |
| 563 | 563 |
|
| 564 | 564 |
|
| 565 | 565 |
( get character ) |
| 566 |
- ;font #00 .i PEK2 GET #20 SUB 8* ADD2 .Screen/addr DEO2 |
|
| 566 |
+ ;font #00 .i PEK2 LDA #20 SUB 8* ADD2 .Screen/addr DEO2 |
|
| 567 | 567 |
( is a special character ) |
| 568 |
- .i PEK2 GET #20 GTH ,&no-tab JNZ ;font .Screen/addr DEO2 &no-tab |
|
| 568 |
+ .i PEK2 LDA #20 GTH ,&no-tab JNZ ;font .Screen/addr DEO2 &no-tab |
|
| 569 | 569 |
|
| 570 | 570 |
( draw ) #21 |
| 571 | 571 |
.i PEK2 .selection/from PEK2 -- GTH2 |
| ... | ... |
@@ -575,7 +575,7 @@ RTN |
| 575 | 575 |
( incr ) .i PEK2 ++ .i POK2 |
| 576 | 576 |
( incr ) .Screen/x DEI2 #0007 ADD2 .Screen/x DEO2 |
| 577 | 577 |
|
| 578 |
- .i PEK2 GET #00 NEQ ;&loop JNZ2 |
|
| 578 |
+ .i PEK2 LDA #00 NEQ ;&loop JNZ2 |
|
| 579 | 579 |
|
| 580 | 580 |
&end |
| 581 | 581 |
|
| ... | ... |
@@ -616,10 +616,10 @@ RTN |
| 616 | 616 |
( load ) .label/addr POK2 .label/color POK .Screen/y DEO2 .Screen/x DEO2 |
| 617 | 617 |
.label/addr PEK2 |
| 618 | 618 |
&loop |
| 619 |
- ( draw ) DUP2 GET #00 SWP #20 SUB 8* ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 619 |
+ ( draw ) DUP2 LDA #00 SWP #20 SUB 8* ;font ADD2 .Screen/addr DEO2 .label/color PEK .Screen/color DEO |
|
| 620 | 620 |
( incr ) ++ |
| 621 | 621 |
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2 |
| 622 |
- DUP2 GET #00 NEQ ,&loop JNZ |
|
| 622 |
+ DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 623 | 623 |
POP2 |
| 624 | 624 |
( selection ) |
| 625 | 625 |
.selection/from PEK2 ;document/body SUB2 ;draw-short JSR2 |
| ... | ... |
@@ -31,10 +31,10 @@ |
| 31 | 31 |
} ( x y w h -- x1 y1 x2 y2 ) |
| 32 | 32 |
|
| 33 | 33 |
%SET-RECT {
|
| 34 |
- DUP2 ROT2 SWP2 #0006 ADD2 PUT2 |
|
| 35 |
- DUP2 ROT2 SWP2 #0004 ADD2 PUT2 |
|
| 36 |
- DUP2 ROT2 SWP2 #0002 ADD2 PUT2 |
|
| 37 |
- DUP2 ROT2 SWP2 PUT2 |
|
| 34 |
+ DUP2 ROT2 SWP2 #0006 ADD2 STA2 |
|
| 35 |
+ DUP2 ROT2 SWP2 #0004 ADD2 STA2 |
|
| 36 |
+ DUP2 ROT2 SWP2 #0002 ADD2 STA2 |
|
| 37 |
+ DUP2 ROT2 SWP2 STA2 |
|
| 38 | 38 |
POP2 |
| 39 | 39 |
} ( x1 y1 x2 y2 addr -- ) |
| 40 | 40 |
|
| ... | ... |
@@ -208,12 +208,12 @@ BRK |
| 208 | 208 |
.bankview/mode PEK #01 NEQ ,¬-copy-mode JNZ |
| 209 | 209 |
#00 .i POK |
| 210 | 210 |
©-loop |
| 211 |
- ( load ) .settings/tile PEK2 .i PEK ADD GET |
|
| 211 |
+ ( load ) .settings/tile PEK2 .i PEK ADD LDA |
|
| 212 | 212 |
( get touch addr ) |
| 213 | 213 |
.Mouse/x DEI2 .bankview/x PEK2 SUB2 STEP8 |
| 214 | 214 |
.Mouse/y DEI2 .bankview/y PEK2 SUB2 STEP8 #0010 MUL2 ADD2 |
| 215 | 215 |
( 2-bit mode ) #00 .settings/depth PEK #01 ADD MUL2 |
| 216 |
- .settings/page PEK2 ADD2 #00 .i PEK ADD2 PUT |
|
| 216 |
+ .settings/page PEK2 ADD2 #00 .i PEK ADD2 STA |
|
| 217 | 217 |
( incr ) .i PEK #01 ADD .i POK |
| 218 | 218 |
.i PEK #08 LTH ,©-loop JNZ |
| 219 | 219 |
;redraw JSR2 BRK |
| ... | ... |
@@ -227,7 +227,7 @@ BRK |
| 227 | 227 |
.Mouse/x DEI2 .bankview/x PEK2 SUB2 STEP8 |
| 228 | 228 |
.Mouse/y DEI2 .bankview/y PEK2 SUB2 STEP8 #0010 MUL2 ADD2 |
| 229 | 229 |
( 2-bit mode ) #00 .settings/depth PEK #01 ADD MUL2 |
| 230 |
- .settings/page PEK2 ADD2 #00 .i PEK ADD2 PUT |
|
| 230 |
+ .settings/page PEK2 ADD2 #00 .i PEK ADD2 STA |
|
| 231 | 231 |
( incr ) .i PEK #01 ADD .i POK |
| 232 | 232 |
.i PEK #08 LTH ,&erase-loop JNZ |
| 233 | 233 |
;redraw JSR2 BRK |
| ... | ... |
@@ -251,16 +251,16 @@ BRK |
| 251 | 251 |
.Mouse/x DEI2 .tileview/x PEK2 SUB2 .Mouse/x DEI2 .tileview/x PEK2 SUB2 #0040 DIV2 #0040 MUL2 SUB2 .pos/x POK2 |
| 252 | 252 |
.Mouse/y DEI2 .tileview/y PEK2 SUB2 .Mouse/y DEI2 .tileview/y PEK2 SUB2 #0040 DIV2 #0040 MUL2 SUB2 .pos/y POK2 |
| 253 | 253 |
.Mouse/state DEI #10 NEQ ,&no-erase-mode JNZ |
| 254 |
- ( load ) .addr PEK2 .pos/y PEK2 8/ ADD2 GET |
|
| 254 |
+ ( load ) .addr PEK2 .pos/y PEK2 8/ ADD2 LDA |
|
| 255 | 255 |
( mask ) #01 #07 .pos/x PEK2 8/ SWP POP SUB SFL |
| 256 | 256 |
#ff EOR AND |
| 257 |
- ( save ) .addr PEK2 .pos/y PEK2 8/ ADD2 PUT |
|
| 257 |
+ ( save ) .addr PEK2 .pos/y PEK2 8/ ADD2 STA |
|
| 258 | 258 |
;redraw JSR2 BRK |
| 259 | 259 |
&no-erase-mode |
| 260 |
- ( load ) .addr PEK2 .pos/y PEK2 8/ ADD2 GET |
|
| 260 |
+ ( load ) .addr PEK2 .pos/y PEK2 8/ ADD2 LDA |
|
| 261 | 261 |
( mask ) #01 #07 .pos/x PEK2 8/ SWP POP SUB SFL |
| 262 | 262 |
ORA |
| 263 |
- ( save ) .addr PEK2 .pos/y PEK2 8/ ADD2 PUT |
|
| 263 |
+ ( save ) .addr PEK2 .pos/y PEK2 8/ ADD2 STA |
|
| 264 | 264 |
;redraw JSR2 |
| 265 | 265 |
|
| 266 | 266 |
BRK |
| ... | ... |
@@ -358,29 +358,29 @@ RTN |
| 358 | 358 |
|
| 359 | 359 |
@op_shiftup |
| 360 | 360 |
|
| 361 |
- .settings/tile PEK2 GET |
|
| 362 |
- .settings/tile PEK2 #0001 ADD2 GET .settings/tile PEK2 PUT |
|
| 363 |
- .settings/tile PEK2 #0002 ADD2 GET .settings/tile PEK2 #0001 ADD2 PUT |
|
| 364 |
- .settings/tile PEK2 #0003 ADD2 GET .settings/tile PEK2 #0002 ADD2 PUT |
|
| 365 |
- .settings/tile PEK2 #0004 ADD2 GET .settings/tile PEK2 #0003 ADD2 PUT |
|
| 366 |
- .settings/tile PEK2 #0005 ADD2 GET .settings/tile PEK2 #0004 ADD2 PUT |
|
| 367 |
- .settings/tile PEK2 #0006 ADD2 GET .settings/tile PEK2 #0005 ADD2 PUT |
|
| 368 |
- .settings/tile PEK2 #0007 ADD2 GET .settings/tile PEK2 #0006 ADD2 PUT |
|
| 369 |
- .settings/tile PEK2 #0007 ADD2 PUT |
|
| 361 |
+ .settings/tile PEK2 LDA |
|
| 362 |
+ .settings/tile PEK2 #0001 ADD2 LDA .settings/tile PEK2 STA |
|
| 363 |
+ .settings/tile PEK2 #0002 ADD2 LDA .settings/tile PEK2 #0001 ADD2 STA |
|
| 364 |
+ .settings/tile PEK2 #0003 ADD2 LDA .settings/tile PEK2 #0002 ADD2 STA |
|
| 365 |
+ .settings/tile PEK2 #0004 ADD2 LDA .settings/tile PEK2 #0003 ADD2 STA |
|
| 366 |
+ .settings/tile PEK2 #0005 ADD2 LDA .settings/tile PEK2 #0004 ADD2 STA |
|
| 367 |
+ .settings/tile PEK2 #0006 ADD2 LDA .settings/tile PEK2 #0005 ADD2 STA |
|
| 368 |
+ .settings/tile PEK2 #0007 ADD2 LDA .settings/tile PEK2 #0006 ADD2 STA |
|
| 369 |
+ .settings/tile PEK2 #0007 ADD2 STA |
|
| 370 | 370 |
|
| 371 | 371 |
RTN |
| 372 | 372 |
|
| 373 | 373 |
@op_shiftdown |
| 374 | 374 |
|
| 375 |
- .settings/tile PEK2 #0007 ADD2 GET |
|
| 376 |
- .settings/tile PEK2 #0006 ADD2 GET .settings/tile PEK2 #0007 ADD2 PUT |
|
| 377 |
- .settings/tile PEK2 #0005 ADD2 GET .settings/tile PEK2 #0006 ADD2 PUT |
|
| 378 |
- .settings/tile PEK2 #0004 ADD2 GET .settings/tile PEK2 #0005 ADD2 PUT |
|
| 379 |
- .settings/tile PEK2 #0003 ADD2 GET .settings/tile PEK2 #0004 ADD2 PUT |
|
| 380 |
- .settings/tile PEK2 #0002 ADD2 GET .settings/tile PEK2 #0003 ADD2 PUT |
|
| 381 |
- .settings/tile PEK2 #0001 ADD2 GET .settings/tile PEK2 #0002 ADD2 PUT |
|
| 382 |
- .settings/tile PEK2 GET .settings/tile PEK2 #0001 ADD2 PUT |
|
| 383 |
- .settings/tile PEK2 PUT |
|
| 375 |
+ .settings/tile PEK2 #0007 ADD2 LDA |
|
| 376 |
+ .settings/tile PEK2 #0006 ADD2 LDA .settings/tile PEK2 #0007 ADD2 STA |
|
| 377 |
+ .settings/tile PEK2 #0005 ADD2 LDA .settings/tile PEK2 #0006 ADD2 STA |
|
| 378 |
+ .settings/tile PEK2 #0004 ADD2 LDA .settings/tile PEK2 #0005 ADD2 STA |
|
| 379 |
+ .settings/tile PEK2 #0003 ADD2 LDA .settings/tile PEK2 #0004 ADD2 STA |
|
| 380 |
+ .settings/tile PEK2 #0002 ADD2 LDA .settings/tile PEK2 #0003 ADD2 STA |
|
| 381 |
+ .settings/tile PEK2 #0001 ADD2 LDA .settings/tile PEK2 #0002 ADD2 STA |
|
| 382 |
+ .settings/tile PEK2 LDA .settings/tile PEK2 #0001 ADD2 STA |
|
| 383 |
+ .settings/tile PEK2 STA |
|
| 384 | 384 |
|
| 385 | 385 |
RTN |
| 386 | 386 |
|
| ... | ... |
@@ -529,7 +529,7 @@ RTN |
| 529 | 529 |
&hor |
| 530 | 530 |
( get bit ) |
| 531 | 531 |
;blank_icn #00 |
| 532 |
- .settings/tile PEK2 #00 .pt/y PEK ADD2 GET #07 .pt/x PEK SUB SFT #01 AND ( get bit ) |
|
| 532 |
+ .settings/tile PEK2 #00 .pt/y PEK ADD2 LDA #07 .pt/x PEK SUB SFT #01 AND ( get bit ) |
|
| 533 | 533 |
8* ADD2 .Screen/addr DEO2 ( add *8 ) |
| 534 | 534 |
( draw ) #21 .Screen/color DEO |
| 535 | 535 |
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2 |
| ... | ... |
@@ -575,7 +575,7 @@ RTN |
| 575 | 575 |
#00 .i POK |
| 576 | 576 |
&bytes |
| 577 | 577 |
.tileview/x PEK2 #0088 ADD2 .Screen/x DEO2 |
| 578 |
- .settings/tile PEK2 #00 .i PEK ADD2 GET #22 ;draw-byte JSR2 |
|
| 578 |
+ .settings/tile PEK2 #00 .i PEK ADD2 LDA #22 ;draw-byte JSR2 |
|
| 579 | 579 |
( incr ) .i PEK #01 ADD .i POK |
| 580 | 580 |
( incr ) .Screen/y DEI2 8+ .Screen/y DEO2 |
| 581 | 581 |
.i PEK #08 LTH ;&bytes JNZ2 |
| ... | ... |
@@ -684,16 +684,16 @@ RTN |
| 684 | 684 |
@draw-short ( short -- ) |
| 685 | 685 |
|
| 686 | 686 |
.addr POK2 |
| 687 |
- ;font_hex #00 ;addr GET #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 687 |
+ ;font_hex #00 ;addr LDA #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 688 | 688 |
( draw ) #22 .Screen/color DEO |
| 689 | 689 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 690 |
- ;font_hex #00 ;addr GET #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 690 |
+ ;font_hex #00 ;addr LDA #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 691 | 691 |
( draw ) #22 .Screen/color DEO |
| 692 | 692 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 693 |
- ;font_hex #00 ;addr ++ GET #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 693 |
+ ;font_hex #00 ;addr ++ LDA #f0 AND #04 SFT #08 MUL ADD2 .Screen/addr DEO2 |
|
| 694 | 694 |
( draw ) #22 .Screen/color DEO |
| 695 | 695 |
.Screen/x DEI2 8+ .Screen/x DEO2 |
| 696 |
- ;font_hex #00 ;addr ++ GET #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 696 |
+ ;font_hex #00 ;addr ++ LDA #0f AND #08 MUL ADD2 .Screen/addr DEO2 |
|
| 697 | 697 |
( draw ) #22 .Screen/color DEO |
| 698 | 698 |
|
| 699 | 699 |
RTN |
| ... | ... |
@@ -127,9 +127,9 @@ |
| 127 | 127 |
DUP2 ;&h JSR2 |
| 128 | 128 |
;&next JSR2 #0001 .Screen/x DEO2 .neralie/y PEK2 #0003 SUB2 .Screen/y DEO2 ,digit JSR |
| 129 | 129 |
DUP2 ;&v JSR2 |
| 130 |
- #04 ;v/spacing PUT |
|
| 130 |
+ #04 ;v/spacing STA |
|
| 131 | 131 |
.lines/y1 PEK2 #0003 SUB2 .neralie/y PEK2 .neralie/x PEK2 ;v JSR2 |
| 132 |
- #01 ;v/spacing PUT |
|
| 132 |
+ #01 ;v/spacing STA |
|
| 133 | 133 |
,&next JSR #0001 .Screen/y DEO2 .neralie/x PEK2 #0003 SUB2 .Screen/x DEO2 ;digit JSR2 |
| 134 | 134 |
DUP2 ,&h JSR |
| 135 | 135 |
,&next JSR .Screen/width DEI2 #0009 SUB2 .Screen/x DEO2 .neralie/y PEK2 #0003 SUB2 .Screen/y DEO2 ;digit JSR2 |
| ... | ... |
@@ -226,7 +226,7 @@ |
| 226 | 226 |
can end up overflowing into bit 24. |
| 227 | 227 |
) |
| 228 | 228 |
|
| 229 |
- ;mul/bhi PUT2 ;mul/ahi PUT2 |
|
| 229 |
+ ;mul/bhi STA2 ;mul/ahi STA2 |
|
| 230 | 230 |
#00 |
| 231 | 231 |
#00 |
| 232 | 232 |
#00 .mul/alo PEK #00 .mul/blo PEK MUL2 |
| ... | ... |
@@ -301,15 +301,15 @@ BRK |
| 301 | 301 |
.Controller/key DEI #08 NEQ ,&no-edit-backspace JNZ |
| 302 | 302 |
.path/length PEK #00 EQU ,&edit-end JNZ |
| 303 | 303 |
.path/length PEK #01 SUB .path/length POK |
| 304 |
- #00 ;path/name #00 .path/length PEK ADD2 PUT |
|
| 304 |
+ #00 ;path/name #00 .path/length PEK ADD2 STA |
|
| 305 | 305 |
BRK |
| 306 | 306 |
&no-edit-backspace |
| 307 | 307 |
( default ) |
| 308 | 308 |
.path/length PEK #1f EQU ,&edit-end JNZ |
| 309 |
- .Controller/key DEI ;path/name #00 .path/length PEK ADD2 PUT |
|
| 309 |
+ .Controller/key DEI ;path/name #00 .path/length PEK ADD2 STA |
|
| 310 | 310 |
.path/length PEK #01 ADD .path/length POK |
| 311 | 311 |
&edit-end |
| 312 |
- #00 ;path/name #00 .path/length PEK ADD2 PUT |
|
| 312 |
+ #00 ;path/name #00 .path/length PEK ADD2 STA |
|
| 313 | 313 |
BRK |
| 314 | 314 |
&no-edit |
| 315 | 315 |
|
| ... | ... |
@@ -375,7 +375,7 @@ RTN |
| 375 | 375 |
|
| 376 | 376 |
;data FILESIZE ;data ADD2 |
| 377 | 377 |
&loop |
| 378 |
- ( write ) OVR2 #00 ROT ROT PUT |
|
| 378 |
+ ( write ) OVR2 #00 ROT ROT STA |
|
| 379 | 379 |
( incr ) SWP2 #0001 ADD2 SWP2 |
| 380 | 380 |
OVR2 OVR2 LTH2 ,&loop JNZ |
| 381 | 381 |
POP2 POP2 |
| ... | ... |
@@ -498,7 +498,7 @@ RTN |
| 498 | 498 |
#00 .px/x POK |
| 499 | 499 |
&hor |
| 500 | 500 |
( addr ) ;size_icns #00 .brush/size PEK 8* ADD2 |
| 501 |
- ( byte ) #00 .px/y PEK ADD2 GET #07 .px/x PEK SUB SFT #01 AND |
|
| 501 |
+ ( byte ) #00 .px/y PEK ADD2 LDA #07 .px/x PEK SUB SFT #01 AND |
|
| 502 | 502 |
#00 EQU ,&no-pixel JNZ |
| 503 | 503 |
;patternize JSR2 #00 EQU ,&no-pixel JNZ |
| 504 | 504 |
.pt0/x PEK2 #00 .px/x PEK ADD2 .pt0/y PEK2 #00 .px/y PEK ADD2 .brush/oper PEK2 JSR2 &no-pixel |
| ... | ... |
@@ -557,7 +557,7 @@ RTN |
| 557 | 557 |
SWP POP #07 AND .px/x POK |
| 558 | 558 |
( get tile ) .pt1/x PEK2 8/ .pt1/y PEK2 8/ .canvas/w PEK2 MUL2 ADD2 8* |
| 559 | 559 |
( add addr ) ;data ADD2 |
| 560 |
- #00 .px/y PEK ADD2 GET #07 .px/x PEK SUB SFT #01 AND |
|
| 560 |
+ #00 .px/y PEK ADD2 LDA #07 .px/x PEK SUB SFT #01 AND |
|
| 561 | 561 |
|
| 562 | 562 |
RTN |
| 563 | 563 |
|
| ... | ... |
@@ -565,9 +565,9 @@ RTN |
| 565 | 565 |
|
| 566 | 566 |
.pt1/y POK2 .pt1/x POK2 |
| 567 | 567 |
( get tile addr ) ;data .pt1/x PEK2 8/ .pt1/y PEK2 8/ .canvas/w PEK2 MUL2 ADD2 8* .pt1/y PEK2 MOD8 ADD2 ADD2 |
| 568 |
- ( load ) DUP2 GET |
|
| 568 |
+ ( load ) DUP2 LDA |
|
| 569 | 569 |
( mask ) #01 #07 .pt1/x PEK2 MOD8 SWP POP SUB SFL ORA |
| 570 |
- ( save ) ROT ROT PUT |
|
| 570 |
+ ( save ) ROT ROT STA |
|
| 571 | 571 |
|
| 572 | 572 |
RTN |
| 573 | 573 |
|
| ... | ... |
@@ -575,9 +575,9 @@ RTN |
| 575 | 575 |
|
| 576 | 576 |
.pt1/y POK2 .pt1/x POK2 |
| 577 | 577 |
( get tile addr ) ;data .pt1/x PEK2 8/ .pt1/y PEK2 8/ .canvas/w PEK2 MUL2 ADD2 8* .pt1/y PEK2 MOD8 ADD2 ADD2 |
| 578 |
- ( load ) DUP2 GET |
|
| 578 |
+ ( load ) DUP2 LDA |
|
| 579 | 579 |
( mask ) #01 #07 .pt1/x PEK2 MOD8 SWP POP SUB SFL #ff EOR AND |
| 580 |
- ( save ) ROT ROT PUT |
|
| 580 |
+ ( save ) ROT ROT STA |
|
| 581 | 581 |
|
| 582 | 582 |
RTN |
| 583 | 583 |
|
| ... | ... |
@@ -852,11 +852,11 @@ RTN |
| 852 | 852 |
|
| 853 | 853 |
.color POK |
| 854 | 854 |
&loop |
| 855 |
- DUP2 GET #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 855 |
+ DUP2 LDA #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 856 | 856 |
( draw ) .color PEK #20 ADD .Screen/color DEO |
| 857 | 857 |
( incr ) #0001 ADD2 |
| 858 | 858 |
( incr ) .Screen/x DEI2 8+ .Screen/x DEO2 |
| 859 |
- ( loop ) DUP2 GET #00 NEQ ,&loop JNZ |
|
| 859 |
+ ( loop ) DUP2 LDA #00 NEQ ,&loop JNZ |
|
| 860 | 860 |
POP2 |
| 861 | 861 |
|
| 862 | 862 |
RTN |
| ... | ... |
@@ -886,11 +886,11 @@ RTN |
| 886 | 886 |
@strcpy ( src* dst* -- ) |
| 887 | 887 |
|
| 888 | 888 |
&loop |
| 889 |
- ( copy src->dst ) OVR2 OVR2 SWP2 GET ROT ROT PUT |
|
| 889 |
+ ( copy src->dst ) OVR2 OVR2 SWP2 LDA ROT ROT STA |
|
| 890 | 890 |
( incr dst ) ++ |
| 891 | 891 |
( incr src ) SWP2 ++ SWP2 |
| 892 |
- OVR2 GET #00 NEQ ,&loop JNZ |
|
| 893 |
- #00 ROT ROT PUT POP2 |
|
| 892 |
+ OVR2 LDA #00 NEQ ,&loop JNZ |
|
| 893 |
+ #00 ROT ROT STA POP2 |
|
| 894 | 894 |
|
| 895 | 895 |
RTN |
| 896 | 896 |
|
| ... | ... |
@@ -21,20 +21,20 @@ |
| 21 | 21 |
%DATA-LOCKS { #3000 }
|
| 22 | 22 |
%DATA-TYPES { #4000 }
|
| 23 | 23 |
|
| 24 |
-%GET-CHAR { #24 MOD #00 SWP ;b36clc ADD2 GET } ( b36 -- char )
|
|
| 25 |
-%GET-VALUE { #20 SUB #00 SWP ;values ADD2 GET } ( char -- b36 )
|
|
| 26 |
- |
|
| 27 |
-%GET-INDEX { #00 SWP #00 .grid/width PEK MUL2 ROT #00 SWP ADD2 } ( x y -- index )
|
|
| 28 |
-%GET-CELL { GET-INDEX DATA-CELLS ADD2 GET } ( x y -- char )
|
|
| 29 |
-%SET-CELL { ROT ROT GET-INDEX DATA-CELLS ADD2 PUT } ( x y char -- )
|
|
| 30 |
-%GET-TYPE { GET-INDEX DATA-TYPES ADD2 GET } ( x y -- type )
|
|
| 31 |
-%SET-TYPE { ROT ROT GET-INDEX DATA-TYPES ADD2 PUT } ( x y type -- )
|
|
| 32 |
-%GET-LOCK { GET-INDEX DATA-TYPES ADD2 GET } ( x y -- type )
|
|
| 33 |
-%SET-LOCK { ROT ROT GET-INDEX DATA-TYPES ADD2 PUT } ( x y type -- )
|
|
| 34 |
-%GET-PORT { } ( x y lock -- char )
|
|
| 24 |
+%LDA-CHAR { #24 MOD #00 SWP ;b36clc ADD2 LDA } ( b36 -- char )
|
|
| 25 |
+%LDA-VALUE { #20 SUB #00 SWP ;values ADD2 LDA } ( char -- b36 )
|
|
| 26 |
+ |
|
| 27 |
+%LDA-INDEX { #00 SWP #00 .grid/width PEK MUL2 ROT #00 SWP ADD2 } ( x y -- index )
|
|
| 28 |
+%LDA-CELL { LDA-INDEX DATA-CELLS ADD2 LDA } ( x y -- char )
|
|
| 29 |
+%SET-CELL { ROT ROT LDA-INDEX DATA-CELLS ADD2 STA } ( x y char -- )
|
|
| 30 |
+%LDA-TYPE { LDA-INDEX DATA-TYPES ADD2 LDA } ( x y -- type )
|
|
| 31 |
+%SET-TYPE { ROT ROT LDA-INDEX DATA-TYPES ADD2 STA } ( x y type -- )
|
|
| 32 |
+%LDA-LOCK { LDA-INDEX DATA-TYPES ADD2 LDA } ( x y -- type )
|
|
| 33 |
+%SET-LOCK { ROT ROT LDA-INDEX DATA-TYPES ADD2 STA } ( x y type -- )
|
|
| 34 |
+%LDA-PORT { } ( x y lock -- char )
|
|
| 35 | 35 |
%SET-PORT { } ( x y char -- )
|
| 36 | 36 |
|
| 37 |
-%GET-CELL-VALUE { GET-CELL GET-VALUE } ( x y -- b36 )
|
|
| 37 |
+%LDA-CELL-VALUE { LDA-CELL LDA-VALUE } ( x y -- b36 )
|
|
| 38 | 38 |
|
| 39 | 39 |
( devices ) |
| 40 | 40 |
|
| ... | ... |
@@ -183,14 +183,14 @@ RTN |
| 183 | 183 |
DUP2 #01 SET-LOCK |
| 184 | 184 |
$no-lock |
| 185 | 185 |
STH DUP2 #02 #02 STHr MUL ADD ,set-type JSR2 |
| 186 |
- GET-CELL |
|
| 186 |
+ LDA-CELL |
|
| 187 | 187 |
) |
| 188 | 188 |
|
| 189 | 189 |
RTN |
| 190 | 190 |
|
| 191 | 191 |
@get-cell-sprite ( x y -- addr ) |
| 192 | 192 |
|
| 193 |
- DUP2 GET-CELL |
|
| 193 |
+ DUP2 LDA-CELL |
|
| 194 | 194 |
( if character is dot ) |
| 195 | 195 |
DUP #2e NEQ ,&no-bar JNZ |
| 196 | 196 |
( check if x,y is grid ) |
| ... | ... |
@@ -209,11 +209,11 @@ RTN |
| 209 | 209 |
@op-a ( x y char -- ) |
| 210 | 210 |
|
| 211 | 211 |
POP |
| 212 |
- ( get left ) DUP2 SWP -- SWP GET-CELL-VALUE STH |
|
| 213 |
- ( get right ) DUP2 SWP ++ SWP GET-CELL-VALUE STH |
|
| 212 |
+ ( get left ) DUP2 SWP -- SWP LDA-CELL-VALUE STH |
|
| 213 |
+ ( get right ) DUP2 SWP ++ SWP LDA-CELL-VALUE STH |
|
| 214 | 214 |
( incr y ) ++ |
| 215 | 215 |
( get result ) ADDr STHr |
| 216 |
- GET-CHAR |
|
| 216 |
+ LDA-CHAR |
|
| 217 | 217 |
SET-CELL |
| 218 | 218 |
|
| 219 | 219 |
RTN |
| ... | ... |
@@ -221,11 +221,11 @@ RTN |
| 221 | 221 |
@op-b ( x y char -- ) |
| 222 | 222 |
|
| 223 | 223 |
POP |
| 224 |
- ( get left ) DUP2 SWP -- SWP GET-CELL-VALUE STH |
|
| 225 |
- ( get right ) DUP2 SWP ++ SWP GET-CELL-VALUE STH |
|
| 224 |
+ ( get left ) DUP2 SWP -- SWP LDA-CELL-VALUE STH |
|
| 225 |
+ ( get right ) DUP2 SWP ++ SWP LDA-CELL-VALUE STH |
|
| 226 | 226 |
( incr y ) ++ |
| 227 | 227 |
( get result ) SUBr STHr |
| 228 |
- GET-CHAR |
|
| 228 |
+ LDA-CHAR |
|
| 229 | 229 |
SET-CELL |
| 230 | 230 |
|
| 231 | 231 |
( NOTE: Issue is not with modulo, but with converting ff to 36 ) |
| ... | ... |
@@ -308,7 +308,7 @@ RTN |
| 308 | 308 |
#2a SET-CELL POP STHr RTN |
| 309 | 309 |
¬-edge |
| 310 | 310 |
( collide ) |
| 311 |
- DUP2 -- GET-CELL #2e EQU ,¬-collide JNZ |
|
| 311 |
+ DUP2 -- LDA-CELL #2e EQU ,¬-collide JNZ |
|
| 312 | 312 |
#2a SET-CELL POP STHr RTN |
| 313 | 313 |
¬-collide |
| 314 | 314 |
( move ) |
| ... | ... |
@@ -377,7 +377,7 @@ RTN |
| 377 | 377 |
#2a SET-CELL POP STHr RTN |
| 378 | 378 |
¬-edge |
| 379 | 379 |
( collide ) |
| 380 |
- DUP2 SWP -- SWP GET-CELL #2e EQU ,¬-collide JNZ |
|
| 380 |
+ DUP2 SWP -- SWP LDA-CELL #2e EQU ,¬-collide JNZ |
|
| 381 | 381 |
#2a SET-CELL POP STHr RTN |
| 382 | 382 |
¬-collide |
| 383 | 383 |
( move ) |
| ... | ... |
@@ -420,7 +420,7 @@ RTN |
| 420 | 420 |
¬-dot |
| 421 | 421 |
|
| 422 | 422 |
( skip locked ) |
| 423 |
- ROT ROT DUP2 GET-LOCK #00 EQU ,¬-locked JNZ |
|
| 423 |
+ ROT ROT DUP2 LDA-LOCK #00 EQU ,¬-locked JNZ |
|
| 424 | 424 |
POP POP2 RTN |
| 425 | 425 |
¬-locked |
| 426 | 426 |
ROT |
| ... | ... |
@@ -469,7 +469,7 @@ RTN |
| 469 | 469 |
#00 .grid/width PEK |
| 470 | 470 |
&hor |
| 471 | 471 |
( get x,y ) SWP2 OVR STH SWP2 OVR STHr |
| 472 |
- DUP2 GET-CELL ;run-char JSR2 |
|
| 472 |
+ DUP2 LDA-CELL ;run-char JSR2 |
|
| 473 | 473 |
( incr ) SWP ++ SWP |
| 474 | 474 |
DUP2 LTH ,&hor JNZ |
| 475 | 475 |
POP2 |
| ... | ... |
@@ -487,19 +487,19 @@ RTN |
| 487 | 487 |
( Positionx ) |
| 488 | 488 |
#0000 .Screen/x DEO2 |
| 489 | 489 |
.selection/x1 PEK |
| 490 |
- DUP #04 SFT GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 490 |
+ DUP #04 SFT LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 491 | 491 |
#22 .Screen/color DEO |
| 492 | 492 |
#0008 .Screen/x DEO2 |
| 493 |
- #0f AND GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 493 |
+ #0f AND LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 494 | 494 |
#22 .Screen/color DEO |
| 495 | 495 |
|
| 496 | 496 |
( Positiony ) |
| 497 | 497 |
#0010 .Screen/x DEO2 |
| 498 | 498 |
.selection/y1 PEK |
| 499 |
- DUP #04 SFT GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 499 |
+ DUP #04 SFT LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 500 | 500 |
#22 .Screen/color DEO |
| 501 | 501 |
#0018 .Screen/x DEO2 |
| 502 |
- #0f AND GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 502 |
+ #0f AND LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 503 | 503 |
#22 .Screen/color DEO |
| 504 | 504 |
|
| 505 | 505 |
#0020 .Screen/x DEO2 |
| ... | ... |
@@ -509,10 +509,10 @@ RTN |
| 509 | 509 |
( Frame ) |
| 510 | 510 |
#0030 .Screen/x DEO2 |
| 511 | 511 |
.timer/frame PEK |
| 512 |
- DUP #04 SFT GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 512 |
+ DUP #04 SFT LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 513 | 513 |
#22 .Screen/color DEO |
| 514 | 514 |
#0038 .Screen/x DEO2 |
| 515 |
- #0f AND GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 515 |
+ #0f AND LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 516 | 516 |
#22 .Screen/color DEO |
| 517 | 517 |
|
| 518 | 518 |
#0040 .Screen/x DEO2 |
| ... | ... |
@@ -522,10 +522,10 @@ RTN |
| 522 | 522 |
( Speed ) |
| 523 | 523 |
#0050 .Screen/x DEO2 |
| 524 | 524 |
.timer/speed PEK |
| 525 |
- DUP #04 SFT GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 525 |
+ DUP #04 SFT LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 526 | 526 |
#22 .Screen/color DEO |
| 527 | 527 |
#0058 .Screen/x DEO2 |
| 528 |
- #0f AND GET-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 528 |
+ #0f AND LDA-CHAR #20 SUB #00 SWP #0008 MUL2 ;font ADD2 .Screen/addr DEO2 |
|
| 529 | 529 |
#22 .Screen/color DEO |
| 530 | 530 |
|
| 531 | 531 |
( TODO: Signal VU ) |
| 534 | 534 |
deleted file mode 100644 |
| ... | ... |
@@ -1 +0,0 @@ |
| 1 |
-�������������������������������������������������������������������������������������������������������������������������������� |
|
| 2 | 0 |
\ No newline at end of file |
| ... | ... |
@@ -42,7 +42,7 @@ Program p; |
| 42 | 42 |
char ops[][4] = {
|
| 43 | 43 |
"BRK", "LIT", "NOP", "POP", "DUP", "SWP", "OVR", "ROT", |
| 44 | 44 |
"EQU", "NEQ", "GTH", "LTH", "JMP", "JNZ", "JSR", "STH", |
| 45 |
- "PEK", "POK", "GET", "PUT", "---", "---", "DEI", "DEO", |
|
| 45 |
+ "PEK", "POK", "LDR", "STR", "LDA", "STA", "DEI", "DEO", |
|
| 46 | 46 |
"ADD", "SUB", "MUL", "DIV", "AND", "ORA", "EOR", "SFT" |
| 47 | 47 |
}; |
| 48 | 48 |
|
| ... | ... |
@@ -45,14 +45,16 @@ void op_neq(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b
|
| 45 | 45 |
void op_gth(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b > a); }
|
| 46 | 46 |
void op_lth(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b < a); }
|
| 47 | 47 |
void op_jmp(Uxn *u) { Uint8 a = pop8(u->src); u->ram.ptr += (Sint8)a; }
|
| 48 |
-void op_jnz(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); if (b) u->ram.ptr += (Sint8)a; }
|
|
| 48 |
+void op_jnz(Uxn *u) { Uint8 a = pop8(u->src); if (pop8(u->src)) u->ram.ptr += (Sint8)a; }
|
|
| 49 | 49 |
void op_jsr(Uxn *u) { Uint8 a = pop8(u->src); push16(u->dst, u->ram.ptr); u->ram.ptr += (Sint8)a; }
|
| 50 | 50 |
void op_sth(Uxn *u) { Uint8 a = pop8(u->src); push8(u->dst, a); }
|
| 51 | 51 |
/* Memory */ |
| 52 | 52 |
void op_pek(Uxn *u) { Uint8 a = pop8(u->src); push8(u->src, mempeek8(u->ram.dat, a)); }
|
| 53 | 53 |
void op_pok(Uxn *u) { Uint8 a = pop8(u->src); Uint8 b = pop8(u->src); mempoke8(u->ram.dat, a, b); }
|
| 54 |
-void op_get(Uxn *u) { Uint16 a = pop16(u->src); push8(u->src, mempeek8(u->ram.dat, a)); }
|
|
| 55 |
-void op_put(Uxn *u) { Uint16 a = pop16(u->src); Uint8 b = pop8(u->src); mempoke8(u->ram.dat, a, b); }
|
|
| 54 |
+void op_ldr(Uxn *u) { Uint8 a = pop8(u->src); push8(u->src, mempeek8(u->ram.dat, u->ram.ptr + (Sint8)a)); }
|
|
| 55 |
+void op_str(Uxn *u) { Uint8 a = pop8(u->src); Uint8 b = pop8(u->src); mempoke8(u->ram.dat, u->ram.ptr + (Sint8)a, b); }
|
|
| 56 |
+void op_lda(Uxn *u) { Uint16 a = pop16(u->src); push8(u->src, mempeek8(u->ram.dat, a)); }
|
|
| 57 |
+void op_sta(Uxn *u) { Uint16 a = pop16(u->src); Uint8 b = pop8(u->src); mempoke8(u->ram.dat, a, b); }
|
|
| 56 | 58 |
void op_dei(Uxn *u) { Uint8 a = pop8(u->src); push8(u->src, devpeek8(&u->dev[a >> 4], a)); }
|
| 57 | 59 |
void op_deo(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); devpoke8(&u->dev[a >> 4], a, b); }
|
| 58 | 60 |
/* Arithmetic */ |
| ... | ... |
@@ -77,14 +79,16 @@ void op_neq16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->sr
|
| 77 | 79 |
void op_gth16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->src, b > a); }
|
| 78 | 80 |
void op_lth16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->src, b < a); }
|
| 79 | 81 |
void op_jmp16(Uxn *u) { u->ram.ptr = pop16(u->src); }
|
| 80 |
-void op_jnz16(Uxn *u) { Uint16 a = pop16(u->src); Uint8 b = pop8(u->src); if (b) u->ram.ptr = a; }
|
|
| 82 |
+void op_jnz16(Uxn *u) { Uint16 a = pop16(u->src); if (pop8(u->src)) u->ram.ptr = a; }
|
|
| 81 | 83 |
void op_jsr16(Uxn *u) { push16(u->dst, u->ram.ptr); u->ram.ptr = pop16(u->src); }
|
| 82 | 84 |
void op_sth16(Uxn *u) { Uint16 a = pop16(u->src); push16(u->dst, a); }
|
| 83 | 85 |
/* Memory(16-bits) */ |
| 84 | 86 |
void op_pek16(Uxn *u) { Uint8 a = pop8(u->src); push16(u->src, mempeek16(u->ram.dat, a)); }
|
| 85 | 87 |
void op_pok16(Uxn *u) { Uint8 a = pop8(u->src); Uint16 b = pop16(u->src); mempoke16(u->ram.dat, a, b); }
|
| 86 |
-void op_get16(Uxn *u) { Uint16 a = pop16(u->src); push16(u->src, mempeek16(u->ram.dat, a)); }
|
|
| 87 |
-void op_put16(Uxn *u) { Uint16 a = pop16(u->src); Uint16 b = pop16(u->src); mempoke16(u->ram.dat, a, b); }
|
|
| 88 |
+void op_ldr16(Uxn *u) { Uint8 a = pop8(u->src); push16(u->src, mempeek16(u->ram.dat, u->ram.ptr + (Sint8)a)); }
|
|
| 89 |
+void op_str16(Uxn *u) { Uint8 a = pop8(u->src); Uint16 b = pop16(u->src); mempoke16(u->ram.dat, u->ram.ptr + (Sint8)a, b); }
|
|
| 90 |
+void op_lda16(Uxn *u) { Uint16 a = pop16(u->src); push16(u->src, mempeek16(u->ram.dat, a)); }
|
|
| 91 |
+void op_sta16(Uxn *u) { Uint16 a = pop16(u->src); Uint16 b = pop16(u->src); mempoke16(u->ram.dat, a, b); }
|
|
| 88 | 92 |
void op_dei16(Uxn *u) { Uint8 a = pop8(u->src); push16(u->src, devpeek16(&u->dev[a >> 4], a)); }
|
| 89 | 93 |
void op_deo16(Uxn *u) { Uint8 a = pop8(u->src); Uint16 b = pop16(u->src); devpoke16(&u->dev[a >> 4], a, b); }
|
| 90 | 94 |
/* Arithmetic(16-bits) */ |
| ... | ... |
@@ -100,12 +104,12 @@ void op_sft16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push16(u->s
|
| 100 | 104 |
void (*ops[])(Uxn *u) = {
|
| 101 | 105 |
op_brk, op_lit, op_nop, op_pop, op_dup, op_swp, op_ovr, op_rot, |
| 102 | 106 |
op_equ, op_neq, op_gth, op_lth, op_jmp, op_jnz, op_jsr, op_sth, |
| 103 |
- op_pek, op_pok, op_get, op_put, op_nop, op_nop, op_dei, op_deo, |
|
| 107 |
+ op_pek, op_pok, op_ldr, op_str, op_lda, op_sta, op_dei, op_deo, |
|
| 104 | 108 |
op_add, op_sub, op_mul, op_div, op_and, op_ora, op_eor, op_sft, |
| 105 | 109 |
/* 16-bit */ |
| 106 | 110 |
op_brk, op_lit16, op_nop, op_pop16, op_dup16, op_swp16, op_ovr16, op_rot16, |
| 107 | 111 |
op_equ16, op_neq16, op_gth16, op_lth16, op_jmp16, op_jnz16, op_jsr16, op_sth16, |
| 108 |
- op_pek16, op_pok16, op_get16, op_put16, op_nop, op_nop, op_dei16, op_deo16, |
|
| 112 |
+ op_pek16, op_pok16, op_ldr16, op_str16, op_lda16, op_sta16, op_dei16, op_deo16, |
|
| 109 | 113 |
op_add16, op_sub16, op_mul16, op_div16, op_and16, op_ora16, op_eor16, op_sft16 |
| 110 | 114 |
}; |
| 111 | 115 |
|