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