From 1af151e8bbd3f54aec49fc5956e98de68f3f6491 Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Wed, 15 Dec 2010 20:16:33 +0000 Subject: dfsound - registers.c, spu.c - Some VAG $2 silence adjustments - Align start addresses to 16-bytes - Brain Dead 13 now works git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@61205 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- plugins/dfsound/registers.c | 13 ++++++++----- plugins/dfsound/spu.c | 17 ++++++++++------- 2 files changed, 18 insertions(+), 12 deletions(-) (limited to 'plugins') diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index d8e1e66f..fbf20101 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -70,7 +70,8 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val) break; //------------------------------------------------// start case 6: - s_chan[ch].pStart=spuMemC+((unsigned long) val<<3); + // Brain Dead 13 - align to 16 boundary + s_chan[ch].pStart= spuMemC+(unsigned long)((val<<3)&~0xf); break; //------------------------------------------------// level with pre-calcs case 8: @@ -429,13 +430,15 @@ void SoundOn(int start,int end,unsigned short val) // SOUND ON PSX COMAND s_chan[ch].bIgnoreLoop=0; s_chan[ch].bNew=1; - // ..? + // do this here, not in StartSound + // - fixes fussy timing issues s_chan[ch].iSilent=0; - //s_chan[ch].bStop=0; + s_chan[ch].bStop=0; + s_chan[ch].bOn=1; + s_chan[ch].pCurr=s_chan[ch].pStart; // Final Fantasy 7 - don't do any of these - //s_chan[ch].pLoop = spuMemC; - //s_chan[ch].pLoop = 0; + // - sets loop address before VoiceOn //s_chan[ch].pLoop = s_chan[ch].pStart; dwNewChannel|=(1<