$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