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