From 28e6d969553cfe17df95c1d51d156f71f5d37194 Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Wed, 7 Nov 2012 19:39:29 +0000 Subject: [PATCH] SPU2-X: 2 known games set an illegal reverb EEA that randomly causes crashes in the plugin. We need to figure out what real hardware does with it but for now let's disable the effect engine in that case. Affected games: Summer Beach Volleyball and 18 Wheeler. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5445 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/spu2-x/src/Mixer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/spu2-x/src/Mixer.cpp b/plugins/spu2-x/src/Mixer.cpp index 62d9dbed3..81cfa9569 100644 --- a/plugins/spu2-x/src/Mixer.cpp +++ b/plugins/spu2-x/src/Mixer.cpp @@ -706,7 +706,10 @@ StereoOut32 V_Core::Mix( const VoiceMixSet& inVoices, const StereoOut32& Input, // On the other hand, updating the buffer is cheap and easy, so might as well. ;) Reverb_AdvanceBuffer(); // Updates the reverb work area as well, if needed. - if (!FxEnable) return TD; + + // ToDo: + // Bad EndA causes memory corruption. Bad for us, unknown on PS2! + if (!FxEnable || EffectsEndA >= 0x100000) return TD; StereoOut32 TW;