diff options
author | mahlemiut <mahlemiut@users.noreply.github.com> | 2012-02-24 21:04:08 +0000 |
---|---|---|
committer | mahlemiut <mahlemiut@users.noreply.github.com> | 2012-02-24 21:04:08 +0000 |
commit | 84422fd1ca01934099b6cdb22b4641c3c11d65de (patch) | |
tree | 2edf21eaa468e39f2d50d42fdc3f961f025a9270 | |
parent | d4311f08535475cf384c1d6b951c8dd7168e73a3 (diff) |
i386: LOCK prefix should depend on IOPL on 386. Windows NT beta boots. [Carl]
-rw-r--r-- | src/emu/cpu/i386/i386ops.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/emu/cpu/i386/i386ops.c b/src/emu/cpu/i386/i386ops.c index e0fdef77a36..33819335018 100644 --- a/src/emu/cpu/i386/i386ops.c +++ b/src/emu/cpu/i386/i386ops.c @@ -2411,12 +2411,8 @@ static void I386OP(wait)(i386_state *cpustate) // Opcode 0x9B static void I386OP(lock)(i386_state *cpustate) // Opcode 0xf0 { - if(PROTECTED_MODE) - { - UINT8 IOPL = cpustate->IOP1 | (cpustate->IOP2 << 1); - if(cpustate->CPL > IOPL) - FAULT(FAULT_GP,0); - } + // lock doesn't depend on iopl on 386 + // TODO: lock causes UD on unlockable opcodes CYCLES(cpustate,CYCLES_LOCK); // TODO: Determine correct cycle count I386OP(decode_opcode)(cpustate); } |