summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/i960/i960.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/i960/i960.cpp')
-rw-r--r--src/devices/cpu/i960/i960.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/devices/cpu/i960/i960.cpp b/src/devices/cpu/i960/i960.cpp
index 9d9e5293a67..738037e60b5 100644
--- a/src/devices/cpu/i960/i960.cpp
+++ b/src/devices/cpu/i960/i960.cpp
@@ -469,7 +469,7 @@ void i960_cpu_device::take_interrupt(int vector, int lvl)
}
SP = (SP + 63) & ~63;
- SP += 128; // emulate ElSemi's core, this fixes the crash in sonic the fighters
+ SP += 64; // add padding to prevent buffer underflow when saving processor state
do_call(IRQV, 7, SP);
@@ -1538,7 +1538,7 @@ void i960_cpu_device::execute_op(uint32_t opcode)
t1 = get_1_ri(opcode);
t2 = get_2_ri(opcode);
- set_ri64(opcode, (int64_t)t1 * (int64_t)t2);
+ set_ri64(opcode, mulu_32x32(t1, t2));
break;
case 0x1: // ediv