summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/i86
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-04-26 13:01:09 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-04-26 13:01:09 +0000
commita1d618b9daced8d0873d6ce3bc0691b4bedf494d (patch)
tree6cd4482b270844f93035a6193782dfdc5bea2a2a /src/emu/cpu/i86
parentfbbbaa20aefef88dc900105f435f5a38e7f4f02a (diff)
Fixed issues with latest change by adding safety 16bit handling (no whatsnew)
Diffstat (limited to 'src/emu/cpu/i86')
-rw-r--r--src/emu/cpu/i86/i86priv.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emu/cpu/i86/i86priv.h b/src/emu/cpu/i86/i86priv.h
index ed1ea249e8a..f9454185981 100644
--- a/src/emu/cpu/i86/i86priv.h
+++ b/src/emu/cpu/i86/i86priv.h
@@ -118,7 +118,7 @@ typedef enum {
#define FETCHWORD(var) { var = cpustate->direct->read_raw_byte(cpustate->pc, cpustate->fetch_xor); var += (cpustate->direct->read_raw_byte(cpustate->pc + 1, cpustate->fetch_xor) << 8); cpustate->pc += 2; }
#define CHANGE_PC(addr)
#define PUSH(val) { cpustate->regs.w[SP] -= 2; WriteWord(((cpustate->base[SS] + cpustate->regs.w[SP]) & AMASK), val); }
-#define POP(var) { cpustate->regs.w[SP] += 2; var = ReadWord(((cpustate->base[SS] + (cpustate->regs.w[SP]-2)) & AMASK)); }
+#define POP(var) { cpustate->regs.w[SP] += 2; var = ReadWord(((cpustate->base[SS] + ((cpustate->regs.w[SP]-2) & 0xffff)) & AMASK)); }
/************************************************************************/