From 9ca7540c69e72d4c8d2dede8bd4da1f81fa4c655 Mon Sep 17 00:00:00 2001 From: Lior Halphon Date: Fri, 14 Oct 2016 01:19:39 +0300 Subject: [PATCH] Fixed dereferencing a non-banked address in the debugger --- Core/debugger.c | 4 ++++ 1 file changed, 4 insertions(+) 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; }