implemented SETMSG routine, LOAD command uses it
This commit is contained in:
1 parent
3039c108cb
commit
ee6e7bc9d5
5 files changed
+23
-11
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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,3 +1,4 @@
|
||||
; Function defined on pp272-273 of C64 Programmers Reference Guide
|
||||
setmsg:
|
||||
sta MSGFLG
|
||||
rts
|
||||
Reference in new issue
Block a user