From 8241e9735a4e1269a15cdc9006acc3d00955d08d Mon Sep 17 00:00:00 2001 From: iris Date: Tue, 31 Mar 2026 11:42:24 +0200 Subject: [PATCH] Fix exception for "unusable COP1" in 4 instructions i missed accidentally --- src/backend/core/interpreter/decode.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/core/interpreter/decode.cpp b/src/backend/core/interpreter/decode.cpp index b131f97..4ebe67f 100644 --- a/src/backend/core/interpreter/decode.cpp +++ b/src/backend/core/interpreter/decode.cpp @@ -414,12 +414,16 @@ void Interpreter::Exec(const Instruction instr) { ll(instr); break; case Instruction::LWC1: + if (!regs.cop1.CheckFPUUsable()) + return; regs.cop1.lwc1(instr); break; case Instruction::LLD: lld(instr); break; case Instruction::LDC1: + if (!regs.cop1.CheckFPUUsable()) + return; regs.cop1.ldc1(instr); break; case Instruction::LD: @@ -429,12 +433,16 @@ void Interpreter::Exec(const Instruction instr) { sc(instr); break; case Instruction::SWC1: + if (!regs.cop1.CheckFPUUsable()) + return; regs.cop1.swc1(instr); break; case Instruction::SCD: scd(instr); break; case Instruction::SDC1: + if (!regs.cop1.CheckFPUUsable()) + return; regs.cop1.sdc1(instr); break; case Instruction::SD: