more IEC work - the turnaround seems to work now
This commit is contained in:
1 parent
22e1e201af
commit
a1d3c74a0d
5 files changed
+18
-4
No files matched your search
File renamed without changes.
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
iec_release_atn:
|
||||||
|
|
||||||
|
lda CI2PRA
|
||||||
|
and #$FF - BIT_CI2PRA_ATN_OUT ; release
|
||||||
|
sta CI2PRA
|
||||||
|
rts
|
||||||
|
|
||||||
@@ -57,9 +57,12 @@ iec_tx_command:
|
|||||||
jsr iec_set_idle
|
jsr iec_set_idle
|
||||||
jmp kernalerror_DEVICE_NOT_FOUND
|
jmp kernalerror_DEVICE_NOT_FOUND
|
||||||
*
|
*
|
||||||
;; All done - before exiting wait a moment and restore bus to idle state
|
;; All done
|
||||||
jsr iec_wait20us
|
|
||||||
jsr iec_set_idle
|
;; 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
|
clc
|
||||||
rts
|
rts
|
||||||
@@ -43,7 +43,7 @@ iec_tx_common_bit_is_sent:
|
|||||||
;; Pull CLK for 20us again, before sending the next bit
|
;; Pull CLK for 20us again, before sending the next bit
|
||||||
;; or performing any other action
|
;; or performing any other action
|
||||||
jsr iec_pull_clk_release_data
|
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?
|
;; More bits to send?
|
||||||
dex
|
dex
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
|
|
||||||
iec_tx_eoi:
|
iec_tx_eoi:
|
||||||
|
|
||||||
|
;; Releasing ATN needed due to current iec_tx_command implementation
|
||||||
|
jsr iec_release_atn
|
||||||
|
|
||||||
;; Wait at least 256 usec
|
;; Wait at least 256 usec
|
||||||
jsr iec_wait100us
|
jsr iec_wait100us
|
||||||
jsr iec_wait100us
|
jsr iec_wait100us
|
||||||
|
|||||||
Reference in new issue
Block a user