diff --git a/pcsx2/SPU2/ADSR.cpp b/pcsx2/SPU2/ADSR.cpp index c1f425c8ed..2056c657e2 100644 --- a/pcsx2/SPU2/ADSR.cpp +++ b/pcsx2/SPU2/ADSR.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" static const s32 ADSR_MAX_VOL = 0x7fffffff; diff --git a/pcsx2/SPU2/Config.h b/pcsx2/SPU2/Config.h index f19cee2739..fc3ce8481b 100644 --- a/pcsx2/SPU2/Config.h +++ b/pcsx2/SPU2/Config.h @@ -16,6 +16,9 @@ #pragma once #include "Global.h" +#ifdef _WIN32 +#include +#endif extern bool DebugEnabled; diff --git a/pcsx2/SPU2/Debug.cpp b/pcsx2/SPU2/Debug.cpp index 5af217d85b..c5f0dd41e9 100644 --- a/pcsx2/SPU2/Debug.cpp +++ b/pcsx2/SPU2/Debug.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" int crazy_debug = 0; diff --git a/pcsx2/SPU2/Dma.cpp b/pcsx2/SPU2/Dma.cpp index 4e8345dc55..9e0806fc08 100644 --- a/pcsx2/SPU2/Dma.cpp +++ b/pcsx2/SPU2/Dma.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "Dma.h" diff --git a/pcsx2/SPU2/DplIIdecoder.cpp b/pcsx2/SPU2/DplIIdecoder.cpp index 28430d9df2..2dbb7134f8 100644 --- a/pcsx2/SPU2/DplIIdecoder.cpp +++ b/pcsx2/SPU2/DplIIdecoder.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" // FIXME Not yet used so let's comment it out. diff --git a/pcsx2/SPU2/Global.h b/pcsx2/SPU2/Global.h index 50c10c7859..b36cfb7e33 100644 --- a/pcsx2/SPU2/Global.h +++ b/pcsx2/SPU2/Global.h @@ -15,6 +15,7 @@ #pragma once + #define NOMINMAX extern bool psxmode; @@ -99,4 +100,5 @@ extern void SysMessage(const wchar_t* fmt, ...); #include "Config.h" #include "Debug.h" +#include "Mixer.h" #include "SndOut.h" diff --git a/pcsx2/SPU2/Lowpass.cpp b/pcsx2/SPU2/Lowpass.cpp index 289852c942..7eff1aa448 100644 --- a/pcsx2/SPU2/Lowpass.cpp +++ b/pcsx2/SPU2/Lowpass.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "Lowpass.h" #include diff --git a/pcsx2/SPU2/Mixer.cpp b/pcsx2/SPU2/Mixer.cpp index 4d13415507..3218c183f1 100644 --- a/pcsx2/SPU2/Mixer.cpp +++ b/pcsx2/SPU2/Mixer.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" // Games have turned out to be surprisingly sensitive to whether a parked, silent voice is being fully emulated. diff --git a/pcsx2/SPU2/Mixer.h b/pcsx2/SPU2/Mixer.h index a01ceeb4b9..902fcb93ff 100644 --- a/pcsx2/SPU2/Mixer.h +++ b/pcsx2/SPU2/Mixer.h @@ -15,6 +15,8 @@ #pragma once +#include "Pcsx2Types.h" + // Implemented in Config.cpp extern float VolumeAdjustFL; extern float VolumeAdjustFR; diff --git a/pcsx2/SPU2/ReadInput.cpp b/pcsx2/SPU2/ReadInput.cpp index dfc3a4cf0c..8005f009bf 100644 --- a/pcsx2/SPU2/ReadInput.cpp +++ b/pcsx2/SPU2/ReadInput.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "Dma.h" #include "IopDma.h" diff --git a/pcsx2/SPU2/RegLog.cpp b/pcsx2/SPU2/RegLog.cpp index 7504a77eda..33b38a3778 100644 --- a/pcsx2/SPU2/RegLog.cpp +++ b/pcsx2/SPU2/RegLog.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" const char* ParamNames[8] = {"VOLL", "VOLR", "PITCH", "ADSR1", "ADSR2", "ENVX", "VOLXL", "VOLXR"}; diff --git a/pcsx2/SPU2/RegTable.cpp b/pcsx2/SPU2/RegTable.cpp index 429c44d12e..5c75893714 100644 --- a/pcsx2/SPU2/RegTable.cpp +++ b/pcsx2/SPU2/RegTable.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #define PCORE(c, p) \ diff --git a/pcsx2/SPU2/Reverb.cpp b/pcsx2/SPU2/Reverb.cpp index e1f0133818..66f91fe48d 100644 --- a/pcsx2/SPU2/Reverb.cpp +++ b/pcsx2/SPU2/Reverb.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" __forceinline s32 V_Core::RevbGetIndexer(s32 offset) diff --git a/pcsx2/SPU2/SndOut.cpp b/pcsx2/SPU2/SndOut.cpp index ccdcafa4d8..e09ce108a8 100644 --- a/pcsx2/SPU2/SndOut.cpp +++ b/pcsx2/SPU2/SndOut.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" @@ -86,11 +87,11 @@ SndOutModule* mods[] = DSoundOut, WaveOut, #endif -#if defined(_WIN32) || defined(SPU2X_PORTAUDIO) +#if defined(SPU2X_PORTAUDIO) PortaudioOut, #endif - SDLOut, #if defined(__linux__) /* && defined(__ALSA__)*/ + SDLOut, AlsaOut, #endif NULL // signals the end of our list diff --git a/pcsx2/SPU2/SndOut.h b/pcsx2/SPU2/SndOut.h index 27558cfad9..2b5c9e79ea 100644 --- a/pcsx2/SPU2/SndOut.h +++ b/pcsx2/SPU2/SndOut.h @@ -670,7 +670,7 @@ extern SndOutModule* WaveOut; extern SndOutModule* DSoundOut; extern SndOutModule* XAudio2Out; #endif -#if defined(_WIN32) || defined(SPU2X_PORTAUDIO) +#if defined(SPU2X_PORTAUDIO) extern SndOutModule* PortaudioOut; #endif extern SndOutModule* const SDLOut; diff --git a/pcsx2/SPU2/SndOut_Portaudio.cpp b/pcsx2/SPU2/SndOut_Portaudio.cpp index 2a2bb3c8e4..9a852d2dc6 100644 --- a/pcsx2/SPU2/SndOut_Portaudio.cpp +++ b/pcsx2/SPU2/SndOut_Portaudio.cpp @@ -13,10 +13,17 @@ * If not, see . */ +#include "PrecompiledHeader.h" +#include "Mixer.h" #include "Global.h" +#include "SndOut.h" #define _WIN32_DCOM -#include "Dialogs.h" +#ifdef _WIN32 +#include "Windows/Dialogs.h" +#elif defined __linux +#include "Linux/Dialogs.h" +#endif #include "portaudio.h" @@ -25,8 +32,9 @@ #include #ifdef _WIN32 -#include "pa_win_wasapi.h" +#include #endif +#include "Debug.h" int PaCallback(const void* inputBuffer, void* outputBuffer, unsigned long framesPerBuffer, diff --git a/pcsx2/SPU2/Timestretcher.cpp b/pcsx2/SPU2/Timestretcher.cpp index 6475e75ded..74406dcfd7 100644 --- a/pcsx2/SPU2/Timestretcher.cpp +++ b/pcsx2/SPU2/Timestretcher.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "soundtouch/SoundTouch.h" #include diff --git a/pcsx2/SPU2/WavFile.cpp b/pcsx2/SPU2/WavFile.cpp index 88c2f76ddd..5e8ffe4489 100644 --- a/pcsx2/SPU2/WavFile.cpp +++ b/pcsx2/SPU2/WavFile.cpp @@ -16,6 +16,7 @@ // Note the file is mostly a copy paste of the WavFile.h from SoundTouch library. It was // shrunken to support only output 16 bits wav files +#include "PrecompiledHeader.h" #include #include #include diff --git a/pcsx2/SPU2/Wavedump_wav.cpp b/pcsx2/SPU2/Wavedump_wav.cpp index 8059179c30..6ab10e5a62 100644 --- a/pcsx2/SPU2/Wavedump_wav.cpp +++ b/pcsx2/SPU2/Wavedump_wav.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #ifdef __POSIX__ #include "WavFile.h" diff --git a/pcsx2/SPU2/Windows/CfgHelpers.cpp b/pcsx2/SPU2/Windows/CfgHelpers.cpp index c1af4f1e4d..6480fb0552 100644 --- a/pcsx2/SPU2/Windows/CfgHelpers.cpp +++ b/pcsx2/SPU2/Windows/CfgHelpers.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" #include "Utilities/StringHelpers.h" diff --git a/pcsx2/SPU2/Windows/Config.cpp b/pcsx2/SPU2/Windows/Config.cpp index 693ae859c4..a89c55c1be 100644 --- a/pcsx2/SPU2/Windows/Config.cpp +++ b/pcsx2/SPU2/Windows/Config.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" #include @@ -140,7 +141,6 @@ void ReadSettings() Config_WaveOut.NumBuffers = CfgReadInt(L"WAVEOUT", L"Buffer_Count", 4); DSoundOut->ReadSettings(); - PortaudioOut->ReadSettings(); SoundtouchCfg::ReadSettings(); DebugConfig::ReadSettings(); @@ -195,7 +195,6 @@ void WriteSettings() CfgWriteInt(L"DSP PLUGIN", L"ModuleNum", dspPluginModule); CfgWriteBool(L"DSP PLUGIN", L"Enabled", dspPluginEnabled); - PortaudioOut->WriteSettings(); DSoundOut->WriteSettings(); SoundtouchCfg::WriteSettings(); DebugConfig::WriteSettings(); @@ -205,13 +204,11 @@ void CheckOutputModule(HWND window) { OutputModule = SendMessage(GetDlgItem(window, IDC_OUTPUT), CB_GETCURSEL, 0, 0); const bool IsConfigurable = - mods[OutputModule] == PortaudioOut || mods[OutputModule] == WaveOut || mods[OutputModule] == DSoundOut; const bool AudioExpansion = - mods[OutputModule] == XAudio2Out || - mods[OutputModule] == PortaudioOut; + mods[OutputModule] == XAudio2Out; EnableWindow(GetDlgItem(window, IDC_OUTCONF), IsConfigurable); EnableWindow(GetDlgItem(window, IDC_SPEAKERS), AudioExpansion); diff --git a/pcsx2/SPU2/Windows/ConfigDebug.cpp b/pcsx2/SPU2/Windows/ConfigDebug.cpp index 97530317c6..a2f334c325 100644 --- a/pcsx2/SPU2/Windows/ConfigDebug.cpp +++ b/pcsx2/SPU2/Windows/ConfigDebug.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" #include "Utilities\Path.h" diff --git a/pcsx2/SPU2/Windows/ConfigSoundtouch.cpp b/pcsx2/SPU2/Windows/ConfigSoundtouch.cpp index 196e2b5289..935f377e39 100644 --- a/pcsx2/SPU2/Windows/ConfigSoundtouch.cpp +++ b/pcsx2/SPU2/Windows/ConfigSoundtouch.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" #include "soundtouch/SoundTouch.h" diff --git a/pcsx2/SPU2/Windows/RealtimeDebugger.cpp b/pcsx2/SPU2/Windows/RealtimeDebugger.cpp index 6272cfaf74..6aeb8ff206 100644 --- a/pcsx2/SPU2/Windows/RealtimeDebugger.cpp +++ b/pcsx2/SPU2/Windows/RealtimeDebugger.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" bool debugDialogOpen = false; diff --git a/pcsx2/SPU2/Windows/SndOut_DSound.cpp b/pcsx2/SPU2/Windows/SndOut_DSound.cpp index 496cb8e4f5..470e44e738 100644 --- a/pcsx2/SPU2/Windows/SndOut_DSound.cpp +++ b/pcsx2/SPU2/Windows/SndOut_DSound.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #define _WIN32_DCOM #include "Dialogs.h" @@ -416,6 +417,7 @@ public: MessageBox((HWND)parent, L"Error Opening the config dialog.", L"OMG ERROR!", MB_OK | MB_SETFOREGROUND); return; } + } s32 Test() const diff --git a/pcsx2/SPU2/Windows/SndOut_XAudio2.cpp b/pcsx2/SPU2/Windows/SndOut_XAudio2.cpp index 8eccbbd819..fcae4b3b4b 100644 --- a/pcsx2/SPU2/Windows/SndOut_XAudio2.cpp +++ b/pcsx2/SPU2/Windows/SndOut_XAudio2.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" #undef _WIN32_WINNT diff --git a/pcsx2/SPU2/Windows/SndOut_waveOut.cpp b/pcsx2/SPU2/Windows/SndOut_waveOut.cpp index 82f56691db..7b3814666e 100644 --- a/pcsx2/SPU2/Windows/SndOut_waveOut.cpp +++ b/pcsx2/SPU2/Windows/SndOut_waveOut.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" diff --git a/pcsx2/SPU2/Windows/UIHelpers.cpp b/pcsx2/SPU2/Windows/UIHelpers.cpp index 95d24c2f89..592b8ded68 100644 --- a/pcsx2/SPU2/Windows/UIHelpers.cpp +++ b/pcsx2/SPU2/Windows/UIHelpers.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #include "Dialogs.h" int SendDialogMsg(HWND hwnd, int dlgId, UINT code, WPARAM wParam, LPARAM lParam) diff --git a/pcsx2/SPU2/Windows/dsp.cpp b/pcsx2/SPU2/Windows/dsp.cpp index 75ceb85a41..b20a4b873e 100644 --- a/pcsx2/SPU2/Windows/dsp.cpp +++ b/pcsx2/SPU2/Windows/dsp.cpp @@ -13,7 +13,8 @@ * If not, see . */ -#include "Global.h" +#include "PrecompiledHeader.h" +#include "../Global.h" #define _WIN32_WINNT 0x0600 #include diff --git a/pcsx2/SPU2/defs.h b/pcsx2/SPU2/defs.h index 6889d5f8f5..b2261efd44 100644 --- a/pcsx2/SPU2/defs.h +++ b/pcsx2/SPU2/defs.h @@ -17,6 +17,7 @@ #include "Mixer.h" #include "SndOut.h" +#include "Global.h" // -------------------------------------------------------------------------------------- // SPU2 Memory Indexers diff --git a/pcsx2/SPU2/regs.h b/pcsx2/SPU2/regs.h index e3530691a2..153acd3468 100644 --- a/pcsx2/SPU2/regs.h +++ b/pcsx2/SPU2/regs.h @@ -15,6 +15,8 @@ #pragma once +#include "Pcsx2Types.h" + #define SPU2_CORE0 0x00000000 #define SPU2_CORE1 0x00000400 diff --git a/pcsx2/SPU2/spdif.h b/pcsx2/SPU2/spdif.h index c355dad23c..5e7961789c 100644 --- a/pcsx2/SPU2/spdif.h +++ b/pcsx2/SPU2/spdif.h @@ -104,4 +104,4 @@ typedef struct _chstatus u8 reservd1 : 4; u8 category; u8 reservd2[22]; -} chstatus: +} chstatus; diff --git a/pcsx2/SPU2/spu2.cpp b/pcsx2/SPU2/spu2.cpp index 8c636e10fa..11f8e04376 100644 --- a/pcsx2/SPU2/spu2.cpp +++ b/pcsx2/SPU2/spu2.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "spu2.h" #include "Dma.h" diff --git a/pcsx2/SPU2/spu2freeze.cpp b/pcsx2/SPU2/spu2freeze.cpp index 997dbbf086..a5f4346480 100644 --- a/pcsx2/SPU2/spu2freeze.cpp +++ b/pcsx2/SPU2/spu2freeze.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "spu2.h" // hopefully temporary, until I resolve lClocks depdendency diff --git a/pcsx2/SPU2/spu2replay.cpp b/pcsx2/SPU2/spu2replay.cpp index ed918cacb5..de384f964f 100644 --- a/pcsx2/SPU2/spu2replay.cpp +++ b/pcsx2/SPU2/spu2replay.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "Global.h" #include "spu2.h" @@ -199,8 +200,7 @@ BOOL WINAPI HandlerRoutine(DWORD dwCtrlType) #endif #include "Windows/Dialogs.h" -EXPORT_C_(void) -s2r_replay(HWND hwnd, HINSTANCE hinst, LPSTR filename, int nCmdShow) +void s2r_replay(HWND hwnd, HINSTANCE hinst, LPSTR filename, int nCmdShow) { int events = 0; diff --git a/pcsx2/SPU2/spu2sys.cpp b/pcsx2/SPU2/spu2sys.cpp index 53c5b8b4fe..fd486c5d6e 100644 --- a/pcsx2/SPU2/spu2sys.cpp +++ b/pcsx2/SPU2/spu2sys.cpp @@ -20,6 +20,7 @@ // Contents should be cross-platform compatible whenever possible. +#include "PrecompiledHeader.h" #include "Global.h" #include "Dma.h" #include "IopDma.h" diff --git a/pcsx2/SPU2/wx/wxConfig.cpp b/pcsx2/SPU2/wx/wxConfig.cpp index 0086465d2a..57f09da620 100644 --- a/pcsx2/SPU2/wx/wxConfig.cpp +++ b/pcsx2/SPU2/wx/wxConfig.cpp @@ -13,6 +13,7 @@ * If not, see . */ +#include "PrecompiledHeader.h" #include "../Config.h" #ifdef __linux__ #include "../Linux/Config.h" diff --git a/pcsx2/windows/VCprojects/pcsx2.vcxproj b/pcsx2/windows/VCprojects/pcsx2.vcxproj index 791b3a13d4..6a770226a7 100644 --- a/pcsx2/windows/VCprojects/pcsx2.vcxproj +++ b/pcsx2/windows/VCprojects/pcsx2.vcxproj @@ -65,6 +65,7 @@ Yes + comctl32.lib;ws2_32.lib;shlwapi.lib;winmm.lib;rpcrt4.lib;dsound.lib;%(AdditionalDependencies) @@ -267,52 +268,42 @@ - - - - - - - + - - - - - + + + - - + + + true - - true - + + + + + + + + + true - - true - - - true - true - - true - - - - - - - + + + + + + @@ -565,22 +556,24 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -734,10 +727,16 @@ + + {0a18a071-125e-442f-aff7-a3f68abecf99} + {0fae817d-9a32-4830-857e-81da57246e16} false + + {e9b51944-7e6d-4bcd-83f2-7bbd5a46182d} + {24c45343-fd20-5c92-81c1-35a2ae841e79} diff --git a/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters b/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters index 4e37c07ca1..7c28a97f53 100644 --- a/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters +++ b/pcsx2/windows/VCprojects/pcsx2.vcxproj.filters @@ -910,67 +910,55 @@ System\Ps2\SPU2 - + System\Ps2\SPU2 - + System\Ps2\SPU2 - + System\Ps2\SPU2 - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - + System\Ps2\SPU2 System\Ps2\SPU2 - + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + System\Ps2\SPU2 @@ -982,67 +970,22 @@ System\Ps2\SPU2 - - System\Ps2\SPU2 - System\Ps2\SPU2 System\Ps2\SPU2 - - System\Ps2\SPU2 - System\Ps2\SPU2 - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - System\Ps2\SPU2 - + System\Ps2\SPU2 - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - - System\Ps2\SPU2 - - + System\Ps2\SPU2 @@ -1051,6 +994,9 @@ System\Ps2\SPU2 + + System\Ps2\SPU2 + @@ -1515,6 +1461,60 @@ System\Ps2\Iop\FW + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 + + + System\Ps2\SPU2 +