diff options
author | 2011-04-26 13:01:09 +0000 | |
---|---|---|
committer | 2011-04-26 13:01:09 +0000 | |
commit | a1d618b9daced8d0873d6ce3bc0691b4bedf494d (patch) | |
tree | 6cd4482b270844f93035a6193782dfdc5bea2a2a /src/emu/cpu/i86 | |
parent | fbbbaa20aefef88dc900105f435f5a38e7f4f02a (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.h | 2 |
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)); } /************************************************************************/ |