monitor integration - more work on memory dump
This commit is contained in:
1 parent
d453c6fd1d
commit
ffbd593256
4 files changed
+65
-60
No files matched your search
@@ -399,64 +399,6 @@ Fetch:
|
|||||||
AND #$ff
|
AND #$ff
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
; *********
|
|
||||||
Mon_Memory:
|
|
||||||
; *********
|
|
||||||
|
|
||||||
lda #$00
|
|
||||||
sta Adr_Mode ; by default use C64-style addressing
|
|
||||||
|
|
||||||
jsr Get_Addr_To_LAC ; get 1st parameter (start address)
|
|
||||||
+beq Mon_Error
|
|
||||||
jsr LAC_To_LPC ; Long_PC = start address
|
|
||||||
|
|
||||||
jsr Get_Addr_To_LAC ; get 2nd parameter (end address)
|
|
||||||
bne @got_end_address
|
|
||||||
jsr LPC_Plus_Page_To_LAC ; set default end address by start plus one page
|
|
||||||
|
|
||||||
@got_end_address:
|
|
||||||
|
|
||||||
jsr LAC_Minus_LPC ; Long_CT = range
|
|
||||||
+bcc Mon_Error ; error if negative range
|
|
||||||
|
|
||||||
@loop:
|
|
||||||
|
|
||||||
jsr Print_CR ; XXX for debug only
|
|
||||||
lda Long_CT+3
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+2
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+1
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+0
|
|
||||||
jsr Print_Hex
|
|
||||||
|
|
||||||
jsr Dump_Row
|
|
||||||
|
|
||||||
jsr Print_CR ; XXX for debug only
|
|
||||||
lda Long_CT+3
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+2
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+1
|
|
||||||
jsr Print_Hex
|
|
||||||
lda Long_CT+0
|
|
||||||
jsr Print_Hex
|
|
||||||
jsr Print_CR
|
|
||||||
|
|
||||||
jsr STOP
|
|
||||||
beq @exit
|
|
||||||
|
|
||||||
|
|
||||||
; !!! loop till end reached
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@exit:
|
|
||||||
|
|
||||||
jmp Main
|
|
||||||
|
|
||||||
|
|
||||||
; *********
|
; *********
|
||||||
@@ -623,8 +565,6 @@ Dump_4_Chars: ; XXX to be adapted
|
|||||||
Dump_Row:
|
Dump_Row:
|
||||||
; *******
|
; *******
|
||||||
|
|
||||||
JSR Set_MODE_80
|
|
||||||
|
|
||||||
PHZ
|
PHZ
|
||||||
JSR Print_CR
|
JSR Print_CR
|
||||||
LDA #'>'
|
LDA #'>'
|
||||||
|
|||||||
File renamed without changes.
@@ -0,0 +1,65 @@
|
|||||||
|
|
||||||
|
Mon_Memory:
|
||||||
|
|
||||||
|
jsr Set_MODE_80
|
||||||
|
lda #$00
|
||||||
|
sta Adr_Mode ; by default use C64-style addressing
|
||||||
|
|
||||||
|
jsr Get_Addr_To_LAC ; get 1st parameter (start address)
|
||||||
|
+beq Mon_Error
|
||||||
|
jsr LAC_To_LPC ; Long_PC = start address
|
||||||
|
|
||||||
|
jsr Get_Addr_To_LAC ; get 2nd parameter (end address)
|
||||||
|
bne @calcdiff
|
||||||
|
|
||||||
|
lda #$10 ; by default display 16 rows
|
||||||
|
sta Long_CT+0
|
||||||
|
lda #$00
|
||||||
|
sta Long_CT+1
|
||||||
|
sta Long_CT+2
|
||||||
|
sta Long_CT+3
|
||||||
|
|
||||||
|
bra @loop
|
||||||
|
|
||||||
|
@calcdiff:
|
||||||
|
jsr LAC_Minus_LPC ; Long_CT = range
|
||||||
|
+bcc Mon_Error ; error if negative range
|
||||||
|
|
||||||
|
ldx #$04 ; for 80 character mode - 16 (2^4) bytes/line
|
||||||
|
bbr7 MODE_80,@shift
|
||||||
|
dex ; for 40 character mode - 8 (2^3) bytes/line
|
||||||
|
|
||||||
|
@shift:
|
||||||
|
clc
|
||||||
|
ror Long_CT+3
|
||||||
|
ror Long_CT+2
|
||||||
|
ror Long_CT+1
|
||||||
|
ror Long_CT+0
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne @shift ; at the ned of loop Long_CT contains number of rows to show minus 1
|
||||||
|
|
||||||
|
@loop:
|
||||||
|
|
||||||
|
jsr Dump_Row
|
||||||
|
jsr STOP
|
||||||
|
beq @exit ; end if STOP pressed
|
||||||
|
|
||||||
|
sec ; XXX consider moving this to separate subroutine
|
||||||
|
lda Long_CT+0
|
||||||
|
sbc #$01
|
||||||
|
sta Long_CT+0
|
||||||
|
lda Long_CT+1
|
||||||
|
sbc #$00
|
||||||
|
sta Long_CT+1
|
||||||
|
lda Long_CT+2
|
||||||
|
sbc #$00
|
||||||
|
sta Long_CT+2
|
||||||
|
lda Long_CT+3
|
||||||
|
sbc #$00
|
||||||
|
sta Long_CT+3
|
||||||
|
bcs @loop
|
||||||
|
|
||||||
|
@exit:
|
||||||
|
|
||||||
|
jmp Main
|
||||||
File renamed without changes.
Reference in new issue
Block a user