summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2014-10-27 21:12:47 -0500
committer cracyc <cracyc@users.noreply.github.com>2014-10-27 21:12:47 -0500
commit85e0e19a4812c0398c9c5bfeaac10dfc5aad2154 (patch)
tree2b1810e7fe2b084be70f41633d939a293b8b5be1
parent8226ab2ab1b48a226ad487f48118e52f655d77bf (diff)
i386: fix more presence checks (nw)
-rw-r--r--src/emu/cpu/i386/i386.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/cpu/i386/i386.c b/src/emu/cpu/i386/i386.c
index 9eb94381ae8..dd6b90fe0f2 100644
--- a/src/emu/cpu/i386/i386.c
+++ b/src/emu/cpu/i386/i386.c
@@ -1977,7 +1977,7 @@ void i386_device::i386_protected_mode_call(UINT16 seg, UINT32 off, int indirect,
logerror("CALL: Task Gate: Gate DPL is less than RPL.\n");
FAULT(FAULT_TS,selector & ~0x03) // #TS(selector)
}
- if(gate.ar & 0x0080)
+ if((gate.ar & 0x0080) == 0)
{
logerror("CALL: Task Gate: Gate is not present.\n");
FAULT(FAULT_NP,selector & ~0x03) // #NP(selector)
@@ -2003,7 +2003,7 @@ void i386_device::i386_protected_mode_call(UINT16 seg, UINT32 off, int indirect,
logerror("CALL: Task Gate: TSS is busy.\n");
FAULT(FAULT_TS,gate.selector & ~0x03) // #TS(selector)
}
- if(desc.flags & 0x0080)
+ if((desc.flags & 0x0080) == 0)
{
logerror("CALL: Task Gate: TSS is not present.\n");
FAULT(FAULT_NP,gate.selector & ~0x03) // #TS(selector)