From 007508c6762deb5bb62e2275988406fd7c0518c7 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Fri, 6 May 2022 19:49:04 +0300 Subject: [PATCH] memwatch bank crossing fix --- debug.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/debug.cpp b/debug.cpp index 84c1da2a..ad3cbc9a 100644 --- a/debug.cpp +++ b/debug.cpp @@ -3796,23 +3796,24 @@ static void memwatch_remap (uaecptr addr) } } -static void memwatch_setup (void) +static void memwatch_setup(void) { - memwatch_reset (); + memwatch_reset(); mwnodes_start = MEMWATCH_TOTAL - 1; mwnodes_end = 0; for (int i = 0; i < MEMWATCH_TOTAL; i++) { struct memwatch_node *m = &mwnodes[i]; - uae_u32 size = 0; if (!m->size) continue; if (mwnodes_start > i) mwnodes_start = i; if (mwnodes_end < i) mwnodes_end = i; - while (size < m->size) { - memwatch_remap (m->addr + size); - size += 65536; + int addr = m->addr & ~65535; + int eaddr = (m->addr + m->size + 65535) & ~65535; + while (addr < eaddr) { + memwatch_remap(addr); + addr += 65536; } } } -- 2.47.3