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