diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp index 226ac660b4..238dd6382c 100644 --- a/Source/Core/Core/Src/HW/DSP.cpp +++ b/Source/Core/Core/Src/HW/DSP.cpp @@ -217,7 +217,7 @@ static int dsp_slice = 0; static bool dsp_is_lle = false; //time given to lle dsp on every read of the high bits in a mailbox -static const int DSP_MAIL_SLICE=12; +static const int DSP_MAIL_SLICE=72; void DoState(PointerWrap &p) { diff --git a/Source/Core/DSPCore/Src/DSPInterpreter.cpp b/Source/Core/DSPCore/Src/DSPInterpreter.cpp index ee67ce0989..d8f96ec880 100644 --- a/Source/Core/DSPCore/Src/DSPInterpreter.cpp +++ b/Source/Core/DSPCore/Src/DSPInterpreter.cpp @@ -105,32 +105,32 @@ void Step() } // Used by thread mode. -void Run() -{ - int checkInterrupt = 0; - gdsp_running = true; - while (!(g_dsp.cr & CR_HALT) && gdsp_running) - { - if (jit) - jit->RunForCycles(1); - else { - // Automatically let the other threads work if we're idle skipping - if(DSPAnalyzer::code_flags[g_dsp.pc] & DSPAnalyzer::CODE_IDLE_SKIP) - Common::YieldCPU(); - - Step(); - - // Turns out the less you check for external interrupts, the more - // sound you hear, and it becomes slower - checkInterrupt++; - if(checkInterrupt == 500) { // <-- Arbitrary number. TODO: tweak - DSPCore_CheckExternalInterrupt(); - checkInterrupt = 0; - } - } - } - gdsp_running = false; -} +//void Run() +//{ +// int checkInterrupt = 0; +// gdsp_running = true; +// while (!(g_dsp.cr & CR_HALT) && gdsp_running) +// { +// if (jit) +// jit->RunForCycles(1); +// else { +// // Automatically let the other threads work if we're idle skipping +// if(DSPAnalyzer::code_flags[g_dsp.pc] & DSPAnalyzer::CODE_IDLE_SKIP) +// Common::YieldCPU(); +// +// Step(); +// +// // Turns out the less you check for external interrupts, the more +// // sound you hear, and it becomes slower +// checkInterrupt++; +// if(checkInterrupt == 500) { // <-- Arbitrary number. TODO: tweak +// DSPCore_CheckExternalInterrupt(); +// checkInterrupt = 0; +// } +// } +// } +// gdsp_running = false; +//} // This one has basic idle skipping, and checks breakpoints. int RunCyclesDebug(int cycles) @@ -151,7 +151,7 @@ int RunCyclesDebug(int cycles) return 0; } - DSPCore_CheckExternalInterrupt(); + //DSPCore_CheckExternalInterrupt(); while (true) { @@ -209,7 +209,7 @@ int RunCycles(int cycles) return 0; } - DSPCore_CheckExternalInterrupt(); + //DSPCore_CheckExternalInterrupt(); while (true) {