C64 ROM | Routines |
Prev: ED11 | Up: Map | Next: ED40 |
|
||||
ED21 | 85 95 | STA $95 | save as serial defered character | |
ED23 | 78 | SEI | disable the interrupts | |
ED24 | 20 97 EE | JSR $EE97 | set the serial data out high | |
ED27 | C9 3F | CMP #$3F | compare read byte with $3F | |
ED29 | D0 03 | BNE $ED2E | branch if not $3F, this branch will always be taken as after VIA 2's PCR is read it is ANDed with $DF, so the result can never be $3F ?? | |
ED2B | 20 85 EE | JSR $EE85 | set the serial clock out high | |
ED2E | AD 00 DD | LDA $DD00 | read VIA 2 DRA, serial port and video address | |
ED31 | 09 08 | ORA #%00001000 | mask xxxx 1xxx, set serial ATN low | |
ED33 | 8D 00 DD | STA $DD00 | save VIA 2 DRA, serial port and video address | |
This entry point is used by the routines at EDB9 and EDC7.
if the code drops through to here the serial clock is low and the serial data has been released so the following code will have no effect apart from delaying the first byte by 1ms
set the serial clk/data, wait and Tx byte on the serial bus
|
||||
ED36 | 78 | SEI | disable the interrupts | |
ED37 | 20 8E EE | JSR $EE8E | set the serial clock out low | |
ED3A | 20 97 EE | JSR $EE97 | set the serial data out high | |
ED3D | 20 B3 EE | JSR $EEB3 | 1ms delay |
Prev: ED11 | Up: Map | Next: ED40 |