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