summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-03-12 15:46:57 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-03-12 15:47:46 -0400
commit25b40bae22bd0ed48174221da3c82c1ddcdfcd9a (patch)
tree91db3715ce9d15b88ee8d82c42ffd21490b68f02
parent631f38272c74d7956668fec19d01e405e1211bb5 (diff)
Fix masking of offset expressions in debug view of address-shifted spaces (nw)
-rw-r--r--src/emu/debug/dvmemory.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/emu/debug/dvmemory.cpp b/src/emu/debug/dvmemory.cpp
index 86f038e535a..da116e6c711 100644
--- a/src/emu/debug/dvmemory.cpp
+++ b/src/emu/debug/dvmemory.cpp
@@ -631,19 +631,13 @@ bool debug_view_memory::needs_recompute()
const debug_view_memory_source &source = downcast<const debug_view_memory_source &>(*m_source);
offs_t val = m_expression.value();
if (source.m_space)
- val = source.m_space->address_to_byte(val);
+ val = source.m_space->address_to_byte(val & source.m_space->logaddrmask());
recompute = true;
m_topleft.y = (val - m_byte_offset) / m_bytes_per_row;
m_topleft.y = std::max(m_topleft.y, 0);
m_topleft.y = std::min(m_topleft.y, m_total.y - 1);
- offs_t resultbyte;
- if (source.m_space != nullptr)
- resultbyte = val & source.m_space->logaddrmask();
- else
- resultbyte = val;
-
- set_cursor_pos(cursor_pos(resultbyte, m_bytes_per_chunk * 8 - 4));
+ set_cursor_pos(cursor_pos(val, m_bytes_per_chunk * 8 - 4));
}
// expression is clean at this point, and future recomputation is not necessary