summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/i386/i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/i386/i386.c')
-rw-r--r--src/emu/cpu/i386/i386.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/emu/cpu/i386/i386.c b/src/emu/cpu/i386/i386.c
index 800575911db..b9593ddfed7 100644
--- a/src/emu/cpu/i386/i386.c
+++ b/src/emu/cpu/i386/i386.c
@@ -763,6 +763,15 @@ void i386_device::i386_trap(int irq, int irq_gate, int trap_level)
logerror("IRQ (%08x): Software IRQ - gate DPL is less than CPL.\n",m_pc);
FAULT_EXP(FAULT_GP,entry+2)
}
+ if(V8086_MODE)
+ {
+ if((!m_IOP1 || !m_IOP2) && (m_opcode != 0xcc))
+ {
+ logerror("IRQ (%08x): Is in Virtual 8086 mode and IOPL != 3.\n",m_pc);
+ FAULT(FAULT_GP,0)
+ }
+
+ }
}
if((flags & 0x0080) == 0)