$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