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: