]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Restore (an)+/-(an) modification before generating unimplemented instruction exception.
authorToni Wilen <twilen@winuae.net>
Sun, 17 Jan 2021 11:44:39 +0000 (13:44 +0200)
committerToni Wilen <twilen@winuae.net>
Sun, 17 Jan 2021 11:44:39 +0000 (13:44 +0200)
gencpu.cpp
newcpu_common.cpp

index df6747be2f99ee74ce9d7a00364a87e90a758eb4..67a893c9bd5dadea453a9ba74996d1ef165be25e 100644 (file)
@@ -8634,6 +8634,9 @@ bccl_not68020:
                        out("cpu_restore_fixup();\n");
                        out("}\n");
                }
+               out("if (e < 0) {\n");
+               out("op_unimpl(opcode);\n");
+               out("}\n");
                write_return_cycles(0);
                out("}\n");
                break;
@@ -8648,6 +8651,9 @@ bccl_not68020:
                        out("cpu_restore_fixup();\n");
                        out("}\n");
                }
+               out("if (e < 0) {\n");
+               out("op_unimpl(opcode);\n");
+               out("}\n");
                write_return_cycles(0);
                out("}\n");
                break;
index 7427add8a03cdbeefb197309f7f1fbadfcb8173e..cf257d14aecfba2812fe3b14dccbce3a8177ee59 100644 (file)
@@ -1242,7 +1242,6 @@ static void divul_divbyzero(uae_u16 extra, uae_s64 a, uaecptr oldpc)
 int m68k_divl(uae_u32 opcode, uae_u32 src, uae_u16 extra, uaecptr oldpc)
 {
        if ((extra & 0x400) && currprefs.int_no_unimplemented && currprefs.cpu_model == 68060) {
-               op_unimpl (opcode);
                return -1;
        }
 
@@ -1315,7 +1314,6 @@ int m68k_divl(uae_u32 opcode, uae_u32 src, uae_u16 extra, uaecptr oldpc)
 int m68k_mull (uae_u32 opcode, uae_u32 src, uae_u16 extra)
 {
        if ((extra & 0x400) && currprefs.int_no_unimplemented && currprefs.cpu_model == 68060) {
-               op_unimpl (opcode);
                return -1;
        }
        if (extra & 0x800) {