diff --git a/Source/Core/Core/Src/DSP/DSPAccelerator.cpp b/Source/Core/Core/Src/DSP/DSPAccelerator.cpp index 4e16b386b3..f625f1ddf6 100644 --- a/Source/Core/Core/Src/DSP/DSPAccelerator.cpp +++ b/Source/Core/Core/Src/DSP/DSPAccelerator.cpp @@ -21,8 +21,6 @@ #include "DSPHost.h" #include "DSPHWInterface.h" #include "DSPInterpreter.h" -#include "CoreTiming.h" -#include "Core.h" // The hardware adpcm decoder :) static s16 ADPCM_Step(u32& _rSamplePos) @@ -170,7 +168,7 @@ u16 dsp_read_accelerator() if (Address >= EndAddress) { // Set address back to start address. - if (Core::g_CoreStartupParameter.bWii || Address == EndAddress) + if (DSPHost_Wii() || (Address == EndAddress)) { Address = (g_dsp.ifx_regs[DSP_ACSAH] << 16) | g_dsp.ifx_regs[DSP_ACSAL]; DSPCore_SetException(EXP_ACCOV); diff --git a/Source/Core/Core/Src/DSP/DSPHost.h b/Source/Core/Core/Src/DSP/DSPHost.h index c28ce80a9a..8ee90477d6 100644 --- a/Source/Core/Core/Src/DSP/DSPHost.h +++ b/Source/Core/Core/Src/DSP/DSPHost.h @@ -26,6 +26,7 @@ u8 DSPHost_ReadHostMemory(u32 addr); void DSPHost_WriteHostMemory(u8 value, u32 addr); bool DSPHost_OnThread(); +bool DSPHost_Wii(); void DSPHost_InterruptRequest(); u32 DSPHost_CodeLoaded(const u8 *ptr, int size); void DSPHost_UpdateDebugger(); diff --git a/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp b/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp index 35fc88eeb8..c3bbeb3afb 100644 --- a/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp +++ b/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp @@ -46,6 +46,12 @@ bool DSPHost_OnThread() return _CoreParameter.bDSPThread; } +bool DSPHost_Wii() +{ + const SCoreStartupParameter& _CoreParameter = SConfig::GetInstance().m_LocalCoreStartupParameter; + return _CoreParameter.bWii; +} + void DSPHost_InterruptRequest() { // Fire an interrupt on the PPC ASAP.