From 09cb07879b9c47aea2332a50050dd91efc1b2700 Mon Sep 17 00:00:00 2001 From: ferris Date: Mon, 13 Feb 2017 22:33:28 +0100 Subject: [PATCH] Fix lack of sign extend for MUL This FINALLY fixes Vertical Force :D --- rustual-boy-core/src/v810.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rustual-boy-core/src/v810.rs b/rustual-boy-core/src/v810.rs index 0fb9394..83d6653 100644 --- a/rustual-boy-core/src/v810.rs +++ b/rustual-boy-core/src/v810.rs @@ -396,8 +396,8 @@ impl V810 { self.set_reg_gpr(reg2, res); }), OPCODE_BITS_MUL => format_i!(|reg1, reg2| { - let lhs = self.reg_gpr(reg2) as i64; - let rhs = self.reg_gpr(reg1) as i64; + let lhs = (self.reg_gpr(reg2) as i32) as i64; + let rhs = (self.reg_gpr(reg1) as i32) as i64; let res = (lhs * rhs) as u64; let res_low = res as u32; let res_high = (res >> 32) as u32;