diff --git a/SConstruct b/SConstruct index 99baf8cd82..786232587b 100644 --- a/SConstruct +++ b/SConstruct @@ -54,7 +54,7 @@ dirs = [ "Source/Core/VideoCommon/Src", "Source/Plugins/Plugin_VideoOGL/Src", "Source/Plugins/Plugin_DSP_HLE/Src", - #"Source/Plugins/Plugin_DSP_LLE/Src", + "Source/Plugins/Plugin_DSP_LLE/Src", "Source/Plugins/Plugin_PadSimple/Src", "Source/Plugins/Plugin_nJoy_SDL/Src", "Source/Plugins/Plugin_Wiimote_Test/Src", diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_ext_op.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_ext_op.cpp index 45aa63b992..7b3fdb4215 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_ext_op.cpp +++ b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_ext_op.cpp @@ -29,11 +29,7 @@ // #include "Globals.h" -#include "gdsp_ext_op.h" -#include "gdsp_interpreter.h" -#include "gdsp_memory.h" - -extern inline void dsp_op_write_reg(uint8 reg, uint16 val); +#include "gdsp_opcodes_helper.h" // diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_interpreter.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_interpreter.cpp index 3725dafa80..bda59a135f 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_interpreter.cpp +++ b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_interpreter.cpp @@ -25,11 +25,9 @@ #include #include -#include "gdsp_opcodes.h" -#include "gdsp_interpreter.h" -#include "gdsp_memory.h" -#include "gdsp_registers.h" + #include "gdsp_interface.h" +#include "gdsp_opcodes_helper.h" #include "Tools.h" //------------------------------------------------------------------------------- diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes.h b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes.h index f93aa05e3f..e8212ad647 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes.h +++ b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes.h @@ -47,7 +47,4 @@ void dsp_opf(uint16 opc); #define FLAG_ENABLE_INTERUPT 11 -extern inline bool dsp_SR_is_flag_set(uint8 flag); - - #endif diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes_helper.h b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes_helper.h index ec5db4fe92..774fbd5eb6 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes_helper.h +++ b/Source/Plugins/Plugin_DSP_LLE/Src/gdsp_opcodes_helper.h @@ -27,6 +27,13 @@ #define _GDSP_OPCODES_HELPER_H #include "Globals.h" + +#include "gdsp_opcodes.h" +#include "gdsp_memory.h" +#include "gdsp_interpreter.h" +#include "gdsp_registers.h" +#include "gdsp_ext_op.h" + // --------------------------------------------------------------------------------------- // // --- SR @@ -185,7 +192,7 @@ inline sint16 dsp_get_acc_m(uint8 _reg) } -sint16 dsp_get_acc_h(uint8 _reg) +inline sint16 dsp_get_acc_h(uint8 _reg) { _dbg_assert_(_reg < 2); return(g_dsp.r[0x10 + _reg]); diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/main.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/main.cpp index c22281b5b8..963cf986e2 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/main.cpp +++ b/Source/Plugins/Plugin_DSP_LLE/Src/main.cpp @@ -98,6 +98,10 @@ void DllConfig(HWND _hParent) {} +void DSP_DoState(unsigned char **ptr, int mode) { + PointerWrap p(ptr, mode); +} + void DllDebugger(HWND _hParent) { #if defined (_DEBUG) && defined (_WIN32) @@ -165,6 +169,7 @@ void Mixer(short* buffer, int numSamples, int bits, int rate, int channels) void DSP_Initialize(DSPInitialize _dspInitialize) { + bool bCanWork = true; g_dspInitialize = _dspInitialize; gdsp_init(); @@ -175,14 +180,21 @@ void DSP_Initialize(DSPInitialize _dspInitialize) if (!gdsp_load_rom("data\\dsp_rom.bin")) { + bCanWork = false; + PanicAlert("No DSP ROM"); ErrorLog("Cannot load DSP ROM\n"); } if (!gdsp_load_coef("data\\dsp_coef.bin")) { + bCanWork = false; + PanicAlert("No DSP COEF"); ErrorLog("Cannot load DSP COEF\n"); } + if(!bCanWork) + return; // TODO: Don't let it work + /* Dump UCode to file... FILE* t = fopen("e:\\hmm.txt", "wb"); gd_globals_t gdg;