C64 ROM | Routines |
Prev: EED7 | Up: Map | Next: EF2E |
EF06 | AD 94 02 | LDA $0294 | read the 6551 pseudo command register | |
EF09 | 4A | LSR A | handshake bit inot Cb | |
EF0A | 90 07 | BCC $EF13 | if 3 line interface go ?? | |
EF0C | 2C 01 DD | BIT $DD01 | test VIA 2 DRB, RS232 port | |
EF0F | 10 1D | BPL $EF2E | if DSR = 0 set DSR signal not present and exit | |
EF11 | 50 1E | BVC $EF31 | if CTS = 0 set CTS signal not present and exit | |
was 3 line interface
|
||||
EF13 | A9 00 | LDA #$00 | clear A | |
EF15 | 85 BD | STA $BD | clear the RS232 parity byte | |
EF17 | 85 B5 | STA $B5 | clear the RS232 next bit to send | |
EF19 | AE 98 02 | LDX $0298 | get the number of bits to be sent/received | |
EF1C | 86 B4 | STX $B4 | set the RS232 bit count | |
EF1E | AC 9D 02 | LDY $029D | get the index to the Tx buffer start | |
EF21 | CC 9E 02 | CPY $029E | compare it with the index to the Tx buffer end | |
EF24 | F0 13 | BEQ $EF39 | if all done go disable T?? interrupt and return | |
EF26 | B1 F9 | LDA ($F9),Y | else get a byte from the buffer | |
EF28 | 85 B6 | STA $B6 | save it to the RS232 output byte buffer | |
EF2A | EE 9D 02 | INC $029D | increment the index to the Tx buffer start | |
EF2D | 60 | RTS |
Prev: EED7 | Up: Map | Next: EF2E |