summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author mahlemiut <bsr@xnet.co.nz>2014-10-28 12:05:44 +1300
committer mahlemiut <bsr@xnet.co.nz>2014-10-28 12:05:44 +1300
commite4ff6e038d1e7c87f22f9af25ff23cddbf9c11d5 (patch)
tree83b1c47269b6b321d46a3fca5bf656a3e4c27d97
parent8da3b4f1ef8bc374ef62c6b5e8390f71bd3777c6 (diff)
i386: fix segment present check for calls to a TSS
-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 5b66594f22b..9eb94381ae8 100644
--- a/src/emu/cpu/i386/i386.c
+++ b/src/emu/cpu/i386/i386.c
@@ -1727,9 +1727,9 @@ void i386_device::i386_protected_mode_call(UINT16 seg, UINT32 off, int indirect,
logerror("CALL: TSS: TSS is busy.\n");
FAULT(FAULT_TS,selector & ~0x03) // #TS(selector)
}
- if(desc.flags & 0x0080)
+ if((desc.flags & 0x0080) == 0)
{
- logerror("CALL: TSS: Segment is not present.\n");
+ logerror("CALL: TSS: Segment %02x is not present.\n",selector);
FAULT(FAULT_NP,selector & ~0x03) // #NP(selector)
}
if(desc.flags & 0x08)