$D39B/54171: Get byte for output
Jump from $CA39:
D39B: 20 EB D0 JSR $D0EB ; open channel for reading
D39E: 20 00 C1 JSR $C100 ; turn LED on
D3A1: 20 AA D3 JSR $D3AA ; get byte in output register
D3A4: A6 82 LDX $82 ; channel number
D3A6: BD 3E 02 LDA $023E,X ; get byte
D3A9: 60 RTS
Jump from $D3A1, $E992:
D3AA: A6 82 LDX $82 ; channel number
D3AC: 20 25 D1 JSR $D125 ; check file type
D3AF: D0 03 BNE $D3B4 ; no rel-file?
D3B1: 4C 20 E1 JMP $E120 ; get byte from rel-file
Jump from $D3AF:
D3B4: A5 83 LDA $83 ; secondary address
D3B6: C9 0F CMP #$0F ; 15
D3B8: F0 5A BEQ $D414 ; yes, read error channel
D3BA: B5 F2 LDA $F2,X
D3BC: 29 08 AND #$08 ; end flag set?
D3BE: D0 13 BNE $D3D3 ; no
D3C0: 20 25 D1 JSR $D125 ; check file type
D3C3: C9 07 CMP #$07 ; direct access file?
D3C5: D0 07 BNE $D3CE ; no
D3C7: A9 89 LDA #$89 ; set READ and WRITE flag
D3C9: 95 F2 STA $F2,X
D3CB: 4C DE D3 JMP $D3DE
Jump from $D3C5:
D3CE: A9 00 LDA #$00
D3D0: 95 F2 STA $F2,X ; erase READ and WRITE flag
D3D2: 60 RTS
Jump from $D3BE:
D3D3: A5 83 LDA $83 ; secondary address
D3D5: F0 32 BEQ $D409 ; zero, LOAD?
D3D7: 20 25 D1 JSR $D125 ; check file type
D3DA: C9 04 CMP #$04 ; rel-file or direct access?
D3DC: 90 22 BCC $D400 ; no
Jump from $D3CB:
D3DE: 20 2F D1 JSR $D12F ; get buffer and channel number
D3E1: B5 99 LDA $99,X ; buffer pointer
D3E3: D9 44 02 CMP $0244,Y ; equal end pointer?
D3E6: D0 04 BNE $D3EC ; no
D3E8: A9 00 LDA #$00
D3EA: 95 99 STA $99,X ; buffer pointer to zero
Jump from $D3E6, $CD59:
D3EC: F6 99 INC $99,X ; increment buffer pointer
Jump from $CD91, $CDCC, $CFD5:
D3EE: A1 99 LDA ($99,X) ; get byte from buffer
D3F0: 99 3E 02 STA $023E,Y ; into output register
D3F3: B5 99 LDA $99,X ; buffer pointer
D3F5: D9 44 02 CMP $0244,Y ; equal end pointer?
D3F8: D0 05 BNE $D3FF ; no
D3FA: A9 81 LDA #$81
D3FC: 99 F2 00 STA $F2,Y ; set flags
Jump from $D3F8:
D3FF: 60 RTS
Jump from $D3DC, $D40C:
D400: 20 56 D1 JSR $D156 ; get byte from buffer
Jump from $D411:
D403: A6 82 LDX $82 ; channel number
D405: 9D 3E 02 STA $023E,X ; byte in output register
D408: 60 RTS
Jump from $D3D5:
D409: AD 54 02 LDA $0254 ; flag for directory?
D40C: F0 F2 BEQ $D400 ; no
D40E: 20 67 ED JSR $ED67 ; create directory line
D411: 4C 03 D4 JMP $D403
Jump from $D3B8:
D414: 20 E8 D4 JSR $D4E8 ; set buffer pointer
D417: C9 D4 CMP #$D4
D419: D0 18 BNE $D433
D41B: A5 95 LDA $95
D41D: C9 02 CMP #$02
D41F: D0 12 BNE $D433
D421: A9 0D LDA #$0D ; CR
D423: 85 85 STA $85 ; in output register
D425: 20 23 C1 JSR $C123 ; erase error flags
D428: A9 00 LDA #$00
D42A: 20 C1 E6 JSR $E6C1 ; create 'ok' message
D42D: C6 A5 DEC $A5 ; set buffer pointer back
D42F: A9 80 LDA #$80 ; set READ flag
D431: D0 12 BNE $D445
Jump from $D419, $D41F:
D433: 20 37 D1 JSR $D137 ; get byte from buffer
D436: 85 85 STA $85 ; into output register
D438: D0 09 BNE $D443
Jump from $CB48:
D43A: A9 D4 LDA #$D4
D43C: 20 C8 D4 JSR $D4C8 ; set buffer pointer in front of error pointer
D43F: A9 02 LDA #$02
D441: 95 9A STA $9A,X ; hi-address
Jump from $D438, $CB42:
D443: A9 88 LDA #$88 ; set READ flag
Jump from $D431:
D445: 85 F7 STA $F7
D447: A5 85 LDA $85 ; data byte
D449: 8D 43 02 STA $0243 ; into output register
D44C: 60 RTS
Previous Page / Next Page