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/spu.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'plugins/dfsound/spu.c') diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index d6d5eecd..5a0f1787 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -258,16 +258,17 @@ INLINE void StartSound(int ch) { StartADSR(ch); StartREVERB(ch); - - s_chan[ch].pCurr=s_chan[ch].pStart; // set sample start + + // fussy timing issues - do in VoiceOn + //s_chan[ch].pCurr=s_chan[ch].pStart; // set sample start + //s_chan[ch].bStop=0; + //s_chan[ch].bOn=1; s_chan[ch].s_1=0; // init mixing vars s_chan[ch].s_2=0; s_chan[ch].iSBPos=28; s_chan[ch].bNew=0; // init channel flags - s_chan[ch].bStop=0; - s_chan[ch].bOn=1; s_chan[ch].SB[29]=0; // init our interpolation helpers s_chan[ch].SB[30]=0; @@ -628,10 +629,12 @@ static void *MAINThread(void *arg) // Xenogears - 7 = play missing sounds start = s_chan[ch].pLoop; - // (?) - silence flag (voice still plays) - if( (flags&2) == 0 ) + // (?) - silence flag (voice still plays?) + if( (flags&2) == 0 ) { s_chan[ch].iSilent = 1; + s_chan[ch].iStop = 1; //start = (unsigned char *) -1; + } } #if 0 @@ -699,7 +702,7 @@ GOON: ; ////////////////////////////////////////////// // ok, left/right sound volume (psx volume goes from 0 ... 0x3fff) - if(s_chan[ch].iMute || s_chan[ch].iSilent) + if(s_chan[ch].iMute)// || s_chan[ch].iSilent) s_chan[ch].sval=0; // debug mute else { -- cgit v1.2.3