diff --git a/Source/Core/Core/DSP/DSPMemoryMap.cpp b/Source/Core/Core/DSP/DSPMemoryMap.cpp index 98f3aff1d6..7b5524e2ea 100644 --- a/Source/Core/Core/DSP/DSPMemoryMap.cpp +++ b/Source/Core/Core/DSP/DSPMemoryMap.cpp @@ -64,3 +64,21 @@ void dsp_dmem_write(u16 addr, u16 val) break; } } + +u16 dsp_fetch_code() +{ + u16 opc = dsp_imem_read(g_dsp.pc); + + g_dsp.pc++; + return opc; +} + +u16 dsp_peek_code() +{ + return dsp_imem_read(g_dsp.pc); +} + +void dsp_skip_inst() +{ + g_dsp.pc += opTable[dsp_peek_code()]->size; +} diff --git a/Source/Core/Core/DSP/DSPMemoryMap.h b/Source/Core/Core/DSP/DSPMemoryMap.h index d9ebcef9fb..db6ed4f8f3 100644 --- a/Source/Core/Core/DSP/DSPMemoryMap.h +++ b/Source/Core/Core/DSP/DSPMemoryMap.h @@ -7,27 +7,10 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPCore.h" -#include "Core/DSP/DSPTables.h" - u16 dsp_imem_read(u16 addr); void dsp_dmem_write(u16 addr, u16 val); u16 dsp_dmem_read(u16 addr); -inline u16 dsp_fetch_code() -{ - u16 opc = dsp_imem_read(g_dsp.pc); - - g_dsp.pc++; - return opc; -} - -inline u16 dsp_peek_code() -{ - return dsp_imem_read(g_dsp.pc); -} - -inline void dsp_skip_inst() -{ - g_dsp.pc += opTable[dsp_peek_code()]->size; -} +u16 dsp_fetch_code(); +u16 dsp_peek_code(); +void dsp_skip_inst(); diff --git a/Source/Core/Core/DSP/Interpreter/DSPIntExtOps.cpp b/Source/Core/Core/DSP/Interpreter/DSPIntExtOps.cpp index 337e2322a5..7b5cc46960 100644 --- a/Source/Core/Core/DSP/Interpreter/DSPIntExtOps.cpp +++ b/Source/Core/Core/DSP/Interpreter/DSPIntExtOps.cpp @@ -5,6 +5,7 @@ #include "Core/DSP/Interpreter/DSPIntExtOps.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/DSPTables.h" #include "Core/DSP/Interpreter/DSPIntUtil.h" // not needed for game ucodes (it slows down interpreter/dspjit32 + easier to compare int VS diff --git a/Source/Core/Core/DSP/Jit/DSPEmitter.cpp b/Source/Core/Core/DSP/Jit/DSPEmitter.cpp index b86cedec3e..c1fb7c3156 100644 --- a/Source/Core/Core/DSP/Jit/DSPEmitter.cpp +++ b/Source/Core/Core/DSP/Jit/DSPEmitter.cpp @@ -15,7 +15,7 @@ #include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPHost.h" #include "Core/DSP/DSPMemoryMap.h" -#include "Core/DSP/Interpreter/DSPInterpreter.h" +#include "Core/DSP/DSPTables.h" #define MAX_BLOCK_SIZE 250 #define DSP_IDLE_SKIP_CYCLES 0x1000 diff --git a/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp b/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp index 1bc8cf2a04..b647327a92 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitArithmetic.cpp @@ -6,6 +6,7 @@ #include "Common/CommonTypes.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Jit/DSPEmitter.h" diff --git a/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp b/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp index 1fbc3d9bd3..5cc72548a2 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitBranch.cpp @@ -5,7 +5,9 @@ #include "Common/CommonTypes.h" #include "Core/DSP/DSPAnalyzer.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/DSPTables.h" #include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp b/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp index dfcdd5743e..1dc75e43d4 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitExtOps.cpp @@ -4,7 +4,7 @@ #include "Common/CommonTypes.h" -#include "Core/DSP/DSPMemoryMap.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen; diff --git a/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp b/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp index f0f61e5296..645fdbcaa7 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitLoadStore.cpp @@ -6,6 +6,7 @@ #include "Common/CommonTypes.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" #include "Core/DSP/Jit/DSPEmitter.h" diff --git a/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp b/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp index 8dcdb6f153..0b064047a2 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitMisc.cpp @@ -4,6 +4,7 @@ #include "Common/CommonTypes.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Interpreter/DSPInterpreter.h" #include "Core/DSP/Jit/DSPEmitter.h" diff --git a/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp b/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp index f5b754cdad..63b91c424b 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitRegCache.cpp @@ -9,6 +9,7 @@ #include "Common/Assert.h" #include "Common/Logging/Log.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Jit/DSPEmitter.h" diff --git a/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp b/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp index c03cb782f8..9b273e619b 100644 --- a/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp +++ b/Source/Core/Core/DSP/Jit/DSPJitUtil.cpp @@ -4,8 +4,8 @@ #include "Common/CommonTypes.h" +#include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPHWInterface.h" -#include "Core/DSP/DSPMemoryMap.h" #include "Core/DSP/Jit/DSPEmitter.h" using namespace Gen;