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