fix handling of EOI marker so we can load more than one program in life of system

This commit is contained in:
Paul Gardner-Stephen committed 2019-05-05 02:15:46 +09:30
1 parent 1005ee4952
commit 49536d8378
2 files changed
+10 -5

No files matched your search

+6
View File
@@ -2,4 +2,10 @@ iec_release_atn:
lda $dd00 lda $dd00
and #$f7 and #$f7
sta $dd00 sta $dd00
;; Also clear EOI marker
lda IOSTATUS
and #$bf
sta IOSTATUS
rts rts
+4 -5
View File
@@ -142,7 +142,7 @@ sent_filename:
jsr printf jsr printf
.byte "LOADING",$0d,0 .byte "LOADING",$0d,0
load_loop: load_loop:
;; We are now ready to receive bytes ;; We are now ready to receive bytes
jsr iec_rx_byte jsr iec_rx_byte
@@ -177,16 +177,15 @@ load_loop:
load_done: load_done:
;; Close file on drive ;; Close file on drive
;; Command drive to listen and to close the file ;; Command drive to stop talking and to close the file
jsr iec_assert_atn jsr iec_assert_atn
lda #$5f
jsr iec_tx_byte
lda #$28 lda #$28
jsr iec_tx_byte jsr iec_tx_byte
lda #$e0 lda #$e0
jsr iec_tx_byte jsr iec_tx_byte
jsr iec_release_atn
;; Tell drive to unlisten ;; Tell drive to unlisten
jsr iec_assert_atn
lda #$3f lda #$3f
jsr iec_tx_byte jsr iec_tx_byte
jsr iec_release_atn jsr iec_release_atn