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 LDTND $98 ; number of entries in LAT / FAT / SAT tables
|
||||||
.alias DFLTN $99
|
.alias DFLTN $99
|
||||||
.alias input_device_number DFLTN
|
.alias input_device_number DFLTN
|
||||||
; bit 6 = error messages, bit 7 = control messages
|
.alias MSGFLG $9D ; bit 6 = error messages, bit 7 = control message
|
||||||
.alias kernal_message_control_flags $9d
|
|
||||||
.alias jiffy_clock_24bits $a0
|
.alias jiffy_clock_24bits $a0
|
||||||
.alias cassette_buffer_bytes_used $A6
|
.alias cassette_buffer_bytes_used $A6
|
||||||
.alias load_or_scroll_temp_pointer $AC
|
.alias load_or_scroll_temp_pointer $AC
|
||||||
|
|||||||
@@ -11,6 +11,15 @@ cmd_load:
|
|||||||
;; middle of a program. For safety, we do.
|
;; middle of a program. For safety, we do.
|
||||||
jsr basic_do_clr
|
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
|
;; XXX temporary, to set valid device number
|
||||||
lda #$08
|
lda #$08
|
||||||
sta current_device_number
|
sta current_device_number
|
||||||
|
|||||||
@@ -12,8 +12,7 @@
|
|||||||
.alias LDTND $98 ; number of entries in LAT / FAT / SAT tables
|
.alias LDTND $98 ; number of entries in LAT / FAT / SAT tables
|
||||||
.alias DFLTN $99
|
.alias DFLTN $99
|
||||||
.alias input_device_number DFLTN
|
.alias input_device_number DFLTN
|
||||||
; bit 6 = error messages, bit 7 = control messages
|
.alias MSGFLG $9D ; bit 6 = error messages, bit 7 = control message
|
||||||
.alias kernal_message_control_flags $9d
|
|
||||||
.alias jiffy_clock_24bits $a0
|
.alias jiffy_clock_24bits $a0
|
||||||
.alias cassette_buffer_bytes_used $A6
|
.alias cassette_buffer_bytes_used $A6
|
||||||
.alias load_or_scroll_temp_pointer $AC
|
.alias load_or_scroll_temp_pointer $AC
|
||||||
|
|||||||
+11
-7
@@ -15,7 +15,7 @@
|
|||||||
;; $AC = current pointer for loading/verifying
|
;; $AC = current pointer for loading/verifying
|
||||||
;; $C1 = similar to the above.
|
;; $C1 = similar to the above.
|
||||||
|
|
||||||
;; XXX rework this, according to pagetable.com
|
;; XXX honor MSGFLG bit 6, add VERIFY support
|
||||||
|
|
||||||
load:
|
load:
|
||||||
|
|
||||||
@@ -30,12 +30,13 @@ load:
|
|||||||
jsr install_ram_routines
|
jsr install_ram_routines
|
||||||
|
|
||||||
;; Disable IRQs, since timing matters!
|
;; Disable IRQs, since timing matters!
|
||||||
SEI
|
sei
|
||||||
|
|
||||||
;; Display SEARCHING FOR
|
;; Display SEARCHING FOR + filename
|
||||||
|
lda MSGFLG
|
||||||
|
bpl +
|
||||||
jsr printf
|
jsr printf
|
||||||
.byte "SEARCHING FOR ",0
|
.byte $0D,"SEARCHING FOR ",0
|
||||||
|
|
||||||
ldy #$00
|
ldy #$00
|
||||||
print_filename_loop:
|
print_filename_loop:
|
||||||
|
|
||||||
@@ -131,9 +132,12 @@ sent_filename:
|
|||||||
beq +
|
beq +
|
||||||
sta load_save_start_ptr+1
|
sta load_save_start_ptr+1
|
||||||
*
|
*
|
||||||
|
;; Display LOADING
|
||||||
|
lda MSGFLG
|
||||||
|
bpl +
|
||||||
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
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
; Function defined on pp272-273 of C64 Programmers Reference Guide
|
; Function defined on pp272-273 of C64 Programmers Reference Guide
|
||||||
setmsg:
|
setmsg:
|
||||||
|
sta MSGFLG
|
||||||
rts
|
rts
|
||||||
Reference in new issue
Block a user