diff options
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 |
commit | 25b40bae22bd0ed48174221da3c82c1ddcdfcd9a (patch) | |
tree | 91db3715ce9d15b88ee8d82c42ffd21490b68f02 | |
parent | 631f38272c74d7956668fec19d01e405e1211bb5 (diff) |
Fix masking of offset expressions in debug view of address-shifted spaces (nw)
-rw-r--r-- | src/emu/debug/dvmemory.cpp | 10 |
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 |