X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fxa.c;h=bdea89a32a14a4bf5f1b72177a004c73dbb39767;hp=df60346ab7c5d53fa6ff011279ef350a39ed4aaa;hb=97ea407715c0eafc8d73ffc5477f6d7e6ad8f20b;hpb=9cf0ddbcdf4a2d72348df35695d09b36d23a2d0a diff --git a/plugins/dfsound/xa.c b/plugins/dfsound/xa.c index df60346a..bdea89a3 100644 --- a/plugins/dfsound/xa.c +++ b/plugins/dfsound/xa.c @@ -22,6 +22,8 @@ // will be included from spu.c #ifdef _IN_SPU +#define XA_HACK + //////////////////////////////////////////////////////////////////////// // XA GLOBALS //////////////////////////////////////////////////////////////////////// @@ -61,40 +63,40 @@ INLINE void MixXA(void) int ns; uint32_t l; - for(ns=0;ns>16)&0xffff)) * iRightXAVol)/32768; + SSumLR[ns++]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32768; + SSumLR[ns++]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32768; #else - SSumL[ns]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32767; - SSumR[ns]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767; + SSumLR[ns++]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32767; + SSumLR[ns++]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767; #endif } if(XAPlay==XAFeed && XARepeat) { XARepeat--; - for(;ns>16)&0xffff)) * iRightXAVol)/32768; + SSumLR[ns++]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32768; + SSumLR[ns++]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32768; #else - SSumL[ns]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32767; - SSumR[ns]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767; + SSumLR[ns++]+=(((short)(XALastVal&0xffff)) * iLeftXAVol)/32767; + SSumLR[ns++]+=(((short)((XALastVal>>16)&0xffff)) * iRightXAVol)/32767; #endif } } - for(ns=0;ns>16)&0xffff)) * iRightXAVol)/32767; + SSumLR[ns++]+=(((short)(l&0xffff)) * iLeftXAVol)/32767; + SSumLR[ns++]+=(((short)((l>>16)&0xffff)) * iRightXAVol)/32767; } } @@ -122,7 +124,7 @@ INLINE void FeedXA(xa_decode_t *xap) xapGlobal = xap; // store info for save states XARepeat = 100; // set up repeat -#ifdef XA_HACK +#if 0//def XA_HACK iSize=((45500*xap->nsamples)/xap->freq); // get size #else iSize=((44100*xap->nsamples)/xap->freq); // get size