Mercurial > hg > Members > kono > nitros9-code
annotate level1/modules/rbf.asm @ 1512:f3557a63b11c
Rodney's improvements
author | boisy |
---|---|
date | Sun, 18 Jan 2004 15:08:52 +0000 |
parents | 10957d54bf16 |
children | d669aab7d6d8 |
rev | line source |
---|---|
0 | 1 ******************************************************************** |
2 * RBF - Disk file manager | |
3 * | |
4 * $Id$ | |
5 * | |
1287 | 6 * Edt/Rev YYYY/MM/DD Modified by |
7 * Comment | |
0 | 8 * ------------------------------------------------------------------ |
1287 | 9 * 24 1985/??/?? |
10 * From Tandy OS-9 Level One VR 02.00.00 | |
1512 | 11 * |
12 * 25 2003/10/07 Rodney V. Hamilton | |
13 * Fix for LSN0 DD.TOT=0 lockout problem | |
0 | 14 |
15 nam RBF | |
16 ttl Disk file manager | |
17 | |
18 * Disassembled 98/08/23 18:26:52 by Disasm v1.6 (C) 1988 by RML | |
19 | |
20 ifp1 | |
21 use defsfile | |
22 use rbfdefs | |
23 endc | |
24 | |
25 tylg set FlMgr+Objct | |
26 atrv set ReEnt+rev | |
1287 | 27 rev set $00 |
1512 | 28 edition set 25 |
0 | 29 |
30 mod eom,name,tylg,atrv,start,size | |
31 | |
32 u0000 rmb 0 | |
33 size equ . | |
34 | |
35 name fcs /RBF/ | |
36 fcb edition | |
206 | 37 |
1512 | 38 *L0011 fcb DRVMEM |
0 | 39 |
40 * All routines are entered with | |
41 * (Y) = Path descriptor pointer | |
42 * (U) = Caller's register stack pointer | |
43 start lbra Create | |
44 lbra Open | |
45 lbra MakDir | |
46 lbra ChgDir | |
47 lbra Delete | |
48 lbra Seek | |
49 lbra Read | |
50 lbra Write | |
51 lbra ReadLn | |
52 lbra WriteLn | |
53 lbra GetStat | |
54 lbra SetStat | |
55 lbra Close | |
56 | |
57 Create pshs y | |
58 leas -$05,s make room on the stack | |
59 lda R$B,u get perms | |
60 anda #^DIR. mask off dir bit | |
61 sta R$B,u save perms back | |
62 lbsr L061D | |
63 bcs L004A | |
64 ldb #$DA | |
65 L004A cmpb #$D8 | |
66 bne L0072 | |
67 cmpa #PDELIM | |
68 beq L0072 | |
69 pshs x | |
70 ldx PD.RGS,y | |
71 stu R$X,x | |
72 ldb <PD.SBP,y | |
73 ldx <PD.SBP+1,y | |
74 lda <PD.SSZ,y | |
75 ldu <PD.SSZ+1,y | |
76 pshs u,x,b,a | |
77 clra | |
78 ldb #$01 | |
79 lbsr L0966 | |
80 bcc L0077 | |
81 leas $06,s | |
82 L0070 leas $02,s | |
83 L0072 leas $05,s | |
84 lbra L027F | |
85 L0077 std $0B,s | |
86 ldb <PD.SBP,y | |
87 ldx <PD.SBP+1,y | |
88 stb $08,s | |
89 stx $09,s | |
90 puls u,x,b,a | |
91 stb <PD.SBP,y | |
92 stx <PD.SBP+1,y | |
93 sta <PD.SSZ,y | |
94 stu <PD.SSZ+1,y | |
95 ldd <PD.DCP,y | |
96 std $0B,y | |
97 ldd <PD.DCP+2,y | |
98 std $0D,y | |
99 lbsr L079C | |
100 bcs L00A9 | |
101 L00A0 tst ,x | |
102 beq L00BB | |
103 lbsr L0787 | |
104 bcc L00A0 | |
105 L00A9 cmpb #$D3 | |
106 bne L0070 | |
107 ldd #$0020 | |
108 lbsr L04C0 | |
109 bcs L0070 | |
110 lbsr L0243 | |
111 lbsr L079C | |
112 L00BB leau ,x | |
113 lbsr L015C | |
114 puls x | |
115 os9 F$PrsNam | |
116 bcs L0072 | |
117 cmpb #$1D | |
118 bls L00CD | |
119 ldb #$1D | |
120 L00CD clra | |
121 tfr d,y | |
122 lbsr L04F2 | |
123 tfr y,d | |
124 ldy $05,s | |
125 decb | |
126 lda b,u | |
127 ora #$80 | |
128 sta b,u | |
129 ldb ,s | |
130 ldx $01,s | |
131 stb <$1D,u | |
132 stx <$1E,u | |
133 lbsr L0D40 | |
134 bcs L0144 | |
135 ldu $08,y | |
136 bsr L0163 | |
137 lda #$04 | |
138 sta $0A,y | |
139 ldx $06,y | |
140 lda $02,x | |
141 sta ,u | |
142 ldx <$004B | |
143 ldd $09,x | |
144 std $01,u | |
145 lbsr L0290 | |
146 ldd $03,u | |
147 std $0D,u | |
148 ldb $05,u | |
149 stb $0F,u | |
150 ldb #$01 | |
151 stb $08,u | |
152 ldd $03,s | |
153 subd #$0001 | |
154 beq L012A | |
155 leax <$10,u | |
156 std $03,x | |
157 ldd $01,s | |
158 addd #$0001 | |
159 std $01,x | |
160 ldb ,s | |
161 adcb #$00 | |
162 stb ,x | |
163 L012A ldb ,s | |
164 ldx $01,s | |
165 lbsr L0D42 | |
166 bcs L0144 | |
167 lbsr L0837 | |
168 stb <$34,y | |
169 stx <$35,y | |
170 lbsr L082B | |
171 leas $05,s | |
172 lbra L01C4 | |
173 L0144 puls u,x,a | |
174 sta <$16,y | |
175 stx <$17,y | |
176 clr <$19,y | |
177 stu <$1A,y | |
178 pshs b | |
179 lbsr L0B6E | |
180 puls b | |
181 L0159 lbra L027F | |
182 L015C pshs u,x,b,a | |
183 leau <$20,u | |
184 bra L0169 | |
185 L0163 pshs u,x,b,a | |
186 leau >$0100,u | |
187 L0169 clra | |
188 clrb | |
189 tfr d,x | |
190 L016D pshu x,b,a | |
191 cmpu $04,s | |
192 bhi L016D | |
193 puls pc,u,x,b,a | |
194 | |
195 Open pshs y | |
196 lbsr L061D | |
197 bcs L0159 | |
198 ldu PD.RGS,y | |
199 stx R$X,u | |
200 ldd <PD.FD+1,y | |
201 bne L01B3 | |
202 lda <PD.FD,y | |
203 bne L01B3 | |
204 ldb PD.MOD,y | |
205 andb #DIR. | |
206 lbne L027D | |
207 std <PD.SBP,y | |
208 sta <PD.SBP+2,y | |
209 std <PD.SBL,y | |
210 sta <PD.SBL+2,y | |
211 ldx <PD.DTB,y | |
1512 | 212 lda DD.TOT+2,x |
213 * resave nonzero DD.TOT here and recopy | |
214 OpenFix equ * | |
0 | 215 std <PD.SIZ+2,y |
216 sta <PD.SSZ+2,y | |
1512 | 217 ldd DD.TOT,x |
0 | 218 std PD.SIZ,y |
219 std <PD.SSZ,y | |
1512 | 220 * BUG FIX: handle special case of DD.TOT=0 in LSN0 which blocks |
221 * all subsequent accesses. NOTE: since we can only access LSN0 | |
222 * for any non-zero value, set DD.TOT=1 to avoid NOT READY error. | |
223 bne OpenRet MSW nonzero, OK | |
224 lda DD.TOT+2,x MSW=0, check LSB | |
225 bne OpenRet LSB nonzero, OK | |
226 inca DD.TOT=0, make it 1 | |
227 sta DD.TOT+2,x fix drive table | |
228 bra OpenFix and resave (B=0) | |
229 OpenRet puls pc,y restore & return | |
0 | 230 |
231 L01B3 lda PD.MOD,y | |
232 lbsr L07F1 | |
233 bcs L0159 | |
234 bita #$02 | |
235 beq L01C4 | |
236 lbsr L0290 | |
237 lbsr L0D38 | |
238 L01C4 puls y | |
239 L01C6 clra | |
240 clrb | |
241 std $0B,y | |
242 std $0D,y | |
243 std <$13,y | |
244 sta <$15,y | |
245 sta <$19,y | |
246 lda ,u | |
247 sta <$33,y | |
248 ldd <$10,u | |
249 std <$16,y | |
250 lda <$12,u | |
251 sta <$18,y | |
252 ldd <$13,u | |
253 std <$1A,y | |
254 ldd $09,u | |
255 ldx $0B,u | |
256 std $0F,y | |
257 stx <$11,y | |
258 clr $0A,y | |
259 rts | |
260 | |
261 MakDir lbsr Create | |
262 bcs L0241 | |
263 ldd #$0040 | |
264 std <$11,y | |
265 bsr L0253 | |
266 bcs L0241 | |
267 lbsr L0854 | |
268 bcs L0241 | |
269 lbsr L0CD4 | |
270 ldu $08,y | |
271 lda ,u | |
272 ora #$80 | |
273 sta ,u | |
274 bsr L0246 | |
275 bcs L0241 | |
276 lbsr L0163 | |
277 ldd #$2EAE | |
278 std ,u | |
279 stb <$20,u | |
280 lda <$37,y | |
281 sta <$1D,u | |
282 ldd <$38,y | |
283 std <$1E,u | |
284 lda <$34,y | |
285 sta <$3D,u | |
286 ldd <$35,y | |
287 std <$3E,u | |
288 lbsr L0D40 | |
289 L0241 bra L0282 | |
290 L0243 lbsr L0CD4 | |
291 L0246 ldx $08,y | |
292 ldd $0F,y | |
293 std $09,x | |
294 ldd <$11,y | |
295 std $0B,x | |
296 clr $0A,y | |
297 L0253 lbra L0D38 | |
298 | |
299 Close clra | |
300 tst $02,y | |
301 bne L027C | |
302 lbsr L0D72 | |
303 bcs L0282 | |
304 ldb $01,y | |
305 bitb #$02 | |
306 beq L0282 | |
307 ldd <$34,y | |
308 bne L0270 | |
309 lda <$36,y | |
310 beq L0282 | |
311 L0270 bsr L0243 | |
312 lbsr L0529 | |
313 bcc L0282 | |
314 lbsr L0AAF | |
315 bra L0282 | |
316 L027C rts | |
317 L027D ldb #$D6 | |
318 L027F coma | |
319 L0280 puls y | |
320 L0282 pshs b,cc | |
321 ldu $08,y | |
322 beq L028E | |
323 ldd #$0100 | |
324 os9 F$SRtMem | |
325 L028E puls pc,b,cc | |
326 L0290 lbsr L0CD4 | |
327 ldu $08,y | |
328 lda $08,u | |
329 pshs a | |
330 leax $03,u | |
331 os9 F$Time | |
332 puls a | |
333 sta $08,u | |
334 rts | |
335 | |
336 ChgDir pshs y | |
337 lda $01,y | |
338 ora #$80 | |
339 sta $01,y | |
340 lbsr Open | |
341 bcs L0280 | |
342 ldx <$004B | |
343 ldu <$35,y | |
344 ldb $01,y | |
345 bitb #$03 | |
346 beq L02C4 | |
347 ldb <$34,y | |
348 stb <$1D,x | |
349 stu <$1E,x | |
350 L02C4 ldb $01,y | |
351 bitb #$04 | |
352 beq L02D3 | |
353 ldb <$34,y | |
354 stb <$23,x | |
355 stu <$24,x | |
356 L02D3 clrb | |
357 bra L0280 | |
358 | |
359 Delete pshs y | |
360 lbsr L061D | |
361 bcs L0280 | |
362 ldd <$35,y | |
363 bne L02E9 | |
364 tst <$34,y | |
1512 | 365 beq L027D |
0 | 366 L02E9 lda #$42 |
367 lbsr L07F1 | |
368 bcs L035F | |
369 ldu $06,y | |
370 stx $04,u | |
371 lbsr L0CD4 | |
372 bcs L035F | |
373 ldx $08,y | |
374 dec $08,x | |
375 beq L0304 | |
376 lbsr L0D38 | |
377 bra L032A | |
378 L0304 clra | |
379 clrb | |
380 std $0F,y | |
381 std <$11,y | |
382 lbsr L0AAF | |
383 bcs L035F | |
384 ldb <$34,y | |
385 ldx <$35,y | |
386 stb <$16,y | |
387 stx <$17,y | |
388 ldx $08,y | |
389 ldd <$13,x | |
390 addd #$0001 | |
391 std <$1A,y | |
392 lbsr L0B6E | |
393 L032A bcs L035F | |
394 lbsr L0D72 | |
395 lbsr L0837 | |
396 lda <$37,y | |
397 sta <$34,y | |
398 ldd <$38,y | |
399 std <$35,y | |
400 lbsr L0CD4 | |
401 bcs L035F | |
402 lbsr L082B | |
403 ldu $08,y | |
404 lbsr L01C6 | |
405 ldd <$3A,y | |
406 std $0B,y | |
407 ldd <$3C,y | |
408 std $0D,y | |
409 lbsr L079C | |
410 bcs L035F | |
411 clr ,x | |
412 lbsr L0D40 | |
413 L035F lbra L0280 | |
414 | |
415 Seek ldb $0A,y | |
416 bitb #$02 | |
417 beq L037B | |
418 lda $05,u | |
419 ldb $08,u | |
420 subd $0C,y | |
421 bne L0376 | |
422 lda $04,u | |
423 sbca $0B,y | |
424 beq L037F | |
425 L0376 lbsr L0D72 | |
426 bcs L0383 | |
427 L037B ldd $04,u | |
428 std $0B,y | |
429 L037F ldd $08,u | |
430 std $0D,y | |
431 L0383 rts | |
432 | |
433 ReadLn bsr L03C4 | |
434 beq L03AA | |
435 bsr L03AB | |
436 pshs u,y,x,b,a | |
437 exg x,u | |
438 ldy #$0000 | |
439 lda #$0D | |
440 L0394 leay $01,y | |
441 cmpa ,x+ | |
442 beq L039D | |
443 decb | |
444 bne L0394 | |
445 L039D ldx $06,s | |
446 bsr L03F4 | |
447 sty $0A,s | |
448 puls u,y,x,b,a | |
449 ldd $02,s | |
450 leax d,x | |
451 L03AA rts | |
1512 | 452 L03AB bsr L0414 |
0 | 453 lda ,-x |
454 cmpa #$0D | |
455 beq L03BA | |
456 ldd $02,s | |
1512 | 457 bne L041A |
0 | 458 L03BA ldu $06,y |
459 ldd $06,u | |
460 subd $02,s | |
461 std $06,u | |
462 bra L040E | |
463 L03C4 ldd $06,u | |
464 bsr L03CD | |
465 bcs L03F1 | |
466 std $06,u | |
467 rts | |
468 L03CD pshs b,a | |
469 ldd <$11,y | |
470 subd $0D,y | |
471 tfr d,x | |
472 ldd $0F,y | |
473 sbcb $0C,y | |
474 sbca $0B,y | |
475 bcs L03EE | |
476 bne L03EB | |
477 tstb | |
478 bne L03EB | |
479 cmpx ,s | |
480 bcc L03EB | |
481 stx ,s | |
482 beq L03EE | |
483 L03EB clrb | |
484 puls pc,b,a | |
485 L03EE comb | |
486 ldb #E$EOF | |
487 L03F1 leas $02,s | |
488 rts | |
489 L03F4 lbra L04F2 | |
490 | |
491 Read bsr L03C4 | |
492 beq L0409 | |
493 bsr L040A | |
494 L03FD pshs u,y,x,b,a | |
495 exg x,u | |
496 tfr d,y | |
497 bsr L03F4 | |
498 puls u,y,x,b,a | |
499 leax d,x | |
500 L0409 rts | |
501 L040A bsr L0414 | |
502 bne L041A | |
503 L040E clrb | |
504 L040F leas -$02,s | |
505 L0411 leas $0A,s | |
506 rts | |
507 L0414 ldd $04,u | |
508 ldx $06,u | |
509 pshs x,b,a | |
510 L041A lda $0A,y | |
511 bita #$02 | |
512 bne L043A | |
513 tst $0E,y | |
514 bne L0435 | |
515 tst $02,s | |
516 beq L0435 | |
517 leax >L04A4,pcr | |
518 cmpx $06,s | |
519 bne L0435 | |
520 lbsr L0C49 | |
521 bra L0438 | |
522 L0435 lbsr L0D91 | |
523 L0438 bcs L040F | |
524 L043A ldu $08,y | |
525 clra | |
526 ldb $0E,y | |
527 leau d,u | |
528 negb | |
529 sbca #$FF | |
530 ldx ,s | |
531 cmpd $02,s | |
532 bls L044D | |
533 ldd $02,s | |
534 L044D pshs b,a | |
535 jsr [<$08,s] | |
536 stx $02,s | |
537 lda $0A,y | |
538 anda #$BF | |
539 sta $0A,y | |
540 ldb $01,s | |
541 addb $0E,y | |
542 stb $0E,y | |
543 bne L0471 | |
544 lbsr L0D72 | |
545 inc $0D,y | |
546 bne L046F | |
547 inc $0C,y | |
548 bne L046F | |
549 inc $0B,y | |
550 L046F bcs L0411 | |
551 L0471 ldd $04,s | |
552 subd ,s++ | |
553 std $02,s | |
554 jmp [<$04,s] | |
555 | |
556 WriteLn pshs y | |
557 clrb | |
558 ldy $06,u | |
559 beq L0498 | |
560 ldx $04,u | |
561 L0484 leay -$01,y | |
562 beq L0498 | |
563 lda ,x+ | |
564 cmpa #$0D | |
565 bne L0484 | |
566 tfr y,d | |
567 nega | |
568 negb | |
569 sbca #$00 | |
570 addd $06,u | |
571 std $06,u | |
572 L0498 puls y | |
573 | |
574 Write ldd $06,u | |
575 beq L04BE | |
576 bsr L04C0 | |
577 bcs L04BF | |
578 bsr L04B5 | |
579 L04A4 pshs y,b,a | |
580 tfr d,y | |
581 bsr L04F2 | |
582 puls y,b,a | |
583 leax d,x | |
584 lda $0A,y | |
585 ora #$03 | |
586 sta $0A,y | |
587 rts | |
588 L04B5 lbsr L0414 | |
589 lbne L041A | |
590 leas $08,s | |
591 L04BE clrb | |
592 L04BF rts | |
593 L04C0 addd $0D,y | |
594 tfr d,x | |
595 ldd $0B,y | |
596 adcb #$00 | |
597 adca #$00 | |
598 L04CA cmpd $0F,y | |
599 bcs L04BE | |
600 bhi L04D6 | |
601 cmpx <$11,y | |
602 bls L04BE | |
603 L04D6 pshs u | |
604 ldu <$11,y | |
605 stx <$11,y | |
606 ldx $0F,y | |
607 std $0F,y | |
608 pshs u,x | |
609 lbsr L0854 | |
610 puls u,x | |
611 bcc L04F0 | |
612 stx $0F,y | |
613 stu <$11,y | |
614 L04F0 puls pc,u | |
615 L04F2 pshs u,y,x | |
616 ldd $02,s | |
617 beq L051B | |
618 leay d,u | |
619 lsrb | |
620 bcc L0501 | |
621 lda ,x+ | |
622 sta ,u+ | |
623 L0501 lsrb | |
624 bcc L0508 | |
625 ldd ,x++ | |
626 std ,u++ | |
627 L0508 pshs y | |
628 exg x,u | |
629 bra L0515 | |
630 L050E pulu y,b,a | |
631 std ,x++ | |
632 sty ,x++ | |
633 L0515 cmpx ,s | |
634 bcs L050E | |
635 leas $02,s | |
636 L051B puls pc,u,y,x | |
637 | |
1512 | 638 GetStat ldb $02,u |
0 | 639 cmpb #$00 |
640 beq L0543 | |
641 cmpb #$06 | |
642 bne L052F | |
643 clr $02,u | |
644 L0529 clra | |
645 ldb #$01 | |
646 lbra L03CD | |
647 L052F cmpb #$01 | |
648 bne L0536 | |
649 clr $02,u | |
650 rts | |
651 L0536 cmpb #$02 | |
652 bne L0544 | |
653 ldd $0F,y | |
654 std $04,u | |
655 ldd <$11,y | |
656 std $08,u | |
657 L0543 rts | |
658 L0544 cmpb #$05 | |
659 bne L0551 | |
660 ldd $0B,y | |
661 std $04,u | |
662 ldd $0D,y | |
663 std $08,u | |
664 rts | |
665 L0551 cmpb #$0F | |
666 bne L056B | |
667 lbsr L0CD4 | |
668 bcs L0543 | |
669 ldu $06,y | |
670 ldd $06,u | |
671 tsta | |
672 beq L0564 | |
673 ldd #$0100 | |
674 L0564 ldx $04,u | |
675 ldu $08,y | |
676 lbra L03FD | |
677 L056B lda #$09 | |
678 lbra L0CED | |
679 | |
680 SetStat ldb R$B,u | |
1242
bdd2f61d5dbc
Fixed case issues in several files (thanks Rodney H.)
boisy
parents:
206
diff
changeset
|
681 cmpb #SS.Opt |
0 | 682 bne L0584 |
683 ldx R$X,u | |
684 leax $02,x | |
685 leau <PD.STP,y | |
686 ldy #$000D | |
687 lbra L04F2 | |
688 L0584 cmpb #SS.Size | |
689 bne L05C6 | |
690 ldd <PD.FD+1,y | |
691 bne L0594 | |
692 tst <PD.FD,y | |
693 lbeq L0619 | |
694 L0594 lda PD.MOD,y | |
695 bita #WRITE. | |
696 beq L05C2 | |
697 ldd R$X,u | |
698 ldx R$U,u | |
699 cmpd $0F,y | |
700 bcs L05AD | |
701 bne L05AA | |
702 cmpx <PD.SIZ+2,y | |
703 bcs L05AD | |
704 L05AA lbra L04CA | |
705 L05AD std PD.SIZ,y | |
706 stx <PD.SIZ+2,y | |
707 ldd PD.CP,y | |
708 ldx PD.CP+2,y | |
709 pshs x,b,a | |
710 lbsr L0AAF | |
711 puls u,x | |
712 stx PD.CP,y | |
713 stu PD.CP+2,y | |
714 rts | |
715 L05C2 comb | |
716 ldb #E$BMode | |
717 rts | |
718 L05C6 cmpb #$0F | |
719 bne L0604 | |
720 lda $01,y | |
721 bita #$02 | |
722 beq L05C2 | |
723 lbsr L0CD4 | |
724 bcs L061C | |
725 pshs y | |
726 ldx $04,u | |
727 ldu $08,y | |
728 ldy <$004B | |
729 ldd $09,y | |
730 bne L05E7 | |
731 ldd #$0102 | |
732 bsr L05F6 | |
733 L05E7 ldd #$0305 | |
734 bsr L05F6 | |
735 ldd #$0D03 | |
736 bsr L05F6 | |
737 puls y | |
738 lbra L0D38 | |
739 L05F6 pshs u,x | |
740 leax a,x | |
741 leau a,u | |
742 clra | |
743 tfr d,y | |
744 lbsr L04F2 | |
745 puls pc,u,x | |
746 L0604 cmpb #$1E | |
747 bne L0614 | |
748 ldx <$1E,y | |
749 lda $05,u | |
750 sta <$1E,x | |
751 clr <$1D,x | |
752 rts | |
753 L0614 lda #$0C | |
754 lbra L0CED | |
755 L0619 comb | |
756 ldb #E$UnkSvc | |
757 L061C rts | |
758 | |
759 L061D ldd #256 | |
760 stb PD.BUF+2,y | |
761 os9 F$SRqMem | |
762 bcs L061C | |
763 stu PD.BUF,y | |
764 ldx PD.RGS,y | |
765 ldx R$X,x | |
766 pshs u,y,x | |
767 leas -$04,s | |
768 clra | |
769 clrb | |
770 sta <PD.FD,y | |
771 std <PD.FD+1,y | |
772 std <PD.DSK,y | |
773 lda ,x | |
774 sta ,s | |
775 cmpa #PDELIM | |
776 bne L0654 | |
777 lbsr L07BC | |
778 sta ,s | |
779 lbcs L0752 | |
780 leax ,y | |
781 ldy $06,s | |
782 bra L0677 | |
783 L0654 anda #$7F strip hi bit | |
784 cmpa #PENTIR raw? | |
785 beq L0677 branch if so | |
786 lda #PDELIM | |
787 sta ,s | |
788 leax -$01,x | |
789 lda $01,y | |
790 ldu <$004B | |
791 leau <$1A,u | |
792 bita #$24 | |
793 beq L066D | |
794 leau $06,u | |
795 L066D ldb $03,u | |
796 stb <PD.FD,y | |
797 ldd $04,u | |
798 std <PD.FD+1,y | |
799 L0677 ldu $03,y | |
800 stu <PD.DVT,y | |
801 lda <PD.DRV,y | |
1512 | 802 ldb #DRVMEM |
0 | 803 mul |
804 addd $02,u | |
805 addd #$000F | |
806 std <PD.DTB,y | |
807 lda ,s | |
808 anda #$7F | |
809 cmpa #PENTIR | |
810 bne L0698 | |
811 leax $01,x | |
812 bra L06BA | |
813 L0698 lbsr L0CC1 | |
814 lbcs L075A | |
815 ldu PD.BUF,y | |
816 ldd $0E,u | |
817 std <PD.DSK,y | |
818 ldd <PD.FD+1,y | |
819 bne L06BA | |
820 lda <PD.FD,y | |
821 bne L06BA | |
822 lda $08,u | |
823 sta <PD.FD,y | |
824 ldd $09,u | |
825 std <PD.FD+1,y | |
826 L06BA stx $04,s | |
827 stx $08,s | |
828 L06BE lbsr L0D72 | |
829 lbcs L075A | |
830 lda ,s | |
831 anda #$7F | |
832 cmpa #PENTIR | |
833 beq L06D4 | |
834 lbsr L0CD4 | |
835 lbcs L075A | |
836 L06D4 lbsr L082B | |
837 lda ,s | |
838 cmpa #PDELIM | |
839 bne L0734 | |
840 clr $02,s | |
841 clr $03,s | |
842 lda $01,y | |
843 ora #$80 | |
844 lbsr L07F1 | |
845 bcs L0752 | |
846 lbsr L01C6 | |
847 ldx $08,s | |
848 leax $01,x | |
849 lbsr L07BC | |
850 std ,s | |
851 stx $04,s | |
852 sty $08,s | |
853 ldy $06,s | |
854 bcs L0752 | |
855 lbsr L079C | |
856 bra L070A | |
857 L0705 bsr L075D | |
1512 | 858 L0707 bsr L0787 |
0 | 859 L070A bcs L0752 |
860 tst ,x | |
861 beq L0705 | |
862 clra | |
863 ldb $01,s | |
864 leay ,x | |
865 ldx $04,s | |
866 os9 F$CmpNam | |
867 ldx $06,s | |
868 exg x,y | |
869 bcs L0707 | |
870 bsr L076B | |
871 lda <$1D,x | |
872 sta <PD.FD,y | |
873 ldd <$1E,x | |
874 std <PD.FD+1,y | |
875 lbsr L0837 | |
1512 | 876 bra L06BE |
0 | 877 L0734 ldx $08,s |
878 tsta | |
879 bmi L0741 | |
880 os9 F$PrsNam | |
881 leax ,y | |
882 ldy $06,s | |
883 L0741 stx $04,s | |
884 clra | |
885 L0744 lda ,s | |
886 leas $04,s | |
887 pshs b,a,cc | |
888 lda $0A,y | |
889 anda #$BF | |
890 sta $0A,y | |
891 puls pc,u,y,x,b,a,cc | |
892 L0752 cmpb #$D3 | |
893 bne L075A | |
894 bsr L075D | |
895 ldb #$D8 | |
896 L075A coma | |
897 bra L0744 | |
898 L075D pshs b,a | |
899 lda $04,s | |
900 cmpa #$2F | |
901 beq L0785 | |
902 ldd $06,s | |
903 bne L0785 | |
904 puls b,a | |
905 L076B pshs b,a | |
906 stx $06,s | |
907 lda <PD.FD,y | |
908 sta <PD.DFD,y | |
909 ldd <PD.FD+1,y | |
910 std <PD.DFD+1,y | |
911 ldd $0B,y | |
912 std <PD.DCP,y | |
913 ldd $0D,y | |
914 std <PD.DCP+2,y | |
915 L0785 puls pc,b,a | |
916 | |
917 L0787 ldb $0E,y | |
918 addb #$20 | |
919 stb $0E,y | |
920 bcc L079C | |
921 lbsr L0D72 | |
922 inc $0D,y | |
923 bne L079C | |
924 inc $0C,y | |
925 bne L079C | |
926 inc $0B,y | |
927 L079C ldd #$0020 | |
928 lbsr L03CD | |
929 bcs L07BB | |
930 lda $0A,y | |
931 bita #$02 | |
932 bne L07B4 | |
933 lbsr L0C49 | |
934 bcs L07BB | |
935 lbsr L0D91 | |
936 bcs L07BB | |
937 L07B4 ldb $0E,y | |
938 lda $08,y | |
939 tfr d,x | |
940 clrb | |
941 L07BB rts | |
942 | |
943 L07BC os9 F$PrsNam | |
944 pshs x | |
945 bcc L07E9 | |
946 clrb | |
947 L07C4 pshs a | |
948 anda #$7F | |
949 cmpa #PDIR | |
950 puls a | |
951 bne L07DF | |
952 incb | |
953 leax $01,x | |
954 tsta | |
955 bmi L07DF | |
956 lda ,x | |
957 cmpb #$03 | |
958 bcs L07C4 | |
959 lda #PDELIM | |
960 decb | |
961 leax -$03,x | |
962 L07DF tstb | |
963 bne L07E7 | |
964 L07E2 comb | |
965 ldb #E$BPNam | |
966 puls pc,x | |
967 L07E7 leay ,x | |
968 L07E9 cmpb #$20 | |
969 bhi L07E2 | |
970 andcc #^Carry | |
971 puls pc,x | |
972 | |
973 * A = PD.MOD (mode byte) | |
974 L07F1 tfr a,b | |
975 anda #$07 | |
976 andb #$C0 | |
977 pshs x,b,a | |
978 lbsr L0CD4 | |
979 bcs L0820 | |
980 ldu $08,y | |
981 ldx <$004B | |
982 ldd $09,x | |
983 beq L0809 | |
984 cmpd $01,u | |
985 L0809 puls a | |
986 beq L0810 | |
987 lsla | |
988 lsla | |
989 lsla | |
990 L0810 ora ,s | |
991 anda #$BF | |
992 pshs a | |
993 ora #$80 | |
994 anda ,u | |
995 cmpa ,s | |
996 beq L0829 | |
997 ldb #$D6 | |
998 L0820 leas $02,s | |
999 coma | |
1000 puls pc,x | |
1001 ldb #$FD | |
1002 bra L0820 | |
1003 L0829 puls pc,x,b,a | |
1004 L082B clra | |
1005 clrb | |
1006 std $0B,y | |
1007 std $0D,y | |
1008 sta <$19,y | |
1009 std <$1A,y | |
1010 L0837 rts | |
1011 L0838 pshs y,x,b,a | |
1012 ldx <D.Proc | |
1013 lda <P$IOQN,x | |
1014 beq L0851 | |
1015 clr <P$IOQN,x | |
1016 ldb #S$Wake | |
1017 os9 F$Send | |
1018 ldx <D.PrcDBT | |
1019 os9 F$Find64 | |
1020 clr <P$IOQP,y | |
1021 L0851 clrb | |
1022 puls pc,y,x,b,a | |
1023 L0854 pshs u,x | |
1024 L0856 bsr L08B2 | |
1025 bne L0866 | |
1026 cmpx <$1A,y | |
1027 bcs L08AD | |
1028 bne L0866 | |
1029 lda <$12,y | |
1030 beq L08AD | |
1031 L0866 lbsr L0CD4 | |
1032 bcs L08AA | |
1033 ldx $0B,y | |
1034 ldu $0D,y | |
1035 pshs u,x | |
1036 ldd $0F,y | |
1037 std $0B,y | |
1038 ldd <$11,y | |
1039 std $0D,y | |
1040 lbsr L0C63 | |
1041 puls u,x | |
1042 stx $0B,y | |
1043 stu $0D,y | |
1044 bcc L08AD | |
1045 cmpb #$D5 | |
1046 bne L08AA | |
1047 bsr L08B2 | |
1048 bne L0896 | |
1049 tst <$12,y | |
1050 beq L0899 | |
1051 leax $01,x | |
1052 bne L0899 | |
1053 L0896 ldx #$FFFF | |
1054 L0899 tfr x,d | |
1055 tsta | |
1056 bne L08A6 | |
1057 cmpb <$2E,y | |
1058 bcc L08A6 | |
1059 ldb <$2E,y | |
1060 L08A6 bsr L08C0 | |
1061 bcc L0856 | |
1062 L08AA coma | |
1063 puls pc,u,x | |
1064 L08AD lbsr L0C49 | |
1065 puls pc,u,x | |
1066 L08B2 ldd <$10,y | |
1067 subd <$14,y | |
1068 tfr d,x | |
1069 ldb $0F,y | |
1070 sbcb <$13,y | |
1071 rts | |
1072 L08C0 pshs u,x | |
1073 lbsr L0966 | |
1074 bcs L08FF | |
1075 lbsr L0CD4 | |
1076 bcs L08FF | |
1077 ldu $08,y | |
1078 clra | |
1079 clrb | |
1080 std $09,u | |
1081 std $0B,u | |
1082 leax <$10,u | |
1083 ldd $03,x | |
1084 beq L0947 | |
1085 ldd $08,y | |
1086 inca | |
1087 pshs b,a | |
1088 bra L08EF | |
1089 L08E2 clrb | |
1090 ldd -$02,x | |
1091 beq L08FB | |
1092 addd $0A,u | |
1093 std $0A,u | |
1094 bcc L08EF | |
1095 inc $09,u | |
1096 L08EF leax $05,x | |
1097 cmpx ,s | |
1098 bcs L08E2 | |
1099 lbsr L0B6E | |
1100 comb | |
1101 ldb #E$SLF | |
1102 L08FB leas $02,s | |
1103 leax -$05,x | |
1104 L08FF bcs L0964 | |
1105 ldd -$04,x | |
1106 addd -$02,x | |
1107 pshs b,a | |
1108 ldb -$05,x | |
1109 adcb #$00 | |
1110 cmpb <$16,y | |
1111 puls b,a | |
1112 bne L0947 | |
1113 cmpd <$17,y | |
1114 bne L0947 | |
1115 ldu <$1E,y | |
1116 ldd $06,u | |
1117 ldu $08,y | |
1118 subd #$0001 | |
1119 coma | |
1120 comb | |
1121 pshs b,a | |
1122 ldd -$05,x | |
1123 eora <$16,y | |
1124 eorb <$17,y | |
1125 lsra | |
1126 rorb | |
1127 lsra | |
1128 rorb | |
1129 lsra | |
1130 rorb | |
1131 anda ,s+ | |
1132 andb ,s+ | |
1133 std -$02,s | |
1134 bne L0947 | |
1135 ldd -$02,x | |
1136 addd <$1A,y | |
1137 bcs L0947 | |
1138 std -$02,x | |
1139 bra L0956 | |
1140 L0947 ldd <$16,y | |
1141 std ,x | |
1142 lda <$18,y | |
1143 sta $02,x | |
1144 ldd <$1A,y | |
1145 std $03,x | |
1146 L0956 ldd $0A,u | |
1147 addd <$1A,y | |
1148 std $0A,u | |
1149 bcc L0961 | |
1150 inc $09,u | |
1151 L0961 lbsr L0D38 | |
1152 L0964 puls pc,u,x | |
1153 L0966 pshs u,y,x,b,a | |
1154 ldb #$0C | |
1155 L096A clr ,-s | |
1156 decb | |
1157 bne L096A | |
1158 ldx <$1E,y | |
1159 ldd $04,x | |
1160 std $04,s | |
1161 ldd $06,x | |
1162 std $02,s | |
1163 std $0A,s | |
1164 ldx $03,y | |
1165 ldx $04,x | |
1166 leax <$12,x | |
1167 subd #$0001 | |
1168 addb $0E,x | |
1169 adca #$00 | |
1170 bra L098E | |
1171 L098C lsra | |
1172 rorb | |
1173 L098E lsr $0A,s | |
1174 ror $0B,s | |
1175 bcc L098C | |
1176 std ,s | |
1177 ldd $02,s | |
1178 std $0A,s | |
1179 subd #$0001 | |
1180 addd $0C,s | |
1181 bcc L09A8 | |
1182 ldd #$FFFF | |
1183 bra L09A8 | |
1184 L09A6 lsra | |
1185 rorb | |
1186 L09A8 lsr $0A,s | |
1187 ror $0B,s | |
1188 bcc L09A6 | |
1189 cmpa #$08 | |
1190 bcs L09B5 | |
1191 ldd #$0800 | |
1192 L09B5 std $0C,s | |
1193 lbsr L0BD8 | |
1194 lbcs L0AA3 | |
1195 ldx <$1E,y | |
1196 ldd <$1A,x | |
1197 cmpd $0E,x | |
1198 bne L09D7 | |
1199 lda <$1C,x | |
1200 cmpa $04,x | |
1201 bne L09D7 | |
1202 ldb <$1D,x | |
1203 cmpb $04,x | |
1204 bcs L09E5 | |
1205 L09D7 ldd $0E,x | |
1206 std <$1A,x | |
1207 lda $04,x | |
1208 sta <$1C,x | |
1209 clrb | |
1210 stb <$1D,x | |
1211 L09E5 incb | |
1212 stb $06,s | |
1213 ldx <$1E,y | |
1214 cmpb <$1E,x | |
1215 beq L0A21 | |
1216 lbsr L0C33 | |
1217 lbcs L0AA3 | |
1218 ldb $06,s | |
1219 cmpb $04,s | |
1220 bls L0A02 | |
1221 clra | |
1222 ldb $05,s | |
1223 bra L0A05 | |
1224 L0A02 ldd #$0100 | |
1225 L0A05 ldx $08,y | |
1226 leau d,x | |
1227 ldy $0C,s | |
1228 clra | |
1229 clrb | |
1230 os9 F$SchBit | |
1231 bcc L0A4E | |
1232 cmpy $08,s | |
1233 bls L0A21 | |
1234 sty $08,s | |
1235 std $0A,s | |
1236 lda $06,s | |
1237 sta $07,s | |
1238 L0A21 ldy <$10,s | |
1239 ldb $06,s | |
1240 cmpb $04,s | |
1241 bcs L0A32 | |
1242 bhi L0A31 | |
1243 tst $05,s | |
1244 bne L0A32 | |
1245 L0A31 clrb | |
1246 L0A32 ldx <$1E,y | |
1247 cmpb <$1D,x | |
1248 bne L09E5 | |
1249 ldb $07,s | |
1250 beq L0AA1 | |
1251 cmpb $06,s | |
1252 beq L0A47 | |
1253 stb $06,s | |
1254 lbsr L0C33 | |
1255 L0A47 ldx $08,y | |
1256 ldd $0A,s | |
1257 ldy $08,s | |
1258 L0A4E std $0A,s | |
1259 sty $08,s | |
1260 os9 F$AllBit | |
1261 ldy <$10,s | |
1262 ldb $06,s | |
1263 lbsr L0C0B | |
1264 bcs L0AA3 | |
1265 ldx <$1E,y | |
1266 lda $06,s | |
1267 deca | |
1268 sta <$1D,x | |
1269 clrb | |
1270 lsla | |
1271 rolb | |
1272 lsla | |
1273 rolb | |
1274 lsla | |
1275 rolb | |
1276 stb <$16,y | |
1277 ora $0A,s | |
1278 ldb $0B,s | |
1279 ldx $08,s | |
1280 ldy <$10,s | |
1281 std <$17,y | |
1282 stx <$1A,y | |
1283 ldd $02,s | |
1284 bra L0A97 | |
1285 L0A88 lsl <$18,y | |
1286 rol <$17,y | |
1287 rol <$16,y | |
1288 lsl <$1B,y | |
1289 rol <$1A,y | |
1290 L0A97 lsra | |
1291 rorb | |
1292 bcc L0A88 | |
1293 clrb | |
1294 ldd <$1A,y | |
1295 bra L0AAB | |
1296 L0AA1 ldb #$F8 | |
1297 L0AA3 ldy <$10,s | |
1298 lbsr L0C12 | |
1299 coma | |
1300 L0AAB leas $0E,s | |
1301 puls pc,u,y,x | |
1302 L0AAF clra | |
1303 lda $01,y | |
1304 bita #$80 | |
1305 bne L0B11 | |
1306 ldd $0F,y | |
1307 std $0B,y | |
1308 ldd <$11,y | |
1309 std $0D,y | |
1310 lbsr L0C63 | |
1311 bcc L0AC8 | |
1312 cmpb #$D5 | |
1313 bra L0B09 | |
1314 L0AC8 ldd <$14,y | |
1315 subd $0C,y | |
1316 addd <$1A,y | |
1317 tst $0E,y | |
1318 beq L0AD7 | |
1319 subd #$0001 | |
1320 L0AD7 pshs b,a | |
1321 ldu <$1E,y | |
1322 ldd $06,u | |
1323 subd #$0001 | |
1324 coma | |
1325 comb | |
1326 anda ,s+ | |
1327 andb ,s+ | |
1328 ldu <$1A,y | |
1329 std <$1A,y | |
1330 beq L0B0B | |
1331 tfr u,d | |
1332 subd <$1A,y | |
1333 pshs x,b,a | |
1334 addd <$17,y | |
1335 std <$17,y | |
1336 bcc L0B01 | |
1337 inc <$16,y | |
1338 L0B01 bsr L0B6E | |
1339 bcc L0B12 | |
1340 leas $04,s | |
1341 cmpb #$DB | |
1342 L0B09 bne L0B10 | |
1343 L0B0B lbsr L0CD4 | |
1344 bcc L0B1B | |
1345 L0B10 coma | |
1346 L0B11 rts | |
1347 L0B12 lbsr L0CD4 | |
1348 bcs L0B6B | |
1349 puls x,b,a | |
1350 std $03,x | |
1351 L0B1B ldu $08,y | |
1352 ldd <$11,y | |
1353 std $0B,u | |
1354 ldd $0F,y | |
1355 std $09,u | |
1356 tfr x,d | |
1357 clrb | |
1358 inca | |
1359 leax $05,x | |
1360 pshs x,b,a | |
1361 bra L0B56 | |
1362 L0B30 ldd -$02,x | |
1363 beq L0B63 | |
1364 std <$1A,y | |
1365 ldd -$05,x | |
1366 std <$16,y | |
1367 lda -$03,x | |
1368 sta <$18,y | |
1369 bsr L0B6E | |
1370 bcs L0B6B | |
1371 stx $02,s | |
1372 lbsr L0CD4 | |
1373 bcs L0B6B | |
1374 ldx $02,s | |
1375 clra | |
1376 clrb | |
1377 std -$05,x | |
1378 sta -$03,x | |
1379 std -$02,x | |
1380 L0B56 lbsr L0D38 | |
1381 bcs L0B6B | |
1382 ldx $02,s | |
1383 leax $05,x | |
1384 cmpx ,s | |
1385 bcs L0B30 | |
1386 L0B63 clra | |
1387 clrb | |
1388 sta <$19,y | |
1389 std <$1A,y | |
1390 L0B6B leas $04,s | |
1391 rts | |
1392 L0B6E pshs u,y,x,a | |
1393 ldx <$1E,y | |
1394 ldd $06,x | |
1395 subd #$0001 | |
1396 addd <$17,y | |
1397 std <$17,y | |
1398 ldd $06,x | |
1399 bcc L0B96 | |
1400 inc <$16,y | |
1401 bra L0B96 | |
1402 L0B87 lsr <$16,y | |
1403 ror <$17,y | |
1404 ror <$18,y | |
1405 lsr <$1A,y | |
1406 ror <$1B,y | |
1407 L0B96 lsra | |
1408 rorb | |
1409 bcc L0B87 | |
1410 clrb | |
1411 ldd <$1A,y | |
1412 beq L0BD6 | |
1413 ldd <$16,y | |
1414 lsra | |
1415 rorb | |
1416 lsra | |
1417 rorb | |
1418 lsra | |
1419 rorb | |
1420 tfr b,a | |
1421 ldb #$DB | |
1422 cmpa $04,x | |
1423 bhi L0BD5 | |
1424 inca | |
1425 sta ,s | |
1426 L0BB4 bsr L0BD8 | |
1427 bcs L0BB4 | |
1428 ldb ,s | |
1429 bsr L0C33 | |
1430 bcs L0BD5 | |
1431 ldx $08,y | |
1432 ldd <$17,y | |
1433 anda #$07 | |
1434 ldy <$1A,y | |
1435 os9 F$DelBit | |
1436 ldy $03,s | |
1437 ldb ,s | |
1438 bsr L0C0B | |
1439 bcc L0BD6 | |
1440 L0BD5 coma | |
1441 L0BD6 puls pc,u,y,x,a | |
1442 L0BD8 lbsr L0D72 | |
1443 bra L0BE5 | |
1444 L0BDD lbsr L0838 | |
1445 os9 F$IOQu | |
1446 bsr L0BF5 | |
1447 L0BE5 bcs L0BF4 | |
1448 ldx <$1E,y | |
1449 lda <$17,x | |
1450 bne L0BDD | |
1451 lda $05,y | |
1452 sta <$17,x | |
1453 L0BF4 rts | |
1454 L0BF5 ldu <$004B | |
1455 ldb <$36,u | |
1456 cmpb #$01 | |
1457 bls L0C02 | |
1458 cmpb #$03 | |
1459 bls L0C09 | |
1460 L0C02 clra | |
1461 lda $0D,u | |
1462 bita #$02 | |
1463 beq L0C0A | |
1464 L0C09 coma | |
1465 L0C0A rts | |
1466 L0C0B clra | |
1467 tfr d,x | |
1468 clrb | |
1469 lbsr L0D42 | |
1470 L0C12 pshs cc | |
1471 ldx <$1E,y | |
1472 lda $05,y | |
1473 cmpa <$17,x | |
1474 bne L0C31 | |
1475 clr <$17,x | |
1476 ldx <$004B | |
1477 lda <$11,x | |
1478 beq L0C31 | |
1479 lbsr L0838 | |
1480 ldx #$0001 | |
1481 os9 F$Sleep | |
1482 L0C31 puls pc,cc | |
1483 L0C33 clra | |
1484 tfr d,x | |
1485 clrb | |
1486 lbra L0CEB | |
1487 pshs u,x | |
1488 lbsr L0D40 | |
1489 bcs L0C47 | |
1490 lda $0A,y | |
1491 anda #$FE | |
1492 sta $0A,y | |
1493 L0C47 puls pc,u,x | |
1494 L0C49 ldd $0C,y | |
1495 subd <$14,y | |
1496 tfr d,x | |
1497 ldb $0B,y | |
1498 sbcb <$13,y | |
1499 cmpb <$19,y | |
1500 bcs L0C61 | |
1501 bhi L0C63 | |
1502 cmpx <$1A,y | |
1503 bcc L0C63 | |
1504 L0C61 clrb | |
1505 L0C62 rts | |
1506 L0C63 pshs u | |
1507 bsr L0CD4 | |
1508 bcs L0CBF | |
1509 clra | |
1510 clrb | |
1511 std <$13,y | |
1512 stb <$15,y | |
1513 ldu $08,y | |
1514 leax <$10,u | |
1515 lda $08,y | |
1516 ldb #$FC | |
1517 pshs b,a | |
1518 L0C7C ldd $03,x | |
1519 beq L0CA1 | |
1520 addd <$14,y | |
1521 tfr d,u | |
1522 ldb <$13,y | |
1523 adcb #$00 | |
1524 cmpb $0B,y | |
1525 bhi L0CAE | |
1526 bne L0C95 | |
1527 cmpu $0C,y | |
1528 bhi L0CAE | |
1529 L0C95 stb <$13,y | |
1530 stu <$14,y | |
1531 leax $05,x | |
1532 cmpx ,s | |
1533 bcs L0C7C | |
1534 L0CA1 clra | |
1535 clrb | |
1536 sta <$19,y | |
1537 std <$1A,y | |
1538 comb | |
1539 ldb #E$NES | |
1540 bra L0CBD | |
1541 L0CAE ldd ,x | |
1542 std <$16,y | |
1543 lda $02,x | |
1544 sta <$18,y | |
1545 ldd $03,x | |
1546 std <$1A,y | |
1547 L0CBD leas $02,s | |
1548 L0CBF puls pc,u | |
1549 L0CC1 pshs x,b | |
1550 lbsr L0D72 | |
1551 bcs L0CD0 | |
1552 clrb | |
1553 ldx #$0000 | |
1554 bsr L0CEB | |
1555 bcc L0CD2 | |
1556 L0CD0 stb ,s | |
1557 L0CD2 puls pc,x,b | |
1558 L0CD4 ldb $0A,y | |
1559 bitb #$04 | |
1560 bne L0C61 | |
1561 lbsr L0D72 | |
1562 bcs L0C62 | |
1563 ldb $0A,y | |
1564 orb #$04 | |
1565 stb $0A,y | |
1566 ldb <$34,y | |
1567 ldx <$35,y | |
1568 L0CEB lda #$03 | |
1569 L0CED pshs u,y,x,b,a | |
1570 lda $0A,y | |
1571 ora #$20 | |
1572 sta $0A,y | |
1573 ldu $03,y | |
1574 ldu $02,u | |
1575 bra L0D01 | |
1576 L0CFB lbsr L0838 | |
1577 os9 F$IOQu | |
1578 L0D01 lda $04,u | |
1579 bne L0CFB | |
1580 lda $05,y | |
1581 sta $04,u | |
1582 ldd ,s | |
1583 ldx $02,s | |
1584 pshs u | |
1585 bsr L0D26 | |
1586 puls u | |
1587 ldy $04,s | |
1588 pshs cc | |
1589 bcc L0D1C | |
1590 stb $02,s | |
1591 L0D1C lda $0A,y | |
1592 anda #$DF | |
1593 sta $0A,y | |
1594 clr $04,u | |
1595 puls pc,u,y,x,b,a,cc | |
1596 L0D26 pshs pc,x,b,a | |
1597 ldx $03,y | |
1598 ldd ,x | |
1599 ldx ,x | |
1600 addd $09,x | |
1601 addb ,s | |
1602 adca #$00 | |
1603 std $04,s | |
1604 puls pc,x,b,a | |
1605 L0D38 ldb <$34,y | |
1606 ldx <$35,y | |
1607 bra L0D42 | |
1608 L0D40 bsr L0D5B | |
1609 L0D42 lda #$06 | |
1610 pshs x,b,a | |
1611 ldd <$1C,y | |
1612 beq L0D51 | |
1613 ldx <$1E,y | |
1614 cmpd $0E,x | |
1615 L0D51 puls x,b,a | |
1512 | 1616 beq L0CED |
0 | 1617 comb |
1618 ldb #E$DIDC | |
1619 rts | |
1620 L0D5B ldd $0C,y | |
1621 subd <$14,y | |
1622 tfr d,x | |
1623 ldb $0B,y | |
1624 sbcb <$13,y | |
1625 exg d,x | |
1626 addd <$17,y | |
1627 exg d,x | |
1628 adcb <$16,y | |
1629 rts | |
1630 L0D72 clrb | |
1631 pshs u,x | |
1632 ldb $0A,y | |
1633 andb #$46 | |
1634 beq L0D8F | |
1635 tfr b,a | |
1636 eorb $0A,y | |
1637 stb $0A,y | |
1638 andb #$01 | |
1639 beq L0D8F | |
1640 eorb $0A,y | |
1641 stb $0A,y | |
1642 bita #$02 | |
1643 beq L0D8F | |
1644 bsr L0D40 | |
1645 L0D8F puls pc,u,x | |
1646 L0D91 pshs u,x | |
1647 lbsr L0C49 | |
1648 bcs L0DAA | |
1649 bsr L0D72 | |
1650 bcs L0DAA | |
1512 | 1651 bsr L0D5B |
0 | 1652 lbsr L0CEB |
1653 bcs L0DAA | |
1654 lda $0A,y | |
1655 ora #$42 | |
1656 sta $0A,y | |
1657 L0DAA puls pc,u,x | |
1658 | |
1659 emod | |
1660 eom equ * | |
1661 end | |
1662 |