From d966fe3e0d25f628b38def357e3c8e4b76c2ecdf Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 1 Jun 2011 07:39:48 +0000 Subject: [PATCH] i286 - small issue fixed by Carl (no whatsnew) --- src/emu/cpu/i86/instr286.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/emu/cpu/i86/instr286.c b/src/emu/cpu/i86/instr286.c index 7151735e246..a4b4b37be5f 100644 --- a/src/emu/cpu/i86/instr286.c +++ b/src/emu/cpu/i86/instr286.c @@ -788,10 +788,10 @@ static UINT16 i80286_far_return(i8086_state *cpustate, int iret, int bytes) cpustate->pc=(cpustate->base[CS]+off)&AMASK ; // docs say check rpl but windows doesn't like it - if (i80286_verify(cpustate, cpustate->sregs[DS], I80286_READ, cpustate->rights[DS]) && (DPL(cpustate->rights[DS]) < CPL)) + if (i80286_verify(cpustate, cpustate->sregs[DS], I80286_READ, cpustate->rights[DS]) || (DPL(cpustate->rights[DS]) < CPL)) i80286_data_descriptor(cpustate, DS, 0); - if (i80286_verify(cpustate, cpustate->sregs[ES], I80286_READ, cpustate->rights[ES]) && (DPL(cpustate->rights[ES]) < CPL)) + if (i80286_verify(cpustate, cpustate->sregs[ES], I80286_READ, cpustate->rights[ES]) || (DPL(cpustate->rights[ES]) < CPL)) i80286_data_descriptor(cpustate, ES, 0); } else { cpustate->regs.w[SP] += (iret?6:4) + bytes;