C64 ROM | Routines |
Prev: EEB3 | Up: Map | Next: EED7 |
Used by the routine at FE72.
|
||||
EEBB | A5 B4 | LDA $B4 | get RS232 bit count | |
EEBD | F0 47 | BEQ $EF06 | if zero go setup next RS232 Tx byte and return | |
EEBF | 30 3F | BMI $EF00 | if -ve go do stop bit(s) | |
else bit count is non zero and +ve
|
||||
EEC1 | 46 B6 | LSR $B6 | shift RS232 output byte buffer | |
EEC3 | A2 00 | LDX #$00 | set $00 for bit = 0 | |
EEC5 | 90 01 | BCC $EEC8 | branch if bit was 0 | |
EEC7 | CA | DEX | set $FF for bit = 1 | |
EEC8 | 8A | TXA | copy bit to A | |
EEC9 | 45 BD | EOR $BD | EOR with RS232 parity byte | |
EECB | 85 BD | STA $BD | save RS232 parity byte | |
EECD | C6 B4 | DEC $B4 | decrement RS232 bit count | |
EECF | F0 06 | BEQ $EED7 | if RS232 bit count now zero go do parity bit | |
This entry point is used by the routine at EED7.
save bit and exit
|
||||
EED1 | 8A | TXA | copy bit to A | |
EED2 | 29 04 | AND #%00000100 | mask 0000 0x00, RS232 Tx DATA bit | |
EED4 | 85 B5 | STA $B5 | save the next RS232 data bit to send | |
EED6 | 60 | RTS |
Prev: EEB3 | Up: Map | Next: EED7 |