From 2eba6f113a7b9515eba468c88214db9100990a0f Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 10 Jan 2021 22:32:04 +0100 Subject: [PATCH] adapted monitor command 'B' --- src/mon_m65/bsmon.s | 38 ++------------------- src/mon_m65/mon_command_bits.s | 61 ++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 36 deletions(-) create mode 100644 src/mon_m65/mon_command_bits.s diff --git a/src/mon_m65/bsmon.s b/src/mon_m65/bsmon.s index 37d3e90c..7dc54e1e 100644 --- a/src/mon_m65/bsmon.s +++ b/src/mon_m65/bsmon.s @@ -190,7 +190,7 @@ Jump_Table: ; ********* !word Mon_Assemble ; A XXX to be debugged/adapted - !word Mon_Bits ; B XXX to be debugged/adapted + !word Mon_Bits ; B !word Mon_Compare ; C XXX to be debugged/adapted !word Mon_Disassemble ; D !word Mon_Fill ; F XXX to be debugged/adapted @@ -422,40 +422,6 @@ Print_Bits: PLZ RTS -; ******* -Mon_Bits: -; ******* - - JSR Get_LAC ; get 1st. parameter - BCS @lab - JSR LAC_To_LPC ; Long_PC = start address -@lab JSR Print_CR - LDA #KEY_WHITE ; XXX adapt colors - STA Long_DA+1 - - LDX #8 -@row PHX - JSR Print_LPC_Addr - LDZ #0 -@col SEC - LDA #KEY_WHITE+KEY_LT_RED ; toggle colour - SBC Long_DA+1 - STA Long_DA+1 - JSR CHROUT - LDA [Long_PC],Z - JSR Print_Bits - CLC - TZA - ADC #8 - TAZ - CMP #64 - BCC @col - JSR Print_CR - JSR Inc_LPC - PLX - DEX - BNE @row - JMP Main ; *************** Mon_Set_Register: ; XXX this needs adaptation @@ -2665,7 +2631,7 @@ Mon_Help: !pet KEY_RETURN, KEY_RETURN !pet KEY_ESC,'s',"a",KEY_ESC,'u',"ssemble - a address mnemonic operand",KEY_RETURN - !pet KEY_ESC,'s',"b",KEY_ESC,'u',"itmaps - b [from [to]]",KEY_RETURN + !pet KEY_ESC,'s',"b",KEY_ESC,'u',"itmaps - b [from]",KEY_RETURN !pet KEY_ESC,'s',"c",KEY_ESC,'u',"ompare - c from to with",KEY_RETURN !pet KEY_ESC,'s',"d",KEY_ESC,'u',"isassemble - d [from [to]]",KEY_RETURN !pet KEY_ESC,'s',"f",KEY_ESC,'u',"ill - f from to fillbyte",KEY_RETURN diff --git a/src/mon_m65/mon_command_bits.s b/src/mon_m65/mon_command_bits.s new file mode 100644 index 00000000..983dd09f --- /dev/null +++ b/src/mon_m65/mon_command_bits.s @@ -0,0 +1,61 @@ + +; Based on BSM (Bit Shifter's Monitor) + + +Mon_Bits: + + lda Adr_Mode + pha ; store addressing mode, in case no parameter is given + lda #$00 + sta Adr_Mode ; by default use C64-style addressing + + jsr Get_Addr_To_LAC ; get 1st parameter (start address) + beq @nopar + pla ; drop previous addressing mode + jsr LAC_To_LPC ; Long_PC = start address + bra @start + +@nopar: + + pla ; retrieve old addressing mode + sta Adr_Mode + +@start: + + jsr Print_CR + ldx #$08 + +@row: + + phx + jsr Print_LPC_Addr + + ldz #$00 + +@col: + + phx ; toggle bold attribute + jsr Print_Attr_NoBold + tza + and #$08 + bne @lab + jsr Print_Attr_Bold + +@lab: + + plx + + jsr Get_From_Memory + jsr Print_Bits + clc + tza + adc #$08 + taz + cmp #64 + bcc @col + jsr Print_CR + jsr Inc_LPC + plx + dex + bne @row + jmp Main