fixed another memory-related problem in monitor
This commit is contained in:
1 parent
13d2abd709
commit
fd660db37e
4 files changed
+34
-18
No files matched your search
@@ -66,3 +66,13 @@ proxy_M1_TALK:
|
||||
|
||||
jsr TALK
|
||||
bra proxy_M1_end
|
||||
|
||||
|
||||
|
||||
!addr Long__TMP = $3C ; has to be the same as Long_TMP in monitor
|
||||
|
||||
proxy_M1_memread:
|
||||
|
||||
jsr map_NORMAL
|
||||
lda [Long__TMP], z
|
||||
bra proxy_M1_end
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
; $34-$3B - free space, unused for now
|
||||
|
||||
!addr Long_TMP = $3C ; temporary pointer, for fetching/storing memory content
|
||||
!addr Long_TMP = $3C ; temporary pointer, for fetching/storing memory content; has to be the same as Long__TMP in Kernal
|
||||
|
||||
!addr Disk_Msg = $40 ; 40 bytes, disk status as text message ; XXX rework code to make it not needed
|
||||
!addr Mon_Data = $68 ; 40 bytes, buffer for hunt and filename
|
||||
+15
-14
@@ -4,22 +4,23 @@
|
||||
; Definitions for calling MEGA65 segment KERNAL_0 routines from MON_1
|
||||
;
|
||||
|
||||
;; #ALIAS# SETMSG = KERNAL_0.SETMSG
|
||||
;; #ALIAS# STOP = KERNAL_0.STOP
|
||||
;; #ALIAS# SCREEN = KERNAL_0.SCREEN
|
||||
;; #ALIAS# SETMSG = KERNAL_0.SETMSG
|
||||
;; #ALIAS# STOP = KERNAL_0.STOP
|
||||
;; #ALIAS# SCREEN = KERNAL_0.SCREEN
|
||||
|
||||
;; #ALIAS# monitor_exit = KERNAL_0.m65_shadow_BZP
|
||||
;; #ALIAS# monitor_exit = KERNAL_0.m65_shadow_BZP
|
||||
;; #ALIAS# monitor_memread_helper = KERNAL_0.proxy_M1_memread
|
||||
|
||||
;; #ALIAS# CHRIN = KERNAL_0.proxy_M1_CHRIN
|
||||
;; #ALIAS# CHROUT = KERNAL_0.proxy_M1_CHROUT
|
||||
;; #ALIAS# SECOND = KERNAL_0.proxy_M1_SECOND
|
||||
;; #ALIAS# TKSA = KERNAL_0.proxy_M1_TKSA
|
||||
;; #ALIAS# ACPTR = KERNAL_0.proxy_M1_ACPTR
|
||||
;; #ALIAS# CIOUT = KERNAL_0.proxy_M1_CIOUT
|
||||
;; #ALIAS# UNTLK = KERNAL_0.proxy_M1_UNTLK
|
||||
;; #ALIAS# UNLSN = KERNAL_0.proxy_M1_UNLSN
|
||||
;; #ALIAS# LISTEN = KERNAL_0.proxy_M1_LISTEN
|
||||
;; #ALIAS# TALK = KERNAL_0.proxy_M1_TALK
|
||||
;; #ALIAS# CHRIN = KERNAL_0.proxy_M1_CHRIN
|
||||
;; #ALIAS# CHROUT = KERNAL_0.proxy_M1_CHROUT
|
||||
;; #ALIAS# SECOND = KERNAL_0.proxy_M1_SECOND
|
||||
;; #ALIAS# TKSA = KERNAL_0.proxy_M1_TKSA
|
||||
;; #ALIAS# ACPTR = KERNAL_0.proxy_M1_ACPTR
|
||||
;; #ALIAS# CIOUT = KERNAL_0.proxy_M1_CIOUT
|
||||
;; #ALIAS# UNTLK = KERNAL_0.proxy_M1_UNTLK
|
||||
;; #ALIAS# UNLSN = KERNAL_0.proxy_M1_UNLSN
|
||||
;; #ALIAS# LISTEN = KERNAL_0.proxy_M1_LISTEN
|
||||
;; #ALIAS# TALK = KERNAL_0.proxy_M1_TALK
|
||||
|
||||
|
||||
; 'Print immediate', original implementation by Mike Barry, adapted to 65CE02, modified to preserve .Y
|
||||
|
||||
@@ -37,7 +37,7 @@ Get_From_Memory:
|
||||
sta Long_TMP+3
|
||||
|
||||
lda Long_TMP+1
|
||||
bne @read ; branch if no need to handle shadow memory (not zero page)
|
||||
bne @read_64k ; branch if no need to handle shadow memory (not zero page)
|
||||
lda Long_TMP+0
|
||||
dec
|
||||
dec
|
||||
@@ -75,11 +75,16 @@ Get_From_Memory:
|
||||
lda #MEMCONF_SHADOW_BZP_3
|
||||
sta Long_TMP+3
|
||||
|
||||
@read_flat: ; XXX read via helper in KERNAL_0 segment
|
||||
+nop
|
||||
@read_flat:
|
||||
|
||||
jsr monitor_memread_helper
|
||||
bra @end
|
||||
|
||||
@read:
|
||||
lda (Long_TMP),Z
|
||||
|
||||
@end:
|
||||
|
||||
plz
|
||||
ply
|
||||
plx
|
||||
|
||||
Reference in new issue
Block a user