From 076fecf43b7be3819fa8f931c7c6af4a03989d40 Mon Sep 17 00:00:00 2001 From: zilmar Date: Sat, 29 Sep 2012 20:07:42 +1000 Subject: [PATCH] Fixed sign issue in OR and NOR --- Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp b/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp index de385a265..d48a312af 100644 --- a/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp +++ b/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp @@ -2914,7 +2914,7 @@ void CRecompilerOps::SPECIAL_OR (void) { if (Is64Bit(ConstReg)) { Value = MipsReg(ConstReg); } else { - Value = IsSigned(ConstReg)?MipsRegLo_S(ConstReg):cMipsRegLo(ConstReg); + Value = IsSigned(ConstReg)?(__int64)MipsRegLo_S(ConstReg):cMipsRegLo(ConstReg); } Map_GPR_64bit(m_Opcode.rd,MappedReg); if ((Value >> 32) != 0) { @@ -3144,7 +3144,7 @@ void CRecompilerOps::SPECIAL_NOR (void) { if (Is64Bit(ConstReg)) { Value = MipsReg(ConstReg); } else { - Value = IsSigned(ConstReg)?MipsRegLo_S(ConstReg):cMipsRegLo(ConstReg); + Value = IsSigned(ConstReg)?(__int64)MipsRegLo_S(ConstReg):cMipsRegLo(ConstReg); } Map_GPR_64bit(m_Opcode.rd,MappedReg); if ((Value >> 32) != 0) {