diff --git a/src/mon_m65/mon_command_load_save.s b/src/mon_m65/mon_command_load_save.s index 78260364..ba320158 100644 --- a/src/mon_m65/mon_command_load_save.s +++ b/src/mon_m65/mon_command_load_save.s @@ -50,6 +50,7 @@ Mon_Load_Verify: stx FA jsr Get_DecVal_To_LAC + +bcs Mon_Error beq @got_unit jsr Syntax_Byte_AC lda Long_AC+0 @@ -94,6 +95,7 @@ Mon_Save: ; Determine unit jsr Get_DecVal_To_LAC + +bcs Mon_Error +beq Mon_Error jsr Syntax_Byte_AC lda Long_AC+0 diff --git a/src/mon_m65/mon_helper_get_val_to_lac.s b/src/mon_m65/mon_helper_get_val_to_lac.s index f189029a..a4fbd5f1 100644 --- a/src/mon_m65/mon_helper_get_val_to_lac.s +++ b/src/mon_m65/mon_helper_get_val_to_lac.s @@ -145,6 +145,10 @@ Get_Val_To_LAC_common: @exit_invalid_digit: dec Buf_Index + lda #$00 + sta Dig_Cnt + sec + bra @check_done @exit: @@ -154,20 +158,24 @@ Get_Val_To_LAC_common: lda Dig_Cnt ; check if we should enable long addressing mode cmp Num_Limit,Y - bcc @check_done + bcc @check_done_ok cpy #$1 bne @set_long_mode lda Long_AC+2 ; for decimal system check most significant bytes instead ora Long_AC+3 - beq @check_done + beq @check_done_ok @set_long_mode: lda #$80 ; set addressing mode to long sta Addr_Mode +@check_done_ok: + + clc + @check_done: plz @@ -175,7 +183,6 @@ Get_Val_To_LAC_common: plx lda Dig_Cnt ; allow to easily check if a parameter was given - clc rts