summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2013-11-01 16:54:15 +0000
committer cracyc <cracyc@users.noreply.github.com>2013-11-01 16:54:15 +0000
commit4d6f21861bb5c09bc356211ba66671d55ec771ff (patch)
tree0fbc55d4a46e91ee77fca455415625e8f85a90a8 /src/emu
parentf1d1476fb56345d70c347990fbbba2242992cd26 (diff)
i286: fix trap flag (nw)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/cpu/i86/i286.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/cpu/i86/i286.c b/src/emu/cpu/i86/i286.c
index 31e7029b7ca..3e4da97a90c 100644
--- a/src/emu/cpu/i86/i286.c
+++ b/src/emu/cpu/i86/i286.c
@@ -586,7 +586,7 @@ void i80286_cpu_device::switch_task(UINT16 ntask, int type)
m_tr.base = BASE(ndesc);
m_tr.rights = RIGHTS(ndesc);
- ExpandFlags(ntss[TSS_FLAG]);
+ load_flags(ntss[TSS_FLAG], 0);
m_regs.w[AX] = ntss[TSS_AX];
m_regs.w[CX] = ntss[TSS_CX];
m_regs.w[DX] = ntss[TSS_DX];
@@ -1847,6 +1847,9 @@ void i80286_cpu_device::load_flags(UINT16 flags, int cpl)
else if(!PM)
(flags &= ~0xf000);
ExpandFlags(flags);
+
+ if(m_TF)
+ m_fire_trap = 1;
}
UINT16 i80286_cpu_device::far_return(int iret, int bytes)