]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Missing 68040/060 no FPU check.
authorToni Wilen <twilen@winuae.net>
Wed, 19 Jul 2017 12:00:15 +0000 (15:00 +0300)
committerToni Wilen <twilen@winuae.net>
Wed, 19 Jul 2017 12:00:15 +0000 (15:00 +0300)
fpp.cpp

diff --git a/fpp.cpp b/fpp.cpp
index 1ecaf02259322c22c2351c76c3ccdc69b6954ad9..033d65acecbd10acabf9a6dd791826a6454396c3 100644 (file)
--- a/fpp.cpp
+++ b/fpp.cpp
@@ -2667,6 +2667,8 @@ static void fpuop_arithmetic2 (uae_u32 opcode, uae_u16 extra)
        switch ((extra >> 13) & 0x7)
        {
                case 3:
+                       if (fault_if_no_fpu (opcode, extra, 0, pc))
+                               return;
                        if (fp_exception_pending(true))
                                return;
 
@@ -2881,8 +2883,6 @@ static void fpuop_arithmetic2 (uae_u32 opcode, uae_u16 extra)
                        regs.fpiar = pc;
                        reg = (extra >> 7) & 7;
                        if ((extra & 0xfc00) == 0x5c00) {
-                               if (fault_if_no_fpu (opcode, extra, 0, pc))
-                                       return;
                                if (fault_if_unimplemented_680x0 (opcode, extra, ad, pc, &src, reg))
                                        return;
                                fpsr_clear_status();
@@ -2905,6 +2905,9 @@ static void fpuop_arithmetic2 (uae_u32 opcode, uae_u16 extra)
                                return;
                        }
 
+                       if (fault_if_no_fpu (opcode, extra, ad, pc))
+                               return;
+
                        dst = regs.fp[reg];
 
                        if (fp_is_dyadic(extra))