more routines placed under compatible addresses

This commit is contained in:
FeralChild64 committed 2019-08-05 22:51:16 +02:00
1 parent 802890ff9c
commit 9187e3e601
11 files changed
+56 -29

No files matched your search

@@ -14,7 +14,7 @@
;; If from keyboard, then it gets a whole line of input, and returns the first char.
;; Repeated calls after that read out the successive bytes of the line of input.
chrin:
chrin_real:
;; Determine the device number
lda DFLTN
@@ -9,7 +9,7 @@
;;
chrout:
chrout_real:
sta last_printed_character_ascii
@@ -9,7 +9,7 @@
;;
clall:
clall_real:
;; Store .Y register
tya
@@ -23,7 +23,7 @@ clall:
beq +
dey
lda LAT, y
jsr close ; XXX jump through ICLOSE?
jsr JCLOSE
jmp -
*
;; Restore .Y register
+23
View File
@@ -0,0 +1,23 @@
;; Common ppart of CLOSE and LOAD routines
close_load:
tax
;; Command drive to stop talking and to close the file
jsr untlk
txa
jsr listen
lda #$E0 ; CLOSE command
sta IEC_TMP2
jsr iec_tx_command
jsr iec_tx_command_finalize
;; Tell drive to unlisten
jsr unlsn
rts
@@ -9,7 +9,7 @@
;;
clrchn:
clrchn_real:
;; Handle IEC input device
lda DFLTN
+6
View File
@@ -0,0 +1,6 @@
;; Our implementation is longer than the original one,
;; placing it here would cause a collision with CHROUT
chrin:
jmp chrin_real
+6
View File
@@ -0,0 +1,6 @@
;; Our implementation is longer than the original one,
;; placing it here would cause a collision with CHKIN
chrout:
jmp chrout_real
+1 -21
View File
@@ -38,7 +38,7 @@ close:
jsr iec_tx_command
bcs close_remove_from_table
jsr iec_tx_command_finalize
close_remove_from_table:
;; Remove channel from the table
iny
@@ -62,23 +62,3 @@ close_error_not_found:
sec ; report success - not sure if original CLOSE does this, but it's nevertheless a good practice
rts
close_load: ; entry also for LOAD routine
tax
;; Command drive to stop talking and to close the file
jsr untlk
txa
jsr listen
lda #$E0 ; CLOSE command
sta IEC_TMP2
jsr iec_tx_command
jsr iec_tx_command_finalize
;; Tell drive to unlisten
jsr unlsn
rts
+6
View File
@@ -0,0 +1,6 @@
;; Our implementation is longer than the original one,
;; placing it here would cause a collision with CLRCHN
clall:
jmp clall_real
+6
View File
@@ -0,0 +1,6 @@
;; Our implementation is longer than the original one,
;; placing it here would cause a collision with OPEN
clrchn:
jmp clrchn_real
+3 -3
View File
@@ -10,14 +10,14 @@ vector_defaults:
.word default_irq_handler ;; CINV
.word $0000 ;; CBINV XXX implement this, has to be $FE66 for autostart support
.word $0000 ;; NMINV XXX implement this, has to be $FE47 for autostart support
.word open ;; IOPEN
.word close ;; ICLOSE
.word chkin ;; ICHKIN XXX move routine to $F20E - for autostart support
.word ckout ;; ICKOUT XXX move routine to $F250 - for autostart support
.word clrchn ;; ICLRCH XXX move routine to $F333 - for autostart support
.word clrchn ;; ICLRCH
.word chrin ;; IBASIN
.word chrout ;; IBSOUT XXX move routine to $F1CA - for autostart support
.word chrout ;; IBSOUT
.word stop ;; ISTOP
.word getin ;; IGETIN
.word clall ;; ICLALL