From: notaz Date: Sun, 21 Dec 2014 00:20:41 +0000 (+0200) Subject: spu: fix first sample, don't play ahead X-Git-Tag: r20~17 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bdd050c3ed792381df2e744fee5b7ee80b93fd68;p=pcsx_rearmed.git spu: fix first sample, don't play ahead --- diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 2c13ca16..835555de 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -5,7 +5,7 @@ copyright : (C) 2002 by Pete Bernert email : BlackDove@addcom.de - Portions (C) Gražvydas "notaz" Ignotas, 2010-2012 + Portions (C) Gražvydas "notaz" Ignotas, 2010-2012,2014 ***************************************************************************/ /*************************************************************************** @@ -253,14 +253,13 @@ INLINE void StartSound(int ch) s_chan[ch].SB[26]=0; // init mixing vars s_chan[ch].SB[27]=0; - s_chan[ch].iSBPos=28; + s_chan[ch].iSBPos=27; + s_chan[ch].SB[28]=0; s_chan[ch].SB[29]=0; // init our interpolation helpers s_chan[ch].SB[30]=0; - - if(spu_config.iUseInterpolation>=2) // gauss interpolation? - {s_chan[ch].spos=0x30000L;s_chan[ch].SB[28]=0;} // -> start with more decoding - else {s_chan[ch].spos=0x10000L;s_chan[ch].SB[31]=0;} // -> no/simple interpolation starts with one 44100 decoding + s_chan[ch].SB[31]=0; + s_chan[ch].spos=0; spu.dwNewChannel&=~(1<