summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/m68000/m68k_in.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/m68000/m68k_in.c')
-rw-r--r--src/emu/cpu/m68000/m68k_in.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/emu/cpu/m68000/m68k_in.c b/src/emu/cpu/m68000/m68k_in.c
index 29ff095350c..900fb0a502b 100644
--- a/src/emu/cpu/m68000/m68k_in.c
+++ b/src/emu/cpu/m68000/m68k_in.c
@@ -272,6 +272,7 @@ M68KMAKE_OPCODE_HANDLER_HEADER
extern void m68040_fpu_op0(m68000_base_device *m68k);
extern void m68040_fpu_op1(m68000_base_device *m68k);
extern void m68881_mmu_ops(m68000_base_device *m68k);
+extern void m68881_ftrap(m68000_base_device *m68k);
/* ======================================================================== */
/* ========================= INSTRUCTION HANDLERS ========================= */
@@ -551,6 +552,7 @@ cpdbcc 32 . . 1111...001001... .......... . . U U . . U . .
cpgen 32 . . 1111...000...... .......... . . U U . . U . . 4 4 . . .
cpscc 32 . . 1111...001...... .......... . . U U . . U . . 4 4 . . .
cptrapcc 32 . . 1111...001111... .......... . . U U . . U . . 4 4 . . .
+ftrapcc 32 . . 1111001001111... .......... . . U U . . U . . 4 4 . . .
dbt 16 . . 0101000011001... .......... U U U U U U U 12 12 6 6 6 6 6
dbf 16 . . 0101000111001... .......... U U U U U U U 12 12 6 4 4 4 4
dbcc 16 . . 0101....11001... .......... U U U U U U U 12 12 6 6 6 6 6
@@ -4477,6 +4479,16 @@ M68KMAKE_OP(cptrapcc, 32, ., .)
m68ki_exception_1111(mc68kcpu);
}
+M68KMAKE_OP(ftrapcc, 32, ., .)
+{
+ if((mc68kcpu)->has_fpu)
+ {
+ m68881_ftrap(mc68kcpu);
+ return;
+ }
+ m68ki_exception_1111(mc68kcpu);
+}
+
M68KMAKE_OP(dbt, 16, ., .)
{
REG_PC(mc68kcpu) += 2;