$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 |