Skip to content

Commit 47377bf

Browse files
authored
emu/debug/dvmemory.cpp: Recomputing memory view based on evaluated start address value. (#15251)
1 parent 66599ed commit 47377bf

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

src/emu/debug/dvmemory.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,11 +717,18 @@ bool debug_view_memory::needs_recompute()
717717
{
718718
bool recompute = m_recompute;
719719

720+
offs_t val = m_expression.value();
721+
// checks if evaluated expression value has changed since last time
722+
if (val != m_expression_computed)
723+
{
724+
m_expression_computed = val;
725+
m_expression.mark_dirty();
726+
}
727+
720728
// handle expression changes
721729
if (m_expression.dirty())
722730
{
723731
const debug_view_memory_source &source = downcast<const debug_view_memory_source &>(*m_source);
724-
offs_t val = m_expression.value();
725732
if (source.m_memintf)
726733
{
727734
const address_space_config *config = m_no_translation ? source.m_memintf->space_config(source.m_spacenum) : source.m_memintf->logical_space_config(source.m_spacenum);

src/emu/debug/dvmemory.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ class debug_view_memory : public debug_view
134134

135135
// internal state
136136
debug_view_expression m_expression; // expression describing the start address
137+
offs_t m_expression_computed; // latest value of computed expression
137138
u32 m_chunks_per_row; // number of chunks displayed per line
138139
u8 m_bytes_per_chunk; // bytes per chunk
139140
u8 m_steps_per_chunk; // bytes per chunk

0 commit comments

Comments
 (0)