From: Toni Wilen Date: Tue, 6 Dec 2022 13:56:06 +0000 (+0200) Subject: Remove SMC detector test code, fix special case opcodes. X-Git-Tag: 41000~21 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=a5b5ac8a7c24d85d4481eeb6cb586da56b3f0a17;p=francis%2Fwinuae.git Remove SMC detector test code, fix special case opcodes. --- diff --git a/debug.cpp b/debug.cpp index 061002a1..acad8b84 100644 --- a/debug.cpp +++ b/debug.cpp @@ -3361,9 +3361,6 @@ static void smc_detector(uaecptr addr, int rwi, int size, uae_u32 *valp) if (addr + size > smc_size) return; - if (addr < 0x100 || addr > 0x200) - return; - if (rwi == 2) { for (int i = 0; i < size; i++) { struct smc_item *si = &smc_table[addr + i]; @@ -3405,7 +3402,7 @@ static void smc_detector(uaecptr addr, int rwi, int size, uae_u32 *valp) if (currprefs.cpu_model <= 68010 && currprefs.cpu_compatible) { /* ignore single-word unconditional jump instructions * (instruction prefetch from PC+2 can cause false positives) */ - if (regs.irc == 0x4e75 || regs.irc == 4e74 || regs.irc == 0x4e72 || regs.irc == 0x4e77) + if (regs.irc == 0x4e75 || regs.irc == 0x4e74 || regs.irc == 0x4e73 || regs.irc == 0x4e77) return; /* RTS, RTD, RTE, RTR */ if ((regs.irc & 0xff00) == 0x6000 && (regs.irc & 0x00ff) != 0 && (regs.irc & 0x00ff) != 0xff) return; /* BRA.B */ @@ -7332,7 +7329,9 @@ void mmu_do_hit (void) m68k_areg (regs, 7) -= 2; put_word (m68k_areg (regs, 7), mmur.sr); #ifdef JIT - set_special(SPCFLAG_END_COMPILE); + if (currprefs.cachesize) { + set_special(SPCFLAG_END_COMPILE); + } #endif }