From: Toni Wilen Date: Sun, 21 Feb 2021 08:46:05 +0000 (+0200) Subject: 68040 does not revert -(An)/(An)+ EA calculation (only 68060 does) if FPU instruction... X-Git-Tag: 4900~173 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=cc2ec62e1103ae6ad00d8cad65541576e4952bae;p=francis%2Fwinuae.git 68040 does not revert -(An)/(An)+ EA calculation (only 68060 does) if FPU instruction was unimplemented or datatype was unsupported. --- diff --git a/fpp.cpp b/fpp.cpp index 9807a47f..1472c475 100644 --- a/fpp.cpp +++ b/fpp.cpp @@ -391,7 +391,7 @@ static bool fp_exception_pending(bool pre) if (warned > 0) { write_log (_T("FPU unimplemented datatype exception (%s) PC=%08x\n"), pre ? _T("pre") : _T("mid/post"), regs.instruction_pc); } - if (fpu_mmu_fixup) { + if (currprefs.cpu_model == 68060 && fpu_mmu_fixup) { m68k_areg(regs, mmufixup[0].reg) = mmufixup[0].value; mmufixup[0].reg = -1; } @@ -410,7 +410,7 @@ static void fp_unimp_instruction_exception_pending(void) if (warned > 0) { write_log (_T("FPU UNIMPLEMENTED INSTRUCTION/FPU DISABLED EXCEPTION PC=%08x\n"), M68K_GETPC); } - if (fpu_mmu_fixup) { + if (currprefs.cpu_model == 68060 && fpu_mmu_fixup) { m68k_areg(regs, mmufixup[0].reg) = mmufixup[0].value; mmufixup[0].reg = -1; }