From cc2ec62e1103ae6ad00d8cad65541576e4952bae Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 21 Feb 2021 10:46:05 +0200 Subject: [PATCH] 68040 does not revert -(An)/(An)+ EA calculation (only 68060 does) if FPU instruction was unimplemented or datatype was unsupported. --- fpp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 2.47.3