From 9992d216c59538e3062e68a80036159a93e452fa Mon Sep 17 00:00:00 2001 From: SimoneN64 Date: Sat, 12 Aug 2023 15:41:43 +0200 Subject: [PATCH] fix Interpreter::LL --- src/backend/core/interpreter/instructions.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/backend/core/interpreter/instructions.cpp b/src/backend/core/interpreter/instructions.cpp index 872da53a..ee3b6f8c 100644 --- a/src/backend/core/interpreter/instructions.cpp +++ b/src/backend/core/interpreter/instructions.cpp @@ -256,16 +256,17 @@ void Interpreter::ll(u32 instr) { HandleTLBException(regs, address); FireException(regs, GetTLBExceptionCode(regs.cop0.tlbError, LOAD), 0, true); } else { + s32 result = mem.Read32(regs, physical); if ((address & 0b11) > 0) { FireException(regs, ExceptionCode::AddressErrorLoad, 0, true); return; - } else { - regs.gpr[RT(instr)] = (s32)mem.Read32(regs, physical); } - } + + regs.gpr[RT(instr)] = result; - regs.cop0.llbit = true; - regs.cop0.LLAddr = physical >> 4; + regs.cop0.llbit = true; + regs.cop0.LLAddr = physical >> 4; + } } void Interpreter::lwl(u32 instr) {