added turnaround to talker to IEC support

This commit is contained in:
FeralChild64 committed 2019-07-15 20:14:52 +02:00
1 parent ef10c90ee6
commit b1e882b021
3 files changed
+20 -9

No files matched your search

+9 -3
View File
@@ -4,9 +4,15 @@
iec_turnaround_to_talk: iec_turnaround_to_talk:
;; XXX implement this ;; First make sure both CLK, DATA and ATN are released at our side
jsr iec_release_atn
jsr iec_release_clk_data
;; Wait till device releases CLK line
jsr iec_wait_for_clk_release
;; Pull CLK line, it should be held by talker
jsr iec_pull_clk_release_data
clc clc
rts rts
+7
View File
@@ -0,0 +1,7 @@
iec_wait_for_data_pull:
lda CI2PRA
;; Check the highest bit, which is DATA IN,
;; (highest bit set = negative value)
bmi iec_wait_for_data_pull
rts
+4 -6
View File
@@ -198,16 +198,14 @@ load_done:
lda #$0D lda #$0D
jsr JCHROUT jsr JCHROUT
* *
;; Close file on drive - start by turnaround to talker ;; Close file on drive
jsr iec_turnaround_to_talk
;; Command drive to stop talking and to close the file ;; Command drive to stop talking and to close the file
jsr untlk jsr untlk
;; XXX XXX code below runs into infinite loop - so for now just quit ;; Turnaround to talker - according to https://www.pagetable.com/?p=1135
clc ;; the turnaround only happens after a command
cli jsr iec_turnaround_to_talk
rts
lda current_device_number lda current_device_number
jsr listen jsr listen