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
|
jsr TALK
|
||||||
bra proxy_M1_end
|
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
|
; $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 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
|
!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
|
; Definitions for calling MEGA65 segment KERNAL_0 routines from MON_1
|
||||||
;
|
;
|
||||||
|
|
||||||
;; #ALIAS# SETMSG = KERNAL_0.SETMSG
|
;; #ALIAS# SETMSG = KERNAL_0.SETMSG
|
||||||
;; #ALIAS# STOP = KERNAL_0.STOP
|
;; #ALIAS# STOP = KERNAL_0.STOP
|
||||||
;; #ALIAS# SCREEN = KERNAL_0.SCREEN
|
;; #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# CHRIN = KERNAL_0.proxy_M1_CHRIN
|
||||||
;; #ALIAS# CHROUT = KERNAL_0.proxy_M1_CHROUT
|
;; #ALIAS# CHROUT = KERNAL_0.proxy_M1_CHROUT
|
||||||
;; #ALIAS# SECOND = KERNAL_0.proxy_M1_SECOND
|
;; #ALIAS# SECOND = KERNAL_0.proxy_M1_SECOND
|
||||||
;; #ALIAS# TKSA = KERNAL_0.proxy_M1_TKSA
|
;; #ALIAS# TKSA = KERNAL_0.proxy_M1_TKSA
|
||||||
;; #ALIAS# ACPTR = KERNAL_0.proxy_M1_ACPTR
|
;; #ALIAS# ACPTR = KERNAL_0.proxy_M1_ACPTR
|
||||||
;; #ALIAS# CIOUT = KERNAL_0.proxy_M1_CIOUT
|
;; #ALIAS# CIOUT = KERNAL_0.proxy_M1_CIOUT
|
||||||
;; #ALIAS# UNTLK = KERNAL_0.proxy_M1_UNTLK
|
;; #ALIAS# UNTLK = KERNAL_0.proxy_M1_UNTLK
|
||||||
;; #ALIAS# UNLSN = KERNAL_0.proxy_M1_UNLSN
|
;; #ALIAS# UNLSN = KERNAL_0.proxy_M1_UNLSN
|
||||||
;; #ALIAS# LISTEN = KERNAL_0.proxy_M1_LISTEN
|
;; #ALIAS# LISTEN = KERNAL_0.proxy_M1_LISTEN
|
||||||
;; #ALIAS# TALK = KERNAL_0.proxy_M1_TALK
|
;; #ALIAS# TALK = KERNAL_0.proxy_M1_TALK
|
||||||
|
|
||||||
|
|
||||||
; 'Print immediate', original implementation by Mike Barry, adapted to 65CE02, modified to preserve .Y
|
; '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
|
sta Long_TMP+3
|
||||||
|
|
||||||
lda Long_TMP+1
|
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
|
lda Long_TMP+0
|
||||||
dec
|
dec
|
||||||
dec
|
dec
|
||||||
@@ -75,11 +75,16 @@ Get_From_Memory:
|
|||||||
lda #MEMCONF_SHADOW_BZP_3
|
lda #MEMCONF_SHADOW_BZP_3
|
||||||
sta Long_TMP+3
|
sta Long_TMP+3
|
||||||
|
|
||||||
@read_flat: ; XXX read via helper in KERNAL_0 segment
|
@read_flat:
|
||||||
+nop
|
|
||||||
|
jsr monitor_memread_helper
|
||||||
|
bra @end
|
||||||
|
|
||||||
@read:
|
@read:
|
||||||
lda (Long_TMP),Z
|
lda (Long_TMP),Z
|
||||||
|
|
||||||
|
@end:
|
||||||
|
|
||||||
plz
|
plz
|
||||||
ply
|
ply
|
||||||
plx
|
plx
|
||||||
|
|||||||
Reference in new issue
Block a user