diff --git a/Source/Core/Core/DSP/DSPCore.cpp b/Source/Core/Core/DSP/DSPCore.cpp index 428cd09fd3..5a0b06ad3d 100644 --- a/Source/Core/Core/DSP/DSPCore.cpp +++ b/Source/Core/Core/DSP/DSPCore.cpp @@ -331,7 +331,7 @@ void CompileCurrent() } } -u16 DSPCore_ReadRegister(int reg) +u16 DSPCore_ReadRegister(size_t reg) { switch (reg) { @@ -388,7 +388,7 @@ u16 DSPCore_ReadRegister(int reg) } } -void DSPCore_WriteRegister(int reg, u16 val) +void DSPCore_WriteRegister(size_t reg, u16 val) { switch (reg) { diff --git a/Source/Core/Core/DSP/DSPCore.h b/Source/Core/Core/DSP/DSPCore.h index b270b0117a..c6ac49eb99 100644 --- a/Source/Core/Core/DSP/DSPCore.h +++ b/Source/Core/Core/DSP/DSPCore.h @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -358,5 +359,5 @@ DSPCoreState DSPCore_GetState(); void DSPCore_Step(); -u16 DSPCore_ReadRegister(int reg); -void DSPCore_WriteRegister(int reg, u16 val); +u16 DSPCore_ReadRegister(size_t reg); +void DSPCore_WriteRegister(size_t reg, u16 val); diff --git a/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp b/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp index 4f0d6fb2d3..65fdc2b9ca 100644 --- a/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp +++ b/Source/Core/DolphinWX/Debugger/DSPRegisterView.cpp @@ -13,7 +13,7 @@ wxString CDSPRegTable::GetValue(int row, int col) { - if (row < 32) // 32 "normal" regs + if (row < GetNumberRows()) { switch (col) { @@ -41,10 +41,12 @@ void CDSPRegTable::UpdateCachedRegs() m_CachedCounter = g_dsp.step_counter; - for (int i = 0; i < 32; ++i) + for (size_t i = 0; i < m_CachedRegs.size(); ++i) { - m_CachedRegHasChanged[i] = (m_CachedRegs[i] != DSPCore_ReadRegister(i)); - m_CachedRegs[i] = DSPCore_ReadRegister(i); + const u16 value = DSPCore_ReadRegister(i); + + m_CachedRegHasChanged[i] = m_CachedRegs[i] != value; + m_CachedRegs[i] = value; } }