diff --git a/Core/debugger.c b/Core/debugger.c index 13fd399..ad0219a 100644 --- a/Core/debugger.c +++ b/Core/debugger.c @@ -470,10 +470,14 @@ value_t debugger_evaluate(GB_gameboy_t *gb, const char *string, if (depth == 0) { value_t addr = debugger_evaluate(gb, string + 1, length - 2, error, watchpoint_address, watchpoint_new_value); banking_state_t state; + if (addr.bank) { save_banking_state(gb, &state); switch_banking_state(gb, addr.bank); + } value_t r = VALUE_16(GB_read_memory(gb, addr.value)); + if (addr.bank) { restore_banking_state(gb, &state); + } return r; }