From: gameblabla Date: Thu, 7 Mar 2019 19:47:17 +0000 (+0100) Subject: Diablo Music fix for PCSX Rearmed. (optional hack) X-Git-Tag: r23~159^2 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=commitdiff_plain;h=210476c77ec6d0160e66ab6e9a45ad64fe5e50ce Diablo Music fix for PCSX Rearmed. (optional hack) Let's also allow it to be changed from the menu. Set to off by default as it could cause issues in some other games. --- diff --git a/frontend/main.c b/frontend/main.c index a824fdcc..43a55481 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -138,6 +138,7 @@ void emu_set_default_config(void) pl_rearmed_cbs.gpu_peopsgl.iTexGarbageCollection = 1; spu_config.iUseReverb = 1; + spu_config.idiablofix = 0; spu_config.iUseInterpolation = 1; spu_config.iXAPitch = 0; spu_config.iVolume = 768; diff --git a/frontend/menu.c b/frontend/menu.c index cf9382a8..0b3f553c 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -443,6 +443,7 @@ static const struct { CE_INTVAL_P(gpu_peopsgl.iTexGarbageCollection), CE_INTVAL_P(gpu_peopsgl.dwActFixes), CE_INTVAL(spu_config.iUseReverb), + CE_INTVAL(spu_config.idiablofix), CE_INTVAL(spu_config.iXAPitch), CE_INTVAL(spu_config.iUseInterpolation), CE_INTVAL(spu_config.iTempo), @@ -1454,6 +1455,7 @@ static menu_entry e_menu_plugin_spu[] = mee_range_h ("Volume boost", 0, volume_boost, -5, 30, h_spu_volboost), mee_onoff ("Reverb", 0, spu_config.iUseReverb, 1), mee_enum ("Interpolation", 0, spu_config.iUseInterpolation, men_spu_interp), + mee_onoff ("Diablo Music fix", 0, spu_config.idiablofix, 1), mee_onoff ("Adjust XA pitch", 0, spu_config.iXAPitch, 1), mee_onoff_h ("Adjust tempo", 0, spu_config.iTempo, 1, h_spu_tempo), mee_end, diff --git a/maemo/main.c b/maemo/main.c index 85db400b..c382c511 100644 --- a/maemo/main.c +++ b/maemo/main.c @@ -197,7 +197,7 @@ int main(int argc, char **argv) strcpy(Config.Bios, "HLE"); spu_config.iUseReverb = 1; spu_config.iUseInterpolation = 1; - + spu_config.idiablofix = 0; in_type1 = PSE_PAD_TYPE_STANDARD; in_type2 = PSE_PAD_TYPE_STANDARD; diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index 91bcaf86..bb64658d 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -352,7 +352,7 @@ static void SoundOn(int start,int end,unsigned short val) if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?! { spu.s_chan[ch].pCurr=spu.spuMemC+((regAreaGet(ch,6)&~1)<<3); // must be block aligned - spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3); + if (spu_config.idiablofix == 0) spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3); spu.dwNewChannel|=(1<