$E07C/57468: Write a byte in a record
Jump from $E0B4, $E0FE:
E07C: 20 05 E1 JSR $E105
E07F: 20 93 DF JSR $DF93 ; get buffer number
E082: 0A ASL ; times 2
E083: AA TAX
E084: A5 85 LDA $85 ; data byte
E086: 81 99 STA ($99,X) ; write in buffer
E088: B4 99 LDY $99,X ; buffer pointer
E08A: C8 INY ; increment
E08B: D0 09 BNE $E096 ; not equal zero?
E08D: A4 82 LDY $82 ; channel number
E08F: B9 C1 00 LDA $C1,Y ; write pointer
E092: F0 0A BEQ $E09E ; equal zero?
E094: A0 02 LDY #$02 ; buffer pointer to 2
Jump from $E08B:
E096: 98 TYA
E097: A4 82 LDY $82 ; channel number
E099: D9 C1 00 CMP $C1,Y ; buffer pointer = write pointer?
E09C: D0 05 BNE $E0A3 ; no
Jump from $E092:
E09E: A9 20 LDA #$20
E0A0: 4C 97 DD JMP $DD97 ; set bit 5
Jump from $E09C:
E0A3: F6 99 INC $99,X ; increment buffer pointer
E0A5: D0 03 BNE $E0AA ; not zero?
E0A7: 20 3C E0 JSR $E03C ; else write block, read next one
Jump from $E0A5:
E0AA: 60 RTS
Previous Page / Next Page