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