diff --git a/Source/Core/DSPCore/Src/DSPInterpreter.cpp b/Source/Core/DSPCore/Src/DSPInterpreter.cpp index 96fac7d485..ee67ce0989 100644 --- a/Source/Core/DSPCore/Src/DSPInterpreter.cpp +++ b/Source/Core/DSPCore/Src/DSPInterpreter.cpp @@ -99,7 +99,9 @@ void Step() u16 opc = dsp_fetch_code(); ExecuteInstruction(UDSPInstruction(opc)); - HandleLoop(); + + if (DSPAnalyzer::code_flags[g_dsp.pc - 1] & DSPAnalyzer::CODE_LOOP_END) + HandleLoop(); } // Used by thread mode.