69
|
1 *
|
|
2 * GAME09 interpreter
|
|
3 *
|
|
4
|
70
|
5 ifp1
|
|
6 use defsfile
|
|
7 endc
|
69
|
8
|
70
|
9 nam Game09
|
|
10 ttl Game09
|
|
11 tylg set Prgrm+Objct
|
|
12 atrv set ReEnt+rev
|
|
13 rev set $01
|
71
|
14 edition set 1
|
69
|
15
|
70
|
16 mod eom,name,tylg,atrv,start,size
|
69
|
17
|
70
|
18
|
|
19 org 0
|
|
20 dpage rmb $96
|
69
|
21
|
70
|
22 DP00 equ $00
|
73
|
23 DP42 equ $42 program copy pointer
|
70
|
24 DP46 equ $46
|
73
|
25 DP4A equ $4A input lineno
|
70
|
26 DP4B equ $4B
|
|
27 DP4E equ $4E
|
|
28 DP4F equ $4F
|
73
|
29 DP50 equ $50 program top
|
70
|
30 DP52 equ $52
|
73
|
31 DP58 equ $58 program max
|
|
32 DP7E equ $7E program current end
|
70
|
33 DP82 equ $82
|
|
34 DP83 equ $83
|
|
35 DP84 equ $84
|
73
|
36 DP86 equ $86 input line (except lineno)
|
70
|
37 DP88 equ $88
|
|
38 DP8A equ $8A
|
|
39 DP8C equ $8C
|
|
40 DP8D equ $8D
|
|
41 DP8E equ $8E
|
|
42 DP94 equ $94
|
73
|
43 DPWORK rmb 2 $96
|
|
44 DPSTK rmb 2 $98
|
69
|
45
|
73
|
46 lineb0 rmb 2 $9A
|
|
47 linetop rmb 2 $9C
|
|
48 lineb9a rmb 2 $9E
|
|
49 lineb9b rmb 2 $A0
|
|
50 lineend rmb 2 $A2
|
|
51 linebuf rmb 252
|
|
52 program rmb $2000
|
70
|
53 size equ .
|
69
|
54
|
71
|
55 name fcs "Game09"
|
|
56 fcb edition
|
|
57 start * clrb
|
|
58 * os9 F$Exit
|
70
|
59 LC000 BRA LC005
|
|
60 LC002 NOP
|
|
61 LC003 BRA LC014
|
|
62 LC005 TFR U,D
|
69
|
63 TFR A,DP
|
70
|
64 STU <DPWORK
|
|
65 STS <DPSTK
|
|
66 LEAX program,U
|
69
|
67 STX <$7E
|
|
68 STX <$50
|
|
69 LDA #$FF
|
|
70 STA ,X
|
71
|
71 LC014 LDU <DPWORK
|
73
|
72 LEAX linebuf-1,U
|
|
73 STX <lineb0
|
|
74 LEAX 1,X
|
|
75 STX <linetop
|
|
76 LEAX 5,X
|
|
77 STX <lineb9a
|
|
78 LEAX 1,X
|
|
79 STX <lineb9b
|
|
80 LEAX 255-6,X
|
|
81 STX <lineend
|
70
|
82 LEAX size,U
|
69
|
83 STX <$58
|
70
|
84 LC020 LDA #$FF
|
69
|
85 STA <$8C
|
70
|
86 LC024 LDS <DPSTK
|
|
87 LDU <DPWORK
|
|
88 LEAU linebuf,U
|
69
|
89 LEAX >LC63F,PCR
|
|
90 LBSR LC165
|
70
|
91 LC032 LBSR LC370
|
69
|
92 BCS LC06D
|
|
93 STX <$42
|
|
94 LBSR LC1D3
|
|
95 BEQ LC024
|
70
|
96 LC03E BSR LC09C
|
|
97 LC040 BMI LC024
|
69
|
98 STX <$42
|
70
|
99 LC044 LEAX +$02,X
|
69
|
100 LDA ,X+
|
|
101 CMPA #$20
|
|
102 BNE LC05B
|
|
103 LBSR LC1D3
|
|
104 BNE LC05F
|
|
105 LEAX +$01,X
|
|
106 TST ,X
|
|
107 BRA LC040
|
70
|
108 LC057 LDS <DPSTK
|
|
109 LC05B BSR LC0A8
|
69
|
110 BRA LC040
|
70
|
111 LC05F LDX <$42
|
69
|
112 STX <$84
|
|
113 BSR LC0A0
|
|
114 BMI LC024
|
|
115 CMPX <$84
|
|
116 BEQ LC03E
|
|
117 BRA LC044
|
70
|
118 LC06D STX <$86
|
69
|
119 STD <$4A
|
|
120 LDB ,X
|
|
121 CMPB #$2F
|
|
122 BNE LC0B1
|
73
|
123 LC077 BSR LC09C listing
|
70
|
124 LC079 LBSR LC397
|
69
|
125 TST ,X
|
|
126 BMI LC024
|
|
127 BSR LC087
|
|
128 LBSR LC173
|
|
129 BRA LC079
|
70
|
130 LC087 LDD ,X++
|
69
|
131 PSHS X
|
|
132 LBSR LC443
|
|
133 PULS X
|
|
134 LBRA LC165
|
70
|
135 LC093 LDX <$42
|
69
|
136 LEAX +$02,X
|
70
|
137 LC097 TST ,X+
|
69
|
138 BNE LC097
|
|
139 RTS
|
70
|
140 LC09C LDX <$7E
|
|
141 LC09E STX <$42
|
|
142 LC0A0 LDD ,X
|
69
|
143 BMI LC0B0
|
|
144 SUBD <$4A
|
|
145 BCC LC0AF
|
70
|
146 LC0A8 LBSR LC173
|
69
|
147 BSR LC093
|
|
148 BRA LC09E
|
70
|
149 LC0AF CLRA
|
|
150 LC0B0 RTS
|
|
151 LC0B1 LDX <$4A
|
69
|
152 BEQ LC077
|
|
153 BMI LC117
|
|
154 LDX <$50
|
|
155 LDA ,X
|
|
156 INCA
|
|
157 BNE LC117
|
|
158 BSR LC09C
|
|
159 BMI LC0DE
|
|
160 LDX ,X
|
|
161 CMPX <$4A
|
|
162 BNE LC0DE
|
|
163 BSR LC093
|
|
164 LDY <$42
|
70
|
165 LC0CD LDA ,X
|
69
|
166 STA ,Y
|
|
167 CMPX <$50
|
|
168 BEQ LC0DB
|
|
169 LEAX +$01,X
|
|
170 LEAY +$01,Y
|
|
171 BRA LC0CD
|
70
|
172 LC0DB STY <$50
|
73
|
173 LC0DE LDX <$86 get program line length
|
69
|
174 LDB #$03
|
|
175 TST ,X+
|
|
176 BEQ LC114
|
70
|
177 LC0E6 INCB
|
69
|
178 TST ,X+
|
|
179 BNE LC0E6
|
|
180 CLRA
|
|
181 ADDD <$50
|
|
182 TFR D,Y
|
|
183 SUBD <$58
|
|
184 BCC LC117
|
|
185 LDX <$50
|
|
186 STY <$50
|
|
187 LEAX +$01,X
|
|
188 LEAY +$01,Y
|
73
|
189 LC0FD LDB ,-X make insert space
|
69
|
190 STB ,-Y
|
|
191 CMPX <$42
|
|
192 BNE LC0FD
|
|
193 LDY <$4A
|
|
194 STY ,X++
|
|
195 LDY <$86
|
70
|
196 LC10E LDB ,Y+
|
69
|
197 STB ,X+
|
|
198 BNE LC10E
|
70
|
199 LC114 LBRA LC032
|
|
200 LC117 LBRA LC024
|
71
|
201 LC11A LDX <DPWORK
|
|
202 LEAX $8F,X
|
69
|
203 TST <$8C
|
|
204 BNE LC124
|
73
|
205 LDX <linetop
|
70
|
206 LC124 LEAY <LC159,PCR
|
|
207 LC127 PSHS X
|
69
|
208 LDX ,Y++
|
|
209 PSHU X
|
|
210 LBSR LC335
|
|
211 PULU X
|
|
212 PULS X
|
|
213 PSHS A
|
|
214 LDA <$83
|
|
215 ADDA #$30
|
|
216 STA ,X+
|
|
217 PULS A
|
|
218 TST +$01,Y
|
|
219 BNE LC127
|
|
220 CLR ,X
|
|
221 COM ,-X
|
|
222 PSHS X
|
|
223 LEAX -$05,X
|
|
224 CLRA
|
70
|
225 LC14B LEAX +$01,X
|
69
|
226 INCA
|
|
227 LDB ,X
|
|
228 CMPB #$30
|
|
229 BEQ LC14B
|
|
230 COM [,S++]
|
|
231 SUBA #$06
|
70
|
232 LC158 RTS
|
|
233 LC159 FDB 10000
|
69
|
234 FDB 1000
|
|
235 FDB 100
|
|
236 FDB 10
|
|
237 FDB 1
|
|
238 FDB 0
|
70
|
239 LC165 CLRA
|
|
240 LC166 STA <$94
|
|
241 LC168 LDB ,X+
|
69
|
242 CMPB <$94
|
|
243 BEQ LC158
|
|
244 LBSR LC412
|
|
245 BRA LC168
|
70
|
246 LC173 LBSR LC650
|
69
|
247 LBCS LC024
|
|
248 RTS
|
70
|
249 LC17B CMPA #$20
|
69
|
250 BEQ LC1D1
|
|
251 CLR <$4A
|
|
252 CLR <$4B
|
|
253 LDB +$01,X
|
|
254 BITB #$DF
|
|
255 BNE LC1A6
|
|
256 CMPA #$5D
|
|
257 BNE LC195
|
|
258 PULU X,B,A
|
|
259 STD <$46
|
|
260 STX <$42
|
|
261 BRA LC1C6
|
70
|
262 LC195 CMPA #$40
|
69
|
263 BNE LC1A6
|
|
264 LEAX +$01,X
|
|
265 STX <$46
|
|
266 CLRA
|
|
267 CLRB
|
|
268 LDY <$42
|
|
269 PSHU Y,X,B,A
|
|
270 BRA LC1D3
|
70
|
271 LC1A6 CMPA #$22
|
69
|
272 BNE LC1CA
|
|
273 LEAX +$01,X
|
|
274 BSR LC166
|
|
275 BRA LC1D3
|
70
|
276 LC1B0 CMPA #$5C
|
69
|
277 BNE LC1B9
|
|
278 LBSR LC676
|
|
279 BRA LC1D3
|
70
|
280 LC1B9 STX <$84
|
69
|
281 BSR LC1EC
|
|
282 LBSR LC39F
|
|
283 BSR LC173
|
|
284 LDX <$4A
|
|
285 BNE LC1D7
|
70
|
286 LC1C6 LDX <$46
|
69
|
287 BRA LC1D3
|
70
|
288 LC1CA CMPA #$2F
|
69
|
289 BNE LC1B0
|
|
290 LBSR LC397
|
70
|
291 LC1D1 LEAX +$01,X
|
|
292 LC1D3 LDA ,X
|
69
|
293 BNE LC17B
|
70
|
294 LC1D7 RTS
|
|
295 LC1D8 PSHS A
|
69
|
296 LEAX +$01,X
|
|
297 BSR LC1F6
|
|
298 LDX <$46
|
70
|
299 LC1E0 LDY <$42
|
69
|
300 PSHU Y,X,B,A
|
|
301 PULS PC,B,A
|
70
|
302 LC1E7 LDA #$3D
|
69
|
303 LBRA LC4F9
|
70
|
304 LC1EC LDA ,X+
|
69
|
305 BITA #$DF
|
|
306 BEQ LC1E7
|
|
307 CMPA #$3D
|
|
308 BNE LC1EC
|
70
|
309 LC1F6 LBSR LC521
|
|
310 LC1F9 PSHS B
|
69
|
311 LDB ,X
|
|
312 BITB #$DF
|
|
313 BEQ LC210
|
|
314 CMPB #$29
|
|
315 BEQ LC214
|
|
316 CMPB #$2C
|
|
317 BEQ LC1D8
|
|
318 PULS B
|
|
319 LBSR LC29C
|
|
320 BRA LC1F9
|
70
|
321 LC210 STX <$46
|
69
|
322 PULS PC,B
|
70
|
323 LC214 LEAX +$01,X
|
69
|
324 PULS PC,B
|
70
|
325 LC218 CMPB #$3F
|
69
|
326 BNE LC22E
|
|
327 PSHS X
|
|
328 STB <$8C
|
|
329 LBSR LC5D8
|
|
330 BSR LC1F6
|
|
331 PULS X
|
|
332 LEAX +$01,X
|
|
333 RTS
|
|
334 LEAX +$01,X
|
|
335 BRA LC1F6
|
70
|
336 LC22E BSR LC287
|
69
|
337 CMPA #$3A
|
|
338 BEQ LC239
|
|
339 BSR LC26E
|
70
|
340 LC236 LDD ,Y
|
69
|
341 RTS
|
70
|
342 LC239 BSR LC269
|
69
|
343 CLRA
|
70
|
344 LC23C LDB ,Y
|
|
345 LC23E RTS
|
|
346 LC23F CMPB #$22
|
69
|
347 BCS LC218
|
|
348 CMPB #$2D
|
|
349 BHI LC218
|
|
350 SUBB #$22
|
|
351 LSLB
|
|
352 LEAY <LC251,PCR
|
|
353 LDD B,Y
|
|
354 JMP D,Y
|
68
|
355
|
70
|
356 LC251 fdb LC6EC-* 049b
|
69
|
357 fdb LC535-* 02e2
|
|
358 fdb LC5A1-* 034c
|
|
359 fdb LC545-* 02ee
|
|
360 fdb LC236-* ffdd
|
|
361 fdb LC54E-* 02f3
|
|
362 fdb LC236-* ffd9
|
|
363 fdb LC23C-* ffdd
|
|
364 fdb LC23E-* ffdd
|
|
365 fdb LC53F-* 02dc
|
|
366 fdb LC23F-* ffdd
|
|
367 fdb LC53F-* 02d8
|
68
|
368
|
70
|
369 LC269 BSR LC279
|
69
|
370 LEAY D,Y
|
|
371 RTS
|
70
|
372 LC26E CMPA #$28
|
69
|
373 BNE LC292
|
|
374 BSR LC279
|
|
375 LSLB
|
|
376 ROLA
|
|
377 LEAY D,Y
|
|
378 RTS
|
70
|
379 LC279 BSR LC292
|
69
|
380 LDY ,Y
|
|
381 PSHS Y
|
|
382 LEAX +$01,X
|
|
383 LBSR LC1F6
|
|
384 PULS PC,Y
|
70
|
385 LC287 LDB ,X+
|
|
386 LC289 LDA ,X+
|
69
|
387 CMPA #$41
|
|
388 BPL LC289
|
|
389 LEAX -$01,X
|
|
390 RTS
|
68
|
391
|
70
|
392 LC292 ANDB #$3F
|
69
|
393 CLRA
|
|
394 LSLB
|
71
|
395 ADDD <$04
|
69
|
396 TFR D,Y
|
|
397 RTS
|
70
|
398 LC29C PSHU B,A
|
69
|
399 LDD ,X+
|
|
400 PSHS B,A
|
|
401 SUBB #$3D
|
|
402 BEQ LC2A9
|
|
403 DECB
|
|
404 BNE LC2AB
|
70
|
405 LC2A9 LEAX +$01,X
|
|
406 LC2AB LBSR LC521
|
69
|
407 PULU Y
|
|
408 EXG D,Y
|
|
409 PSHU Y,B,A
|
|
410 PULS B,A
|
|
411 CMPA #$3D
|
|
412 BNE LC2C4
|
|
413 PULU B,A
|
|
414 SUBD ,U++
|
|
415 BNE LC2E4
|
70
|
416 LC2C0 CLRA
|
69
|
417 LDB #$01
|
|
418 RTS
|
70
|
419 LC2C4 CMPA #$3C
|
69
|
420 BNE LC2E7
|
|
421 CMPB #$3D
|
|
422 BEQ LC2D7
|
|
423 CMPB #$3E
|
|
424 PULU B,A
|
|
425 BNE LC2E0
|
|
426 SUBD ,U++
|
|
427 BNE LC2C0
|
|
428 RTS
|
70
|
429 LC2D7 PULU B,A
|
69
|
430 SUBD ,U++
|
|
431 BLE LC2C0
|
|
432 CLRA
|
|
433 CLRB
|
|
434 RTS
|
70
|
435 LC2E0 SUBD ,U++
|
69
|
436 BLT LC2C0
|
70
|
437 LC2E4 CLRA
|
69
|
438 CLRB
|
|
439 RTS
|
70
|
440 LC2E7 CMPA #$3E
|
69
|
441 BNE LC2FF
|
|
442 CMPB #$3D
|
|
443 PULU B,A
|
|
444 BNE LC2F8
|
|
445 SUBD ,U++
|
|
446 BGE LC2C0
|
|
447 CLRA
|
|
448 CLRB
|
|
449 RTS
|
70
|
450 LC2F8 SUBD ,U++
|
69
|
451 BGT LC2C0
|
|
452 CLRA
|
|
453 CLRB
|
|
454 RTS
|
70
|
455 LC2FF CMPA #$2B
|
69
|
456 BNE LC308
|
|
457 PULU B,A
|
|
458 ADDD ,U++
|
|
459 RTS
|
70
|
460 LC308 CMPA #$2D
|
69
|
461 BNE LC311
|
|
462 PULU B,A
|
|
463 SUBD ,U++
|
|
464 RTS
|
70
|
465 LC311 CMPA #$2A
|
69
|
466 LBNE LC653
|
|
467 PULU B,A
|
70
|
468 LC319 EXG A,B
|
69
|
469 PSHU B,A
|
|
470 LDB +$03,U
|
|
471 MUL
|
|
472 STD <$82
|
|
473 BSR LC32B
|
|
474 BSR LC32B
|
|
475 LDD <$82
|
|
476 LEAU +$02,U
|
|
477 RTS
|
70
|
478 LC32B PULU A
|
69
|
479 LDB +$01,U
|
|
480 MUL
|
|
481 ADDB <$82
|
|
482 STB <$82
|
|
483 RTS
|
70
|
484 LC335 CLR ,-S
|
|
485 LC337 INC ,S
|
69
|
486 LSL +$01,U
|
|
487 ROL ,U
|
|
488 BCC LC337
|
|
489 ROR ,U
|
|
490 ROR +$01,U
|
|
491 CLR <$82
|
|
492 CLR <$83
|
70
|
493 LC347 SUBD ,U
|
69
|
494 BCC LC351
|
|
495 ADDD ,U
|
|
496 ANDCC #$FE
|
|
497 BRA LC353
|
70
|
498 LC351 ORCC #$01
|
|
499 LC353 ROR <$83
|
69
|
500 ROR <$82
|
|
501 DEC ,S
|
|
502 BEQ LC361
|
|
503 LSR ,U
|
|
504 ROR +$01,U
|
|
505 BRA LC347
|
70
|
506 LC361 LEAS +$01,S
|
69
|
507 RTS
|
70
|
508 LC364 LDB ,X
|
69
|
509 CMPB #$30
|
|
510 BCS LC36D
|
|
511 CMPB #$3A
|
|
512 RTS
|
70
|
513 LC36D ANDCC #$FE
|
69
|
514 RTS
|
70
|
515 LC370 LBSR LC5D8
|
|
516 LC373 BSR LC364
|
69
|
517 BCC LC396
|
|
518 CLRA
|
|
519 CLRB
|
70
|
520 LC379 ADDB ,X+
|
69
|
521 ADCA #$00
|
|
522 SUBD #$030
|
|
523 PSHU B,A
|
|
524 BSR LC364
|
|
525 LDD ,U
|
|
526 BCC LC392
|
|
527 LSLB
|
|
528 ROLA
|
|
529 LSLB
|
|
530 ROLA
|
|
531 ADDD ,U++
|
|
532 LSLB
|
|
533 ROLA
|
|
534 BRA LC379
|
70
|
535 LC392 PULU B,A
|
69
|
536 ORCC #$01
|
70
|
537 LC396 RTS
|
|
538 LC397 LDB #$0D
|
69
|
539 BSR LC39D
|
70
|
540 LC39B LDB #$0A
|
|
541 LC39D BRA LC412
|
|
542 LC39F PSHS B,A
|
69
|
543 LDA #$01
|
|
544 STA <$8C
|
|
545 LDX <$84
|
|
546 LDB ,X
|
|
547 CMPB #$2E
|
|
548 BNE LC3BA
|
|
549 PULS A
|
|
550 LDA ,S+
|
70
|
551 LC3B1 BEQ LC3C4
|
69
|
552 LDB #$20
|
|
553 BSR LC412
|
|
554 DECA
|
|
555 BRA LC3B1
|
70
|
556 LC3BA CMPB #$3B
|
69
|
557 BNE LC3C5
|
|
558 LDD ,S++
|
|
559 LBEQ LC057
|
70
|
560 LC3C4 RTS
|
|
561 LC3C5 CMPB #$40
|
69
|
562 BNE LC3E4
|
|
563 LDB +$02,X
|
|
564 LBSR LC292
|
|
565 PULS B,A
|
|
566 STD ,Y
|
|
567 PULU B,A
|
|
568 SUBD ,Y
|
|
569 BLT LC3E1
|
|
570 PULU X,B,A
|
|
571 STD <$46
|
|
572 STX <$42
|
|
573 LEAU -$06,U
|
|
574 RTS
|
70
|
575 LC3E1 LEAU +$04,U
|
69
|
576 RTS
|
70
|
577 LC3E4 CMPB #$26
|
69
|
578 BNE LC3FA
|
70
|
579 LC3E8 LDB +$01,X
|
69
|
580 CMPB #$3D
|
|
581 BNE LC3FA
|
|
582 LDD ,S++
|
|
583 BNE LC3F9
|
|
584 LDX <$7E
|
|
585 STX <$50
|
|
586 DECA
|
|
587 STA ,X
|
70
|
588 LC3F9 RTS
|
|
589 LC3FA CMPB #$21
|
69
|
590 BNE LC40C
|
|
591 PULS B,A
|
|
592 STD <$4A
|
|
593 BEQ LC40B
|
|
594 LDY <$42
|
|
595 LDX <$46
|
|
596 PSHU Y,X
|
70
|
597 LC40B RTS
|
|
598 LC40C CMPB #$24
|
69
|
599 BNE LC415
|
|
600 PULS B,A
|
70
|
601 LC412 LBRA LC64A
|
|
602 LC415 CMPB #$3F
|
69
|
603 BNE LC449
|
|
604 LDB +$01,X
|
|
605 CMPB #$28
|
|
606 LBNE LC56E
|
|
607 LBSR LC51F
|
70
|
608 LC424 STB <$8E
|
69
|
609 PULS B,A
|
|
610 BSR LC433
|
|
611 ADDA <$8E
|
|
612 BMI LC430
|
|
613 BSR LC3B1
|
70
|
614 LC430 LBRA LC165
|
|
615 LC433 TSTA
|
69
|
616 LBPL LC11A
|
|
617 LBSR LC4F3
|
|
618 LBSR LC11A
|
|
619 LDB #$2D
|
|
620 STB ,-X
|
|
621 RTS
|
70
|
622 LC443 PSHS B,A
|
69
|
623 LDB #$05
|
|
624 BRA LC424
|
70
|
625 LC449 CMPB #$3D
|
69
|
626 BNE LC460
|
|
627 PULS B,A
|
|
628 STD <$7E
|
71
|
629 LDX #$FFFF
|
69
|
630 STX <$4A
|
|
631 LBSR LC09C
|
|
632 STX <$50
|
|
633 LBRA LC024
|
70
|
634 LC45E PULS PC,B,A
|
|
635 LC460 CMPB #$3E
|
69
|
636 BNE LC46C
|
|
637 LDD ,S
|
|
638 BEQ LC45E
|
|
639 JSR [,S++]
|
|
640 PSHS B,A
|
70
|
641 LC46C LDX <$84
|
69
|
642 LBSR LC287
|
|
643 CMPA #$3A
|
|
644 BNE LC47D
|
|
645 LBSR LC269
|
|
646 PULS B,A
|
|
647 STB ,Y
|
|
648 RTS
|
70
|
649 LC47D LBSR LC26E
|
69
|
650 PULS B,A
|
|
651 STD ,Y
|
|
652 RTS
|
|
653 LDA +$01,X
|
|
654 CMPA #$4E
|
|
655 BEQ LC48E
|
71
|
656 LBRA SYSTEM
|
70
|
657 LC48E TST +$02,X
|
69
|
658 BNE LC494
|
|
659 CLR +$03,X
|
70
|
660 LC494 LEAX +$03,X
|
69
|
661 CLR <$8C
|
|
662 LBSR LC373
|
|
663 BCS LC4A0
|
|
664 LDD #LC3E8
|
70
|
665 LC4A0 STD <$88
|
69
|
666 LDB ,X
|
|
667 CMPB #$2C
|
|
668 BNE LC4AF
|
|
669 LEAX +$01,X
|
|
670 LBSR LC373
|
|
671 BCS LC4B2
|
70
|
672 LC4AF LDD #$00A
|
|
673 LC4B2 STD <$8A
|
69
|
674 RTS
|
70
|
675 LC4B5 CMPA #$2F
|
69
|
676 BNE LC4F9
|
|
677 CLR <$8D
|
|
678 LDD +$02,U
|
|
679 BEQ LC4F9
|
|
680 BMI LC4D4
|
|
681 CMPD #LC002
|
|
682 BNE LC4DE
|
|
683 PULU B,A
|
|
684 CLR <$4E
|
|
685 CLR <$4F
|
|
686 ASRA
|
|
687 RORB
|
|
688 ROR <$4F
|
|
689 LEAU +$02,U
|
|
690 RTS
|
70
|
691 LC4D4 INC <$8D
|
69
|
692 NEG +$03,U
|
|
693 BNE LC4DC
|
|
694 DEC +$02,U
|
70
|
695 LC4DC COM +$02,U
|
|
696 LC4DE LDD ,U++
|
69
|
697 BPL LC4E6
|
|
698 DEC <$8D
|
|
699 BSR LC4F3
|
70
|
700 LC4E6 LBSR LC335
|
69
|
701 LEAU +$02,U
|
|
702 STD <$4E
|
|
703 LDD <$82
|
|
704 TST <$8D
|
|
705 BEQ LC4F8
|
70
|
706 LC4F3 NEGB
|
69
|
707 BNE LC4F7
|
|
708 DECA
|
70
|
709 LC4F7 COMA
|
|
710 LC4F8 RTS
|
|
711 LC4F9 LBSR LC397
|
69
|
712 LDB #$3F
|
|
713 STB <$8C
|
|
714 LBSR LC412
|
|
715 TFR A,B
|
|
716 LBSR LC412
|
|
717 LDB #$20
|
|
718 LBSR LC412
|
|
719 LDX <$42
|
71
|
720 PSHS Y,D
|
|
721 LDY <DPWORK
|
|
722 LEAY $95,Y
|
|
723 STY ,S
|
|
724 CMPX ,S
|
|
725 PULS Y,D
|
69
|
726 BNE LC519
|
|
727 LBSR LC165
|
|
728 BRA LC51C
|
70
|
729 LC519 LBSR LC087
|
|
730 LC51C LBRA LC024
|
|
731 LC51F LEAX +$01,X
|
|
732 LC521 LBSR LC373
|
69
|
733 BCS LC532
|
|
734 LBRA LC23F
|
|
735 BSR LC51F
|
|
736 BRA LC4F3
|
|
737 BSR LC51F
|
|
738 TSTA
|
|
739 BMI LC4F3
|
70
|
740 LC532 RTS
|
69
|
741 BSR LC51F
|
70
|
742 LC535 PSHS B,A
|
69
|
743 LDD ,S++
|
|
744 LBNE LC2E4
|
|
745 INCB
|
|
746 RTS
|
70
|
747 LC53F BSR LC51F
|
69
|
748 LDD <$4E
|
|
749 RTS
|
|
750 LC545
|
|
751 BSR LC51F
|
|
752 PSHU B,A
|
|
753 LDD <$52
|
|
754 PSHU B,A
|
|
755 LC54E
|
71
|
756 LDD #$3D09
|
69
|
757 LBSR LC319
|
|
758 ADDD #1
|
|
759 STD <$52
|
|
760 TFR A,B
|
|
761 CLRA
|
|
762 LBSR LC319
|
|
763 TFR A,B
|
|
764 CLRA
|
|
765 ADDD #1
|
|
766 RTS
|
|
767 LC568
|
|
768 CLRA
|
|
769 LDB +$01,X
|
|
770 LEAX +$03,X
|
|
771 RTS
|
70
|
772 LC56E CMPB #$3F
|
69
|
773 BEQ LC57E
|
|
774 CMPB #$24
|
|
775 BEQ LC582
|
|
776 PULS B,A
|
|
777 LBSR LC433
|
|
778 LBRA LC165
|
70
|
779 LC57E LDB ,S
|
69
|
780 BSR LC584
|
70
|
781 LC582 PULS B,A
|
|
782 LC584 TFR B,A
|
69
|
783 BSR LC58E
|
|
784 TFR A,B
|
|
785 ANDB #$0F
|
|
786 BRA LC592
|
70
|
787 LC58E LSRB
|
69
|
788 LSRB
|
|
789 LSRB
|
|
790 LSRB
|
70
|
791 LC592 CMPB #$0A
|
69
|
792 BMI LC598
|
|
793 ADDB #$07
|
70
|
794 LC598 ADDB #$30
|
69
|
795 LBRA LC412
|
|
796 CLRA
|
|
797 BSR LC5BD
|
|
798 LC5A1
|
|
799 LBCC LC64D
|
70
|
800 LC5A4 PSHS B
|
69
|
801 BSR LC5BD
|
|
802 PSHU B
|
|
803 PULS B
|
|
804 BCC LC5BA
|
|
805 LSLB
|
|
806 ROLA
|
|
807 LSLB
|
|
808 ROLA
|
|
809 LSLB
|
|
810 ROLA
|
|
811 LSLB
|
|
812 ROLA
|
|
813 ADDB ,U+
|
|
814 BRA LC5A4
|
70
|
815 LC5BA LEAU +$01,U
|
69
|
816 RTS
|
70
|
817 LC5BD LEAX +$01,X
|
69
|
818 LDB ,X
|
|
819 SUBB #$30
|
|
820 BCS LC5D2
|
|
821 CMPB #$0A
|
|
822 BCS LC5D1
|
|
823 SUBB #$07
|
|
824 CMPB #$0A
|
|
825 BCS LC5D2
|
|
826 CMPB #$10
|
70
|
827 LC5D1 RTS
|
|
828 LC5D2 ANDCC #$FE
|
69
|
829 RTS
|
70
|
830 LC5D5 LBSR LC397
|
|
831 LC5D8 LDB #$3A
|
71
|
832 LBSR LC64A
|
73
|
833 LDX <linetop
|
69
|
834 TST <$8C
|
|
835 BNE LC5F2
|
|
836 LDD <$88
|
|
837 LBMI LC020
|
|
838 LBSR LC443
|
|
839 LDB #$20
|
|
840 STB -$01,X
|
|
841 BSR LC64A
|
70
|
842 LC5F2 BSR LC64D
|
69
|
843 CMPB #$08
|
|
844 BEQ LC634
|
|
845 CMPB #$0D
|
|
846 BCS LC5F2
|
|
847 BEQ LC611
|
|
848 CMPB #$18
|
|
849 BEQ LC5D5
|
|
850 STB ,X+
|
73
|
851 CMPX <lineend
|
69
|
852 BNE LC5F2
|
|
853 LEAX -$01,X
|
|
854 LDB #$08
|
|
855 BSR LC64A
|
|
856 BRA LC5F2
|
70
|
857 LC611 TST <$8C
|
69
|
858 BNE LC626
|
73
|
859 CMPX <lineb9b
|
69
|
860 BEQ LC61F
|
73
|
861 CMPX <lineb9a
|
69
|
862 BCC LC626
|
70
|
863 LC61F COM <$8C
|
69
|
864 LBSR LC39B
|
|
865 BRA LC5D8
|
70
|
866 LC626 LDD <$88
|
69
|
867 ADDD <$8A
|
|
868 STD <$88
|
|
869 CLR ,X
|
73
|
870 LDX <linetop
|
69
|
871 LBRA LC39B
|
70
|
872 LC634 LEAX -$01,X
|
73
|
873 CMPX <lineb0
|
69
|
874 BNE LC5F2
|
|
875 STB <$8C
|
71
|
876 LBRA LC5D8
|
69
|
877 LC63F
|
|
878 FCB $D,$A
|
72
|
879 FCC "*READY"
|
69
|
880 FCB $D,$A,0
|
68
|
881
|
70
|
882 LC64A LBRA OUTCH
|
71
|
883 LC64D LBRA GETCH
|
|
884 LC650 LBRA SENSE
|
70
|
885
|
|
886 LC653 CMPA #$2E EXBOP
|
69
|
887 BNE LC65E
|
|
888 PULU B,A
|
|
889 ORA ,U+
|
|
890 ORB ,U+
|
|
891 RTS
|
70
|
892 LC65E CMPA #$26
|
69
|
893 BNE LC669
|
|
894 PULU B,A
|
|
895 ANDA ,U+
|
|
896 ANDB ,U+
|
|
897 RTS
|
70
|
898 LC669 CMPA #$21
|
69
|
899 LBNE LC4B5
|
|
900 PULU B,A
|
|
901 EORA ,U+
|
|
902 EORB ,U+
|
|
903 RTS
|
70
|
904 LC676 LDD +$01,X EXTEND
|
69
|
905 LEAX +$03,X
|
|
906 PSHS U,X,B,A
|
|
907 LEAY >OPCMD,PCR
|
70
|
908 LC680 LDX ,Y
|
69
|
909 BMI LC6E7
|
|
910 CMPX ,S
|
|
911 BEQ LC68C
|
|
912 LEAY +$05,Y
|
|
913 BRA LC680
|
70
|
914 LC68C LEAY +$03,Y
|
69
|
915 LEAS +$02,S
|
|
916 LDX ,S
|
|
917 LDA -$01,Y
|
|
918 BEQ LC6C3
|
|
919 PSHS Y,A
|
|
920 LDA #$20
|
70
|
921 LC69A CMPA ,X+
|
69
|
922 BEQ LC69A
|
|
923 LDA ,-X
|
|
924 STX +$03,S
|
70
|
925 LC6A2 BITA #$DF
|
69
|
926 BEQ LC6B0
|
|
927 CMPA #$2C
|
|
928 BEQ LC6AE
|
|
929 BSR LC6C9
|
|
930 BRA LC6B3
|
70
|
931 LC6AE LEAX +$01,X
|
71
|
932 LC6B0 LDD #$FFFF
|
70
|
933 LC6B3 PSHU B,A
|
69
|
934 LDA ,X
|
|
935 DEC ,S
|
|
936 BNE LC6A2
|
|
937 LDD +$03,S
|
|
938 STX +$03,S
|
|
939 TFR D,X
|
|
940 PULS Y,A
|
70
|
941 LC6C3 LDD ,Y
|
69
|
942 JSR D,Y
|
|
943 PULS PC,U,X
|
70
|
944 LC6C9 LBSR LC521
|
|
945 LC6CC PSHS B
|
69
|
946 LDB ,X
|
|
947 BITB #$DF
|
|
948 BEQ LC6E5
|
|
949 CMPB #$2C
|
|
950 BEQ LC6E3
|
|
951 CMPB #$29
|
|
952 BEQ LC6E3
|
|
953 PULS B
|
|
954 LBSR LC29C
|
|
955 BRA LC6CC
|
70
|
956 LC6E3 LEAX +$01,X
|
|
957 LC6E5 PULS PC,B
|
|
958 LC6E7 PULS U,X,B,A
|
69
|
959 LBRA LC4F9
|
70
|
960 LC6EC LEAX +$01,X
|
69
|
961 LDB ,X+
|
70
|
962 LC6F0 LDA ,X+
|
69
|
963 BEQ LC6F8
|
|
964 CMPA #$22
|
|
965 BNE LC6F0
|
70
|
966 LC6F8 CLRA
|
69
|
967 RTS
|
|
968
|
72
|
969 OUTCH PSHS X,Y
|
|
970 BRA OUTCH1
|
|
971 GETCH
|
|
972 PSHS B,X,Y
|
|
973 GETCH0
|
|
974 LDA #0
|
70
|
975 LEAX ,S
|
|
976 LDY #1
|
|
977 OS9 I$Read
|
72
|
978 BCS GETCH0
|
|
979 PULS B,X,Y,PC
|
|
980 OUTCH1 PSHS B
|
70
|
981 LEAX ,S
|
|
982 LDA #1
|
|
983 LDY #1
|
|
984 OS9 I$Write
|
72
|
985 PULS B,X,Y,PC
|
|
986 SENSE PSHS X,Y
|
|
987 LDA #0
|
70
|
988 LDB #SS.Ready
|
|
989 OS9 i$GetStt
|
73
|
990 CMPB #$F6 Not Ready
|
|
991 BNE RSENSE
|
|
992 CLRB
|
|
993 BRA RNSENSE
|
|
994 RSENSE
|
|
995 ORCC #1 set carry to indicate ready
|
|
996 RNSENSE
|
72
|
997 PULS X,Y,PC
|
70
|
998
|
69
|
999
|
68
|
1000
|
69
|
1001 * COMMAND TABLE CONSIST....
|
|
1002 * COMMAND NAME (2 BYTE)
|
|
1003 * PARAMETER COUNT (1 BYTE)
|
|
1004 * OFSET TO SUBROUTIE FROM HERE (1 WORD)
|
|
1005 **************************
|
|
1006 OPCMD FCB 'A','T',2 START LINE,STEP
|
|
1007 FDB CAUTO-*
|
|
1008 FCB 'R','N',3 RENUM first line no,inc,renum start
|
|
1009 FDB RENUM-*
|
|
1010 * FCB 'R','D',3 DISK READ address,track,sector
|
|
1011 * FDB GETDK-*
|
|
1012 * FCB 'W','R',3 DISK WRITE
|
|
1013 * FDB PUTDK-*
|
|
1014 FCB 'S','Y',0 TO SYSTEM
|
|
1015 FDB SYSTEM-*
|
|
1016 FDB -1,-1,-1,-1,-1,-1
|
|
1017 *************************
|
|
1018 RENUM
|
|
1019 LDD ,U++
|
|
1020 BPL LC762
|
|
1021 CLRA
|
|
1022 CLRB
|
70
|
1023 LC762 STD <$4A
|
69
|
1024 LBSR LC09C
|
|
1025 BMI LC789
|
|
1026 LDD ,U++
|
|
1027 BPL LC770
|
|
1028 LDD #$00A
|
70
|
1029 LC770 LDY ,U++
|
69
|
1030 BPL LC779
|
|
1031 LDY #LC3E8
|
70
|
1032 LC779 STY ,X++
|
69
|
1033 LBSR LC173
|
|
1034 LEAY D,Y
|
70
|
1035 LC781 TST ,X+
|
69
|
1036 BNE LC781
|
|
1037 TST ,X
|
|
1038 BPL LC779
|
70
|
1039 LC789 RTS
|
69
|
1040 CAUTO
|
|
1041 LDD ,U++
|
|
1042 BPL LC791
|
|
1043 LDD #$00A
|
70
|
1044 LC791 STD <$8A
|
69
|
1045 LDD ,U
|
|
1046 BEQ LC79E
|
|
1047 BPL LC79C
|
|
1048 LDD #LC3E8
|
70
|
1049 LC79C STD <$88
|
|
1050 LC79E CLR <$8C
|
69
|
1051 RTS
|
|
1052 BSR LC7B6
|
71
|
1053 * LBSR LCD09
|
69
|
1054 BNE LC7B1
|
|
1055 RTS
|
|
1056 BSR LC7B6
|
71
|
1057 * LBSR LCD0C
|
69
|
1058 BNE LC7B1
|
|
1059 RTS
|
70
|
1060 LC7B1 LDA #$44
|
69
|
1061 LBRA LC4F9
|
70
|
1062 LC7B6 LDX +$04,U
|
69
|
1063 LDA +$03,U
|
|
1064 LDB +$01,U
|
|
1065 RTS
|
70
|
1066 SYSTEM clrb
|
|
1067 os9 F$Exit
|
|
1068 rts
|
|
1069 emod
|
71
|
1070 eom equ *
|
70
|
1071 end
|