     $DFD0/57296:   Get next record iin REL file

    Jump from $E153:

    DFD0: A9 20     LDA #$20
    DFD2: 20 9D DD  JSR $DD9D       ; erase bit 5
    DFD5: A9 80     LDA #$80
    DFD7: 20 A6 DD  JSR $DDA6       ; test bit 7
    DFDA: D0 41     BNE $E01D       ; set?
    DFDC: A6 82     LDX $82         ; channel number
    DFDE: F6 B5     INC $B5,X       ; increment record number
    DFE0: D0 02     BNE $DFE4
    DFE2: F6 BB     INC $BB,X       ; record number hi

    Jump from $DFE0:

    DFE4: A6 82     LDX $82         ; channel number
    DFE6: B5 C1     LDA $C1,X       ; write pointer
    DFE8: F0 2E     BEQ $E018       ; zero?
    DFEA: 20 E8 D4  JSR $D4E8       ; set buffer pointer
    DFED: A6 82     LDX $82         ; channel number
    DFEF: D5 C1     CMP $C1,X       ; buffer pointer smaller than write pointer
    DFF1: 90 03     BCC $DFF6       ; yes
    DFF3: 20 3C E0  JSR $E03C       ; write block, read next block

    Jump from $DFF1:

    DFF6: A6 82     LDX $82         ; channel number
    DFF8: B5 C1     LDA $C1,X       ; write pointer
    DFFA: 20 C8 D4  JSR $D4C8       ; set buffer pointer = write pointer
    DFFD: A1 99     LDA ($99,X)     ; byte from buffer
    DFFF: 85 85     STA $85         ; put in output register
    E001: A9 20     LDA #$20
    E003: 20 9D DD  JSR $DD9D       ; erase bit 5
    E006: 20 04 E3  JSR $E304       ; add record length to write pointer

    Jump from $E291:

    E009: 48        PHA             ; and save
    E00A: 90 28     BCC $E034       ; not yet in last block?
    E00C: A9 00     LDA #$00
    E00E: 20 F6 D4  JSR $D4F6       ; get track number
    E011: D0 21     BNE $E034       ; does block exist?
    E013: 68        PLA             ; pointer
    E014: C9 02     CMP #$02        ; = 2
    E016: F0 12     BEQ $E02A       ; yes

    Jump from $DFE8:

    E018: A9 80     LDA #$80
    E01A: 20 97 DD  JSR $DD97       ; set bit 7

    Jump from $DFDA:

    E01D: 20 2F D1  JSR $D12F       ; get byte from buffer
    E020: B5 99     LDA $99,X       ; buffer pointer
    E022: 99 44 02  STA $0244,Y     ; as end pointer
    E025: A9 0D     LDA #$0D        ; CR
    E027: 85 85     STA $85         ; in output register
    E029: 60        RTS

    Jump from $E016:

    E02A: 20 35 E0  JSR $E035
    E02D: A6 82     LDX $82         ; channel number
    E02F: A9 00     LDA #$00
    E031: 95 C1     STA $C1,X       ; write pointer to zero
    E033: 60        RTS

    Jump from $E00A, $E011:

    E034: 68        PLA

    Jump from $E02A:

    E035: A6 82     LDX $82         ; channel number
    E037: 95 C1     STA $C1,X       ; set write pointer
    E039: 4C 6E E1  JMP $E16E

        Previous Page / Next Page