implemented SETMSG routine, LOAD command uses it

This commit is contained in:
FeralChild64 committed 2019-07-12 19:22:46 +02:00
1 parent 3039c108cb
commit ee6e7bc9d5
5 files changed
+23 -11

No files matched your search

+1 -2
View File
@@ -61,8 +61,7 @@
.alias LDTND $98 ; number of entries in LAT / FAT / SAT tables
.alias DFLTN $99
.alias input_device_number DFLTN
; bit 6 = error messages, bit 7 = control messages
.alias kernal_message_control_flags $9d
.alias MSGFLG $9D ; bit 6 = error messages, bit 7 = control message
.alias jiffy_clock_24bits $a0
.alias cassette_buffer_bytes_used $A6
.alias load_or_scroll_temp_pointer $AC
+9
View File
@@ -11,6 +11,15 @@ cmd_load:
;; middle of a program. For safety, we do.
jsr basic_do_clr
;; Setup Kernal to print control messages or not
lda #$80 ; display control messages and omit error messages
ldx basic_current_line_number+1
cpx #$FF
beq +
lda #$00 ; direct mode - don't display anything
*
jsr $FF90 ; SETMSG
;; XXX temporary, to set valid device number
lda #$08
sta current_device_number
+1 -2
View File
@@ -12,8 +12,7 @@
.alias LDTND $98 ; number of entries in LAT / FAT / SAT tables
.alias DFLTN $99
.alias input_device_number DFLTN
; bit 6 = error messages, bit 7 = control messages
.alias kernal_message_control_flags $9d
.alias MSGFLG $9D ; bit 6 = error messages, bit 7 = control message
.alias jiffy_clock_24bits $a0
.alias cassette_buffer_bytes_used $A6
.alias load_or_scroll_temp_pointer $AC
+11 -7
View File
@@ -15,7 +15,7 @@
;; $AC = current pointer for loading/verifying
;; $C1 = similar to the above.
;; XXX rework this, according to pagetable.com
;; XXX honor MSGFLG bit 6, add VERIFY support
load:
@@ -30,12 +30,13 @@ load:
jsr install_ram_routines
;; Disable IRQs, since timing matters!
SEI
sei
;; Display SEARCHING FOR
;; Display SEARCHING FOR + filename
lda MSGFLG
bpl +
jsr printf
.byte "SEARCHING FOR ",0
.byte $0D,"SEARCHING FOR ",0
ldy #$00
print_filename_loop:
@@ -131,9 +132,12 @@ sent_filename:
beq +
sta load_save_start_ptr+1
*
;; Display LOADING
lda MSGFLG
bpl +
jsr printf
.byte "LOADING",$0d,0
.byte "LOADING",$0D,0
*
load_loop:
;; We are now ready to receive bytes
jsr iec_rx_byte
+1
View File
@@ -1,3 +1,4 @@
; Function defined on pp272-273 of C64 Programmers Reference Guide
setmsg:
sta MSGFLG
rts