     $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