From: Toni Wilen Date: Sun, 4 Nov 2018 14:22:43 +0000 (+0200) Subject: Ignore memwatch when debugger does internal reads/writes. X-Git-Tag: 4100~37 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=6f73c335fbed4143d8321253c57bb6b3db9feb0e;p=francis%2Fwinuae.git Ignore memwatch when debugger does internal reads/writes. --- diff --git a/debug.cpp b/debug.cpp index c7f9a9a1..90f8f1ff 100644 --- a/debug.cpp +++ b/debug.cpp @@ -2891,9 +2891,11 @@ static void mungwall_memwatch(uaecptr addr, int rwi, int size, uae_u32 valp) static int memwatch_func (uaecptr addr, int rwi, int size, uae_u32 *valp, uae_u32 accessmask, uae_u32 reg) { - int i, brk; uae_u32 val = *valp; + if (debugging) + return 1; + if (mungwall) mungwall_memwatch(addr, rwi, size, val); @@ -2904,17 +2906,19 @@ static int memwatch_func (uaecptr addr, int rwi, int size, uae_u32 *valp, uae_u3 memwatch_heatmap (addr, rwi, size, accessmask); addr = munge24 (addr); + if (smc_table && (rwi >= 2)) smc_detector (addr, rwi, size, valp); - for (i = mwnodes_start; i <= mwnodes_end; i++) { + + for (int i = mwnodes_start; i <= mwnodes_end; i++) { struct memwatch_node *m = &mwnodes[i]; uaecptr addr2 = m->addr; uaecptr addr3 = addr2 + m->size; int rwi2 = m->rwi; uae_u32 oldval = 0; int isoldval = 0; + int brk = 0; - brk = 0; if (m->size == 0) continue; if (!(rwi & rwi2))