X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fxa.c;h=b45aef2743631d265b47b5bb38e8c663290053fe;hp=bdea89a32a14a4bf5f1b72177a004c73dbb39767;hb=381ea10346ab85b2f2d46f33d28461211e239c0a;hpb=1775933abd26d2e282c4e0b4093778d204a0038d diff --git a/plugins/dfsound/xa.c b/plugins/dfsound/xa.c index bdea89a3..b45aef27 100644 --- a/plugins/dfsound/xa.c +++ b/plugins/dfsound/xa.c @@ -95,8 +95,8 @@ INLINE void MixXA(void) { l=*CDDAPlay++; if(CDDAPlay==CDDAEnd) CDDAPlay=CDDAStart; - SSumLR[ns++]+=(((short)(l&0xffff)) * iLeftXAVol)/32767; - SSumLR[ns++]+=(((short)((l>>16)&0xffff)) * iRightXAVol)/32767; + SSumLR[ns++]+=(((short)(l&0xffff)) * iLeftXAVol) >> 15; + SSumLR[ns++]+=(((short)((l>>16)&0xffff)) * iRightXAVol) >> 15; } } @@ -222,13 +222,11 @@ INLINE void FeedXA(xa_decode_t *xap) s=(short)LOWORD(l); l1=s; l1=(l1*iPlace)/iSize; - if(l1<-32767) l1=-32767; - if(l1> 32767) l1=32767; + ssat32_to_16(l1); s=(short)HIWORD(l); l2=s; l2=(l2*iPlace)/iSize; - if(l2<-32767) l2=-32767; - if(l2> 32767) l2=32767; + ssat32_to_16(l2); l=(l1&0xffff)|(l2<<16); *XAFeed++=l; @@ -328,8 +326,7 @@ INLINE void FeedXA(xa_decode_t *xap) } l1=(l1*iPlace)/iSize; - if(l1<-32767) l1=-32767; - if(l1> 32767) l1=32767; + ssat32_to_16(l1); l=(l1&0xffff)|(l1<<16); *XAFeed++=l;