more IEC work - the turnaround seems to work now

This commit is contained in:
FeralChild64 committed 2019-06-22 15:52:09 +02:00
1 parent 22e1e201af
commit a1d3c74a0d
5 files changed
+18 -4

No files matched your search

+8
View File
@@ -0,0 +1,8 @@
iec_release_atn:
lda CI2PRA
and #$FF - BIT_CI2PRA_ATN_OUT ; release
sta CI2PRA
rts
+6 -3
View File
@@ -57,9 +57,12 @@ iec_tx_command:
jsr iec_set_idle
jmp kernalerror_DEVICE_NOT_FOUND
*
;; All done - before exiting wait a moment and restore bus to idle state
jsr iec_wait20us
jsr iec_set_idle
;; All done
;; XXX All the documentation says we should release ATN at this point, but when I do so
;; the turnaround mechanism does not work. Why???
;; jsr iec_wait20us
;; jsr iec_set_idle
clc
rts
+1 -1
View File
@@ -43,7 +43,7 @@ iec_tx_common_bit_is_sent:
;; Pull CLK for 20us again, before sending the next bit
;; or performing any other action
jsr iec_pull_clk_release_data
jsr iec_wait20us
jsr iec_wait20us ; XXX this might be an overkill, there is a lot of code besides this wait here - few NOPs might be enough
;; More bits to send?
dex
+3
View File
@@ -1,6 +1,9 @@
iec_tx_eoi:
;; Releasing ATN needed due to current iec_tx_command implementation
jsr iec_release_atn
;; Wait at least 256 usec
jsr iec_wait100us
jsr iec_wait100us