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