Mercurial > hg > Members > kono > nitros9-code
annotate level1/modules/rbf.asm @ 1694:e7b88498bb05
Changes for the 03.02.04 release.
author | boisy |
---|---|
date | Tue, 03 Aug 2004 02:28:50 +0000 |
parents | c0c47b363b5d |
children | d729f735c336 |
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 sta R$B,x restore caller's original B | |
1694 | 775 bcc ok@ branch if no error on GetStat |
776 cmpb #E$UnkSvc Unknown Service call error? | |
777 lbne L0B10 if not, return with error | |
778 **** | |
779 ok@ ldd #256 | |
0 | 780 stb PD.BUF+2,y |
781 os9 F$SRqMem | |
782 bcs L061C | |
783 stu PD.BUF,y | |
784 ldx PD.RGS,y | |
785 ldx R$X,x | |
786 pshs u,y,x | |
787 leas -$04,s | |
788 clra | |
789 clrb | |
790 sta <PD.FD,y | |
791 std <PD.FD+1,y | |
792 std <PD.DSK,y | |
793 lda ,x | |
794 sta ,s | |
795 cmpa #PDELIM | |
796 bne L0654 | |
797 lbsr L07BC | |
798 sta ,s | |
799 lbcs L0752 | |
800 leax ,y | |
801 ldy $06,s | |
802 bra L0677 | |
803 L0654 anda #$7F strip hi bit | |
804 cmpa #PENTIR raw? | |
805 beq L0677 branch if so | |
806 lda #PDELIM | |
807 sta ,s | |
808 leax -$01,x | |
809 lda $01,y | |
810 ldu <$004B | |
811 leau <$1A,u | |
812 bita #$24 | |
813 beq L066D | |
814 leau $06,u | |
815 L066D ldb $03,u | |
816 stb <PD.FD,y | |
817 ldd $04,u | |
818 std <PD.FD+1,y | |
819 L0677 ldu $03,y | |
820 stu <PD.DVT,y | |
821 lda <PD.DRV,y | |
1512 | 822 ldb #DRVMEM |
0 | 823 mul |
824 addd $02,u | |
825 addd #$000F | |
826 std <PD.DTB,y | |
827 lda ,s | |
828 anda #$7F | |
829 cmpa #PENTIR | |
830 bne L0698 | |
831 leax $01,x | |
832 bra L06BA | |
833 L0698 lbsr L0CC1 | |
834 lbcs L075A | |
835 ldu PD.BUF,y | |
836 ldd $0E,u | |
837 std <PD.DSK,y | |
838 ldd <PD.FD+1,y | |
839 bne L06BA | |
840 lda <PD.FD,y | |
841 bne L06BA | |
842 lda $08,u | |
843 sta <PD.FD,y | |
844 ldd $09,u | |
845 std <PD.FD+1,y | |
846 L06BA stx $04,s | |
847 stx $08,s | |
848 L06BE lbsr L0D72 | |
849 lbcs L075A | |
850 lda ,s | |
851 anda #$7F | |
852 cmpa #PENTIR | |
853 beq L06D4 | |
854 lbsr L0CD4 | |
855 lbcs L075A | |
856 L06D4 lbsr L082B | |
857 lda ,s | |
858 cmpa #PDELIM | |
859 bne L0734 | |
860 clr $02,s | |
861 clr $03,s | |
862 lda $01,y | |
863 ora #$80 | |
864 lbsr L07F1 | |
865 bcs L0752 | |
866 lbsr L01C6 | |
867 ldx $08,s | |
868 leax $01,x | |
869 lbsr L07BC | |
870 std ,s | |
871 stx $04,s | |
872 sty $08,s | |
873 ldy $06,s | |
874 bcs L0752 | |
875 lbsr L079C | |
876 bra L070A | |
877 L0705 bsr L075D | |
1512 | 878 L0707 bsr L0787 |
0 | 879 L070A bcs L0752 |
880 tst ,x | |
881 beq L0705 | |
882 clra | |
883 ldb $01,s | |
884 leay ,x | |
885 ldx $04,s | |
886 os9 F$CmpNam | |
887 ldx $06,s | |
888 exg x,y | |
889 bcs L0707 | |
890 bsr L076B | |
891 lda <$1D,x | |
892 sta <PD.FD,y | |
893 ldd <$1E,x | |
894 std <PD.FD+1,y | |
895 lbsr L0837 | |
1512 | 896 bra L06BE |
0 | 897 L0734 ldx $08,s |
898 tsta | |
899 bmi L0741 | |
900 os9 F$PrsNam | |
901 leax ,y | |
902 ldy $06,s | |
903 L0741 stx $04,s | |
904 clra | |
905 L0744 lda ,s | |
906 leas $04,s | |
907 pshs b,a,cc | |
908 lda $0A,y | |
909 anda #$BF | |
910 sta $0A,y | |
911 puls pc,u,y,x,b,a,cc | |
912 L0752 cmpb #$D3 | |
913 bne L075A | |
914 bsr L075D | |
915 ldb #$D8 | |
916 L075A coma | |
917 bra L0744 | |
918 L075D pshs b,a | |
919 lda $04,s | |
920 cmpa #$2F | |
921 beq L0785 | |
922 ldd $06,s | |
923 bne L0785 | |
924 puls b,a | |
925 L076B pshs b,a | |
926 stx $06,s | |
927 lda <PD.FD,y | |
928 sta <PD.DFD,y | |
929 ldd <PD.FD+1,y | |
930 std <PD.DFD+1,y | |
931 ldd $0B,y | |
932 std <PD.DCP,y | |
933 ldd $0D,y | |
934 std <PD.DCP+2,y | |
935 L0785 puls pc,b,a | |
936 | |
937 L0787 ldb $0E,y | |
938 addb #$20 | |
939 stb $0E,y | |
940 bcc L079C | |
941 lbsr L0D72 | |
942 inc $0D,y | |
943 bne L079C | |
944 inc $0C,y | |
945 bne L079C | |
946 inc $0B,y | |
947 L079C ldd #$0020 | |
948 lbsr L03CD | |
949 bcs L07BB | |
950 lda $0A,y | |
951 bita #$02 | |
952 bne L07B4 | |
953 lbsr L0C49 | |
954 bcs L07BB | |
955 lbsr L0D91 | |
956 bcs L07BB | |
957 L07B4 ldb $0E,y | |
958 lda $08,y | |
959 tfr d,x | |
960 clrb | |
961 L07BB rts | |
962 | |
963 L07BC os9 F$PrsNam | |
964 pshs x | |
965 bcc L07E9 | |
966 clrb | |
967 L07C4 pshs a | |
968 anda #$7F | |
969 cmpa #PDIR | |
970 puls a | |
971 bne L07DF | |
972 incb | |
973 leax $01,x | |
974 tsta | |
975 bmi L07DF | |
976 lda ,x | |
977 cmpb #$03 | |
978 bcs L07C4 | |
979 lda #PDELIM | |
980 decb | |
981 leax -$03,x | |
982 L07DF tstb | |
983 bne L07E7 | |
984 L07E2 comb | |
985 ldb #E$BPNam | |
986 puls pc,x | |
987 L07E7 leay ,x | |
988 L07E9 cmpb #$20 | |
989 bhi L07E2 | |
990 andcc #^Carry | |
991 puls pc,x | |
992 | |
993 * A = PD.MOD (mode byte) | |
994 L07F1 tfr a,b | |
995 anda #$07 | |
996 andb #$C0 | |
997 pshs x,b,a | |
998 lbsr L0CD4 | |
999 bcs L0820 | |
1000 ldu $08,y | |
1001 ldx <$004B | |
1002 ldd $09,x | |
1003 beq L0809 | |
1004 cmpd $01,u | |
1005 L0809 puls a | |
1006 beq L0810 | |
1007 lsla | |
1008 lsla | |
1009 lsla | |
1010 L0810 ora ,s | |
1011 anda #$BF | |
1012 pshs a | |
1013 ora #$80 | |
1014 anda ,u | |
1015 cmpa ,s | |
1016 beq L0829 | |
1017 ldb #$D6 | |
1018 L0820 leas $02,s | |
1019 coma | |
1020 puls pc,x | |
1021 ldb #$FD | |
1022 bra L0820 | |
1023 L0829 puls pc,x,b,a | |
1024 L082B clra | |
1025 clrb | |
1026 std $0B,y | |
1027 std $0D,y | |
1028 sta <$19,y | |
1029 std <$1A,y | |
1030 L0837 rts | |
1031 L0838 pshs y,x,b,a | |
1032 ldx <D.Proc | |
1033 lda <P$IOQN,x | |
1034 beq L0851 | |
1035 clr <P$IOQN,x | |
1036 ldb #S$Wake | |
1037 os9 F$Send | |
1038 ldx <D.PrcDBT | |
1039 os9 F$Find64 | |
1040 clr <P$IOQP,y | |
1041 L0851 clrb | |
1042 puls pc,y,x,b,a | |
1043 L0854 pshs u,x | |
1044 L0856 bsr L08B2 | |
1045 bne L0866 | |
1046 cmpx <$1A,y | |
1047 bcs L08AD | |
1048 bne L0866 | |
1049 lda <$12,y | |
1050 beq L08AD | |
1051 L0866 lbsr L0CD4 | |
1052 bcs L08AA | |
1053 ldx $0B,y | |
1054 ldu $0D,y | |
1055 pshs u,x | |
1056 ldd $0F,y | |
1057 std $0B,y | |
1058 ldd <$11,y | |
1059 std $0D,y | |
1060 lbsr L0C63 | |
1061 puls u,x | |
1062 stx $0B,y | |
1063 stu $0D,y | |
1064 bcc L08AD | |
1065 cmpb #$D5 | |
1066 bne L08AA | |
1067 bsr L08B2 | |
1068 bne L0896 | |
1069 tst <$12,y | |
1070 beq L0899 | |
1071 leax $01,x | |
1072 bne L0899 | |
1073 L0896 ldx #$FFFF | |
1074 L0899 tfr x,d | |
1075 tsta | |
1076 bne L08A6 | |
1077 cmpb <$2E,y | |
1078 bcc L08A6 | |
1079 ldb <$2E,y | |
1080 L08A6 bsr L08C0 | |
1081 bcc L0856 | |
1082 L08AA coma | |
1083 puls pc,u,x | |
1084 L08AD lbsr L0C49 | |
1085 puls pc,u,x | |
1086 L08B2 ldd <$10,y | |
1087 subd <$14,y | |
1088 tfr d,x | |
1089 ldb $0F,y | |
1090 sbcb <$13,y | |
1091 rts | |
1092 L08C0 pshs u,x | |
1093 lbsr L0966 | |
1094 bcs L08FF | |
1095 lbsr L0CD4 | |
1096 bcs L08FF | |
1097 ldu $08,y | |
1098 clra | |
1099 clrb | |
1100 std $09,u | |
1101 std $0B,u | |
1102 leax <$10,u | |
1103 ldd $03,x | |
1104 beq L0947 | |
1105 ldd $08,y | |
1106 inca | |
1107 pshs b,a | |
1108 bra L08EF | |
1109 L08E2 clrb | |
1110 ldd -$02,x | |
1111 beq L08FB | |
1112 addd $0A,u | |
1113 std $0A,u | |
1114 bcc L08EF | |
1115 inc $09,u | |
1116 L08EF leax $05,x | |
1117 cmpx ,s | |
1118 bcs L08E2 | |
1119 lbsr L0B6E | |
1120 comb | |
1121 ldb #E$SLF | |
1122 L08FB leas $02,s | |
1123 leax -$05,x | |
1124 L08FF bcs L0964 | |
1125 ldd -$04,x | |
1126 addd -$02,x | |
1127 pshs b,a | |
1128 ldb -$05,x | |
1129 adcb #$00 | |
1130 cmpb <$16,y | |
1131 puls b,a | |
1132 bne L0947 | |
1133 cmpd <$17,y | |
1134 bne L0947 | |
1135 ldu <$1E,y | |
1136 ldd $06,u | |
1137 ldu $08,y | |
1138 subd #$0001 | |
1139 coma | |
1140 comb | |
1141 pshs b,a | |
1142 ldd -$05,x | |
1143 eora <$16,y | |
1144 eorb <$17,y | |
1145 lsra | |
1146 rorb | |
1147 lsra | |
1148 rorb | |
1149 lsra | |
1150 rorb | |
1151 anda ,s+ | |
1152 andb ,s+ | |
1153 std -$02,s | |
1154 bne L0947 | |
1155 ldd -$02,x | |
1156 addd <$1A,y | |
1157 bcs L0947 | |
1158 std -$02,x | |
1159 bra L0956 | |
1160 L0947 ldd <$16,y | |
1161 std ,x | |
1162 lda <$18,y | |
1163 sta $02,x | |
1164 ldd <$1A,y | |
1165 std $03,x | |
1166 L0956 ldd $0A,u | |
1167 addd <$1A,y | |
1168 std $0A,u | |
1169 bcc L0961 | |
1170 inc $09,u | |
1171 L0961 lbsr L0D38 | |
1172 L0964 puls pc,u,x | |
1173 L0966 pshs u,y,x,b,a | |
1174 ldb #$0C | |
1175 L096A clr ,-s | |
1176 decb | |
1177 bne L096A | |
1178 ldx <$1E,y | |
1179 ldd $04,x | |
1180 std $04,s | |
1181 ldd $06,x | |
1182 std $02,s | |
1183 std $0A,s | |
1184 ldx $03,y | |
1185 ldx $04,x | |
1186 leax <$12,x | |
1187 subd #$0001 | |
1188 addb $0E,x | |
1189 adca #$00 | |
1190 bra L098E | |
1191 L098C lsra | |
1192 rorb | |
1193 L098E lsr $0A,s | |
1194 ror $0B,s | |
1195 bcc L098C | |
1196 std ,s | |
1197 ldd $02,s | |
1198 std $0A,s | |
1199 subd #$0001 | |
1200 addd $0C,s | |
1201 bcc L09A8 | |
1202 ldd #$FFFF | |
1203 bra L09A8 | |
1204 L09A6 lsra | |
1205 rorb | |
1206 L09A8 lsr $0A,s | |
1207 ror $0B,s | |
1208 bcc L09A6 | |
1209 cmpa #$08 | |
1210 bcs L09B5 | |
1211 ldd #$0800 | |
1212 L09B5 std $0C,s | |
1213 lbsr L0BD8 | |
1214 lbcs L0AA3 | |
1215 ldx <$1E,y | |
1216 ldd <$1A,x | |
1217 cmpd $0E,x | |
1218 bne L09D7 | |
1219 lda <$1C,x | |
1220 cmpa $04,x | |
1221 bne L09D7 | |
1222 ldb <$1D,x | |
1223 cmpb $04,x | |
1224 bcs L09E5 | |
1225 L09D7 ldd $0E,x | |
1226 std <$1A,x | |
1227 lda $04,x | |
1228 sta <$1C,x | |
1229 clrb | |
1230 stb <$1D,x | |
1231 L09E5 incb | |
1232 stb $06,s | |
1233 ldx <$1E,y | |
1234 cmpb <$1E,x | |
1235 beq L0A21 | |
1236 lbsr L0C33 | |
1237 lbcs L0AA3 | |
1238 ldb $06,s | |
1239 cmpb $04,s | |
1240 bls L0A02 | |
1241 clra | |
1242 ldb $05,s | |
1243 bra L0A05 | |
1244 L0A02 ldd #$0100 | |
1245 L0A05 ldx $08,y | |
1246 leau d,x | |
1247 ldy $0C,s | |
1248 clra | |
1249 clrb | |
1250 os9 F$SchBit | |
1251 bcc L0A4E | |
1252 cmpy $08,s | |
1253 bls L0A21 | |
1254 sty $08,s | |
1255 std $0A,s | |
1256 lda $06,s | |
1257 sta $07,s | |
1258 L0A21 ldy <$10,s | |
1259 ldb $06,s | |
1260 cmpb $04,s | |
1261 bcs L0A32 | |
1262 bhi L0A31 | |
1263 tst $05,s | |
1264 bne L0A32 | |
1265 L0A31 clrb | |
1266 L0A32 ldx <$1E,y | |
1267 cmpb <$1D,x | |
1268 bne L09E5 | |
1269 ldb $07,s | |
1270 beq L0AA1 | |
1271 cmpb $06,s | |
1272 beq L0A47 | |
1273 stb $06,s | |
1274 lbsr L0C33 | |
1275 L0A47 ldx $08,y | |
1276 ldd $0A,s | |
1277 ldy $08,s | |
1278 L0A4E std $0A,s | |
1279 sty $08,s | |
1280 os9 F$AllBit | |
1281 ldy <$10,s | |
1282 ldb $06,s | |
1283 lbsr L0C0B | |
1284 bcs L0AA3 | |
1285 ldx <$1E,y | |
1286 lda $06,s | |
1287 deca | |
1288 sta <$1D,x | |
1289 clrb | |
1290 lsla | |
1291 rolb | |
1292 lsla | |
1293 rolb | |
1294 lsla | |
1295 rolb | |
1296 stb <$16,y | |
1297 ora $0A,s | |
1298 ldb $0B,s | |
1299 ldx $08,s | |
1300 ldy <$10,s | |
1301 std <$17,y | |
1302 stx <$1A,y | |
1303 ldd $02,s | |
1304 bra L0A97 | |
1305 L0A88 lsl <$18,y | |
1306 rol <$17,y | |
1307 rol <$16,y | |
1308 lsl <$1B,y | |
1309 rol <$1A,y | |
1310 L0A97 lsra | |
1311 rorb | |
1312 bcc L0A88 | |
1313 clrb | |
1314 ldd <$1A,y | |
1315 bra L0AAB | |
1316 L0AA1 ldb #$F8 | |
1317 L0AA3 ldy <$10,s | |
1318 lbsr L0C12 | |
1319 coma | |
1320 L0AAB leas $0E,s | |
1321 puls pc,u,y,x | |
1322 L0AAF clra | |
1323 lda $01,y | |
1324 bita #$80 | |
1325 bne L0B11 | |
1326 ldd $0F,y | |
1327 std $0B,y | |
1328 ldd <$11,y | |
1329 std $0D,y | |
1330 lbsr L0C63 | |
1331 bcc L0AC8 | |
1332 cmpb #$D5 | |
1333 bra L0B09 | |
1334 L0AC8 ldd <$14,y | |
1335 subd $0C,y | |
1336 addd <$1A,y | |
1337 tst $0E,y | |
1338 beq L0AD7 | |
1339 subd #$0001 | |
1340 L0AD7 pshs b,a | |
1341 ldu <$1E,y | |
1342 ldd $06,u | |
1343 subd #$0001 | |
1344 coma | |
1345 comb | |
1346 anda ,s+ | |
1347 andb ,s+ | |
1348 ldu <$1A,y | |
1349 std <$1A,y | |
1350 beq L0B0B | |
1351 tfr u,d | |
1352 subd <$1A,y | |
1353 pshs x,b,a | |
1354 addd <$17,y | |
1355 std <$17,y | |
1356 bcc L0B01 | |
1357 inc <$16,y | |
1358 L0B01 bsr L0B6E | |
1359 bcc L0B12 | |
1360 leas $04,s | |
1361 cmpb #$DB | |
1362 L0B09 bne L0B10 | |
1363 L0B0B lbsr L0CD4 | |
1364 bcc L0B1B | |
1365 L0B10 coma | |
1366 L0B11 rts | |
1367 L0B12 lbsr L0CD4 | |
1368 bcs L0B6B | |
1369 puls x,b,a | |
1370 std $03,x | |
1371 L0B1B ldu $08,y | |
1372 ldd <$11,y | |
1373 std $0B,u | |
1374 ldd $0F,y | |
1375 std $09,u | |
1376 tfr x,d | |
1377 clrb | |
1378 inca | |
1379 leax $05,x | |
1380 pshs x,b,a | |
1381 bra L0B56 | |
1382 L0B30 ldd -$02,x | |
1383 beq L0B63 | |
1384 std <$1A,y | |
1385 ldd -$05,x | |
1386 std <$16,y | |
1387 lda -$03,x | |
1388 sta <$18,y | |
1389 bsr L0B6E | |
1390 bcs L0B6B | |
1391 stx $02,s | |
1392 lbsr L0CD4 | |
1393 bcs L0B6B | |
1394 ldx $02,s | |
1395 clra | |
1396 clrb | |
1397 std -$05,x | |
1398 sta -$03,x | |
1399 std -$02,x | |
1400 L0B56 lbsr L0D38 | |
1401 bcs L0B6B | |
1402 ldx $02,s | |
1403 leax $05,x | |
1404 cmpx ,s | |
1405 bcs L0B30 | |
1406 L0B63 clra | |
1407 clrb | |
1408 sta <$19,y | |
1409 std <$1A,y | |
1410 L0B6B leas $04,s | |
1411 rts | |
1412 L0B6E pshs u,y,x,a | |
1413 ldx <$1E,y | |
1414 ldd $06,x | |
1415 subd #$0001 | |
1416 addd <$17,y | |
1417 std <$17,y | |
1418 ldd $06,x | |
1419 bcc L0B96 | |
1420 inc <$16,y | |
1421 bra L0B96 | |
1422 L0B87 lsr <$16,y | |
1423 ror <$17,y | |
1424 ror <$18,y | |
1425 lsr <$1A,y | |
1426 ror <$1B,y | |
1427 L0B96 lsra | |
1428 rorb | |
1429 bcc L0B87 | |
1430 clrb | |
1431 ldd <$1A,y | |
1432 beq L0BD6 | |
1433 ldd <$16,y | |
1434 lsra | |
1435 rorb | |
1436 lsra | |
1437 rorb | |
1438 lsra | |
1439 rorb | |
1440 tfr b,a | |
1441 ldb #$DB | |
1442 cmpa $04,x | |
1443 bhi L0BD5 | |
1444 inca | |
1445 sta ,s | |
1446 L0BB4 bsr L0BD8 | |
1447 bcs L0BB4 | |
1448 ldb ,s | |
1449 bsr L0C33 | |
1450 bcs L0BD5 | |
1451 ldx $08,y | |
1452 ldd <$17,y | |
1453 anda #$07 | |
1454 ldy <$1A,y | |
1455 os9 F$DelBit | |
1456 ldy $03,s | |
1457 ldb ,s | |
1458 bsr L0C0B | |
1459 bcc L0BD6 | |
1460 L0BD5 coma | |
1461 L0BD6 puls pc,u,y,x,a | |
1462 L0BD8 lbsr L0D72 | |
1463 bra L0BE5 | |
1464 L0BDD lbsr L0838 | |
1465 os9 F$IOQu | |
1466 bsr L0BF5 | |
1467 L0BE5 bcs L0BF4 | |
1468 ldx <$1E,y | |
1469 lda <$17,x | |
1470 bne L0BDD | |
1471 lda $05,y | |
1472 sta <$17,x | |
1473 L0BF4 rts | |
1474 L0BF5 ldu <$004B | |
1475 ldb <$36,u | |
1476 cmpb #$01 | |
1477 bls L0C02 | |
1478 cmpb #$03 | |
1479 bls L0C09 | |
1480 L0C02 clra | |
1481 lda $0D,u | |
1482 bita #$02 | |
1483 beq L0C0A | |
1484 L0C09 coma | |
1485 L0C0A rts | |
1486 L0C0B clra | |
1487 tfr d,x | |
1488 clrb | |
1489 lbsr L0D42 | |
1490 L0C12 pshs cc | |
1491 ldx <$1E,y | |
1492 lda $05,y | |
1493 cmpa <$17,x | |
1494 bne L0C31 | |
1495 clr <$17,x | |
1496 ldx <$004B | |
1497 lda <$11,x | |
1498 beq L0C31 | |
1499 lbsr L0838 | |
1500 ldx #$0001 | |
1501 os9 F$Sleep | |
1502 L0C31 puls pc,cc | |
1503 L0C33 clra | |
1504 tfr d,x | |
1505 clrb | |
1506 lbra L0CEB | |
1507 pshs u,x | |
1508 lbsr L0D40 | |
1509 bcs L0C47 | |
1510 lda $0A,y | |
1511 anda #$FE | |
1512 sta $0A,y | |
1513 L0C47 puls pc,u,x | |
1514 L0C49 ldd $0C,y | |
1515 subd <$14,y | |
1516 tfr d,x | |
1517 ldb $0B,y | |
1518 sbcb <$13,y | |
1519 cmpb <$19,y | |
1520 bcs L0C61 | |
1521 bhi L0C63 | |
1522 cmpx <$1A,y | |
1523 bcc L0C63 | |
1524 L0C61 clrb | |
1525 L0C62 rts | |
1526 L0C63 pshs u | |
1527 bsr L0CD4 | |
1528 bcs L0CBF | |
1529 clra | |
1530 clrb | |
1531 std <$13,y | |
1532 stb <$15,y | |
1533 ldu $08,y | |
1534 leax <$10,u | |
1535 lda $08,y | |
1536 ldb #$FC | |
1537 pshs b,a | |
1538 L0C7C ldd $03,x | |
1539 beq L0CA1 | |
1540 addd <$14,y | |
1541 tfr d,u | |
1542 ldb <$13,y | |
1543 adcb #$00 | |
1544 cmpb $0B,y | |
1545 bhi L0CAE | |
1546 bne L0C95 | |
1547 cmpu $0C,y | |
1548 bhi L0CAE | |
1549 L0C95 stb <$13,y | |
1550 stu <$14,y | |
1551 leax $05,x | |
1552 cmpx ,s | |
1553 bcs L0C7C | |
1554 L0CA1 clra | |
1555 clrb | |
1556 sta <$19,y | |
1557 std <$1A,y | |
1558 comb | |
1559 ldb #E$NES | |
1560 bra L0CBD | |
1561 L0CAE ldd ,x | |
1562 std <$16,y | |
1563 lda $02,x | |
1564 sta <$18,y | |
1565 ldd $03,x | |
1566 std <$1A,y | |
1567 L0CBD leas $02,s | |
1568 L0CBF puls pc,u | |
1569 L0CC1 pshs x,b | |
1570 lbsr L0D72 | |
1571 bcs L0CD0 | |
1572 clrb | |
1573 ldx #$0000 | |
1574 bsr L0CEB | |
1575 bcc L0CD2 | |
1576 L0CD0 stb ,s | |
1577 L0CD2 puls pc,x,b | |
1578 L0CD4 ldb $0A,y | |
1579 bitb #$04 | |
1580 bne L0C61 | |
1581 lbsr L0D72 | |
1582 bcs L0C62 | |
1583 ldb $0A,y | |
1584 orb #$04 | |
1585 stb $0A,y | |
1586 ldb <$34,y | |
1587 ldx <$35,y | |
1588 L0CEB lda #$03 | |
1589 L0CED pshs u,y,x,b,a | |
1590 lda $0A,y | |
1591 ora #$20 | |
1592 sta $0A,y | |
1593 ldu $03,y | |
1594 ldu $02,u | |
1595 bra L0D01 | |
1596 L0CFB lbsr L0838 | |
1597 os9 F$IOQu | |
1598 L0D01 lda $04,u | |
1599 bne L0CFB | |
1600 lda $05,y | |
1601 sta $04,u | |
1602 ldd ,s | |
1603 ldx $02,s | |
1604 pshs u | |
1605 bsr L0D26 | |
1606 puls u | |
1607 ldy $04,s | |
1608 pshs cc | |
1609 bcc L0D1C | |
1610 stb $02,s | |
1611 L0D1C lda $0A,y | |
1612 anda #$DF | |
1613 sta $0A,y | |
1614 clr $04,u | |
1615 puls pc,u,y,x,b,a,cc | |
1616 L0D26 pshs pc,x,b,a | |
1617 ldx $03,y | |
1618 ldd ,x | |
1619 ldx ,x | |
1620 addd $09,x | |
1621 addb ,s | |
1622 adca #$00 | |
1623 std $04,s | |
1624 puls pc,x,b,a | |
1625 L0D38 ldb <$34,y | |
1626 ldx <$35,y | |
1627 bra L0D42 | |
1628 L0D40 bsr L0D5B | |
1629 L0D42 lda #$06 | |
1630 pshs x,b,a | |
1631 ldd <$1C,y | |
1632 beq L0D51 | |
1633 ldx <$1E,y | |
1634 cmpd $0E,x | |
1635 L0D51 puls x,b,a | |
1512 | 1636 beq L0CED |
0 | 1637 comb |
1638 ldb #E$DIDC | |
1639 rts | |
1640 L0D5B ldd $0C,y | |
1641 subd <$14,y | |
1642 tfr d,x | |
1643 ldb $0B,y | |
1644 sbcb <$13,y | |
1645 exg d,x | |
1646 addd <$17,y | |
1647 exg d,x | |
1648 adcb <$16,y | |
1649 rts | |
1650 L0D72 clrb | |
1651 pshs u,x | |
1652 ldb $0A,y | |
1653 andb #$46 | |
1654 beq L0D8F | |
1655 tfr b,a | |
1656 eorb $0A,y | |
1657 stb $0A,y | |
1658 andb #$01 | |
1659 beq L0D8F | |
1660 eorb $0A,y | |
1661 stb $0A,y | |
1662 bita #$02 | |
1663 beq L0D8F | |
1664 bsr L0D40 | |
1665 L0D8F puls pc,u,x | |
1666 L0D91 pshs u,x | |
1667 lbsr L0C49 | |
1668 bcs L0DAA | |
1669 bsr L0D72 | |
1670 bcs L0DAA | |
1512 | 1671 bsr L0D5B |
0 | 1672 lbsr L0CEB |
1673 bcs L0DAA | |
1674 lda $0A,y | |
1675 ora #$42 | |
1676 sta $0A,y | |
1677 L0DAA puls pc,u,x | |
1678 | |
1679 emod | |
1680 eom equ * | |
1681 end | |
1682 |