LOAD command is now able to load file from drive 8

This commit is contained in:
FeralChild64 committed 2019-07-10 17:46:44 +02:00
1 parent f911eed0c3
commit 3039c108cb
4 files changed
+23 -13

No files matched your search

BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+13 -11
View File
@@ -32,23 +32,15 @@ iec_rx_clk_wait:
jsr iec_wait60us
lda CI2PRA
rol
bmi iec_rx_no_eoi_confirmation
bmi iec_rx_set_eoi
jsr iec_rx_set_eoi
;; Pull data for 60 usec to confirm
jsr iec_release_clk_pull_data
jsr iec_wait60us
jsr iec_release_clk_data
iec_rx_no_eoi_confirmation:
;; Store EOI information in IOSTATUS - XXX this should be done by the caller!
lda IOSTATUS
ora #$40
sta IOSTATUS
sec
rts
iec_rx_not_eoi:
;; Latch input bits in on rising edge of CLK, eight times for eight bits.
@@ -84,6 +76,7 @@ iec_rx_bit_loop:
;; Move data bit into C flag, and loop until bit 6 clears
;; i.e., the clock has been released.
* lda CI2PRA
rol
bpl -
@@ -113,3 +106,12 @@ iec_rx_bit_loop:
clc
rts
iec_rx_set_eoi:
;; Store EOI information in IOSTATUS
lda IOSTATUS
ora #$40
sta IOSTATUS
clc
rts
+10 -2
View File
@@ -158,7 +158,7 @@ load_loop:
bne +
inc load_save_start_ptr+1
;; If we wrap around to $0000, then this is bad.
beq load_error
beq load_error
*
;; Check for EOI -- if so, read one last byte
lda IOSTATUS
@@ -167,13 +167,21 @@ load_loop:
load_done:
;; Close file on drive
;; Command drive to stop talking and to close the file
jsr untlk
;; XXX XXX code below runs into infinite loop - so for now just quit
clc
cli
rts
lda current_device_number
jsr listen
lda #$e0
jsr iec_tx_command
;; Tell drive to unlisten
jsr unlsn