From 85e0e19a4812c0398c9c5bfeaac10dfc5aad2154 Mon Sep 17 00:00:00 2001 From: cracyc Date: Mon, 27 Oct 2014 21:12:47 -0500 Subject: i386: fix more presence checks (nw) --- src/emu/cpu/i386/i386.c | 4 ++-- 1 file 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) -- cgit v1.2.3