monitor command 'D' fully adapted

This commit is contained in:
FeralChild64 authored and FeralChild64 committed 2021-01-26 00:03:07 +01:00
1 parent 83801daed1
commit 2e3122fd00
3 files changed
+19 -19

No files matched your search

+1 -2
View File
@@ -9,8 +9,7 @@
; ********************
; * Register storage *
; ********************
!addr Bank = 2 ; XXX remove this
!addr Adr_Mode = 2 ; $00 = 64K address, $80 = M65 flat address ; XXX adapt the implementation
!addr PCH = 3
!addr PCL = 4
+11 -9
View File
@@ -192,7 +192,7 @@ Jump_Table:
!word Mon_Assemble ; A XXX to be debugged/adapted
!word Mon_Bits ; B XXX to be debugged/adapted
!word Mon_Compare ; C XXX to be debugged/adapted
!word Mon_Disassemble ; D XXX to be debugged/adapted
!word Mon_Disassemble ; D
!word Mon_Fill ; F XXX to be debugged/adapted
!word Mon_Go ; G XXX to be debugged/adapted
!word Mon_Hunt ; H XXX to be debugged/adapted
@@ -221,6 +221,8 @@ Mon_Exit:
LAC_To_PC: ; XXX to be adapted
; ********
inc $D020 ; XXX fior debug only
; called from Mon_Set_Register, Mon_Go and Mon_JSR
; as the first instruction. The carry flag was set from
; the routine Got_LAC if an error occured.
@@ -231,12 +233,12 @@ LAC_To_PC: ; XXX to be adapted
; the routines FAR_JMP and FAR_JSR of the operating system
BCS @error
LDA Long_AC
STA Bank+2
LDA Long_AC+1
STA Bank+1
LDA Long_AC+2
STA Bank
;LDA Long_AC
;STA Bank+2
;LDA Long_AC+1
;STA Bank+1
;LDA Long_AC+2
;STA Bank
@error RTS
; *********
@@ -456,7 +458,7 @@ Mon_Bits:
JMP Main
; ***************
Mon_Set_Register:
Mon_Set_Register: ; XXX this needs adaptation
; ***************
JSR Get_LAC ; get 1st. parameter
@@ -465,7 +467,7 @@ Mon_Set_Register:
@loop JSR Get_LAC
BCS @exit
LDA Long_AC
STA Bank,Y
STA Adr_Mode,Y
INY
CPY #9
BCC @loop
+7 -8
View File
@@ -3,7 +3,6 @@
Mon_Disassemble:
lda Adr_Mode
pha ; store addressing mode, in case no parameter is given
lda #$00
sta Adr_Mode ; by default use C64-style addressing
@@ -13,25 +12,24 @@ Mon_Disassemble:
pla ; drop previous addressing mode
jsr LAC_To_LPC ; Long_PC = start address
jsr Get_Addr_To_LAC ; get 2nd parameter (end address)
bne @range
beq @norange
jsr LAC_Minus_LPC ; Long_CT = range
+bcc Mon_Error ; -> negative
bra @loop
@nopar:
pla ; retrieve old addressing mode
sta Adr_Mode
@norange:
lda #$20 ; by default disassemble 32 addresses
sta Long_CT+0
lda #$00
sta Long_CT+1
sta Long_CT+2
sta Long_CT+3
bra @loop
@range:
jsr LAC_Minus_LPC ; Long_CT = range
+bcc Mon_Error ; -> negative
@loop:
@@ -47,4 +45,5 @@ Mon_Disassemble:
sbc Op_Size
sta Long_CT
bcs @loop
jmp Main