Files
open-roms/c64/kernal/iec_rx_byte.s
T

28 lines
751 B
ArmAsm

;; Receive a byte from the IEC bus.
;; reference http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf
;; page 11.
iec_rx_byte:
;; First, we wait for the talker to release the CLK line.
jsr iec_wait_for_clock_release
;; We then release the data line
;; Wait for talker to assert CLK.
;; If >200usec, then it is EOI and we have to assert the
;; DATA line for 60 usec to tell the TALKER that we have
;; acknowledged the EOI.
;; CLK is now low. Latch input bits in on rising edge
;; of CLK, eight times for eight bits.
;; Then we must within 1000usec acknowledge the frame by
;; asserting DATA. At this point, CLK is asserted by the
;; talker and DATA by us, i.e., we are ready to receive
;; the next byte. (p11).