summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author holub <andrei.holub@gmail.com>2026-04-26 10:23:37 -0400
committer GitHub <noreply@github.com>2026-04-26 16:23:37 +0200
commit47377bfe7a49cf301957cc90f6ac5f08a59c503c (patch)
tree2cd96ac640ad765ccde6654b25346d946aa0bdbd /src/emu
parent66599ed87a64fe50da6212c218f06301c4784399 (diff)
emu/debug/dvmemory.cpp: Recomputing memory view based on evaluated start address value. (#15251)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/debug/dvmemory.cpp9
-rw-r--r--src/emu/debug/dvmemory.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/emu/debug/dvmemory.cpp b/src/emu/debug/dvmemory.cpp
index e49aa1a6efd..ff6461ba2b4 100644
--- a/src/emu/debug/dvmemory.cpp
+++ b/src/emu/debug/dvmemory.cpp
@@ -717,11 +717,18 @@ bool debug_view_memory::needs_recompute()
{
bool recompute = m_recompute;
+ offs_t val = m_expression.value();
+ // checks if evaluated expression value has changed since last time
+ if (val != m_expression_computed)
+ {
+ m_expression_computed = val;
+ m_expression.mark_dirty();
+ }
+
// handle expression changes
if (m_expression.dirty())
{
const debug_view_memory_source &source = downcast<const debug_view_memory_source &>(*m_source);
- offs_t val = m_expression.value();
if (source.m_memintf)
{
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);
diff --git a/src/emu/debug/dvmemory.h b/src/emu/debug/dvmemory.h
index 10ac095639e..19b408c43b0 100644
--- a/src/emu/debug/dvmemory.h
+++ b/src/emu/debug/dvmemory.h
@@ -134,6 +134,7 @@ private:
// internal state
debug_view_expression m_expression; // expression describing the start address
+ offs_t m_expression_computed; // latest value of computed expression
u32 m_chunks_per_row; // number of chunks displayed per line
u8 m_bytes_per_chunk; // bytes per chunk
u8 m_steps_per_chunk; // bytes per chunk