diff options
| author | 2012-02-24 21:04:08 +0000 | |
|---|---|---|
| committer | 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); } |
