From bfa7ce218f3c6abd51a79409fb9378961b549244 Mon Sep 17 00:00:00 2001 From: Couriersud Date: Sun, 16 May 2010 00:13:44 +0000 Subject: [PATCH] Partial fix for MT #03844. Addresses entered in memory window will now honour shift and expressions like curpc will work as well. [Couriersud] --- src/emu/debug/debugvw.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/emu/debug/debugvw.c b/src/emu/debug/debugvw.c index 339581c4d88..4d6da59ca1a 100644 --- a/src/emu/debug/debugvw.c +++ b/src/emu/debug/debugvw.c @@ -2825,11 +2825,15 @@ static int memory_view_needs_recompute(debug_view *view) /* handle expression changes */ if (debug_view_expression_changed_value(view, &memdata->expression, (space != NULL && space->cpu != NULL && space->cpu->type == CPU) ? space->cpu : NULL)) { + offs_t resultbyte; + recompute = TRUE; view->topleft.y = (memdata->expression.result - memdata->byte_offset) / memdata->bytes_per_row; view->topleft.y = MAX(view->topleft.y, 0); view->topleft.y = MIN(view->topleft.y, view->total.y - 1); - memory_view_set_cursor_pos(view, memdata->expression.result, memdata->bytes_per_chunk * 8 - 4); + resultbyte = memory_address_to_byte(space, memdata->expression.result) & space->logbytemask; + + memory_view_set_cursor_pos(view, resultbyte, memdata->bytes_per_chunk * 8 - 4); } /* expression is clean at this point, and future recomputation is not necessary */