diff options
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 |
commit | e4ff6e038d1e7c87f22f9af25ff23cddbf9c11d5 (patch) | |
tree | 83b1c47269b6b321d46a3fca5bf656a3e4c27d97 | |
parent | 8da3b4f1ef8bc374ef62c6b5e8390f71bd3777c6 (diff) |
i386: fix segment present check for calls to a TSS
-rw-r--r-- | src/emu/cpu/i386/i386.c | 4 |
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) |