C64 ROM | Routines |
Prev: EF90 | Up: Map | Next: EFDB |
Used by the routine at EF59.
|
||||
EF97 | AC 9B 02 | LDY $029B | get index to Rx buffer end | |
EF9A | C8 | INY | increment index | |
EF9B | CC 9C 02 | CPY $029C | compare with index to Rx buffer start | |
EF9E | F0 2A | BEQ $EFCA | if buffer full go do Rx overrun error | |
EFA0 | 8C 9B 02 | STY $029B | save index to Rx buffer end | |
EFA3 | 88 | DEY | decrement index | |
EFA4 | A5 AA | LDA $AA | get assembled byte | |
EFA6 | AE 98 02 | LDX $0298 | get bit count | |
EFA9 | E0 09 | CPX #$09 | compare with byte + stop | |
EFAB | F0 04 | BEQ $EFB1 | branch if all nine bits received | |
EFAD | 4A | LSR A | else shift byte | |
EFAE | E8 | INX | increment bit count | |
EFAF | D0 F8 | BNE $EFA9 | loop, branch always | |
EFB1 | 91 F7 | STA ($F7),Y | save received byte to Rx buffer | |
EFB3 | A9 20 | LDA #%00100000 | mask 00x0 0000, parity enable bit | |
EFB5 | 2C 94 02 | BIT $0294 | test the pseudo 6551 command register | |
EFB8 | F0 B4 | BEQ $EF6E | branch if parity disabled | |
EFBA | 30 B1 | BMI $EF6D | branch if mark or space parity | |
EFBC | A5 A7 | LDA $A7 | get the RS232 received data bit | |
EFBE | 45 AB | EOR $AB | EOR with the receiver parity bit | |
EFC0 | F0 03 | BEQ $EFC5 | ||
EFC2 | 70 A9 | BVS $EF6D | if ?? just exit | |
EFC4 | .BYTE $2C | makes next line BIT $A650 | ||
EFC5 | 50 A6 | BVC $EF6D | if ?? just exit | |
EFC7 | A9 01 | LDA #$01 | set Rx parity error | |
EFC9 | .BYTE $2C | makes next line BIT $04A9 | ||
EFCA | A9 04 | LDA #$04 | set Rx overrun error | |
EFCC | .BYTE $2C | makes next line BIT $80A9 | ||
This entry point is used by the routine at EFDB.
|
||||
EFCD | A9 80 | LDA #$80 | set Rx break error | |
EFCF | .BYTE $2C | makes next line BIT $02A9 | ||
This entry point is used by the routine at EFDB.
|
||||
EFD0 | A9 02 | LDA #$02 | set Rx frame error | |
EFD2 | 0D 97 02 | ORA $0297 | OR it with the RS232 status byte | |
EFD5 | 8D 97 02 | STA $0297 | save the RS232 status byte | |
EFD8 | 4C 7E EF | JMP $EF7E | setup to receive an RS232 bit and return |
Prev: EF90 | Up: Map | Next: EFDB |