+ v = XALastVal;
+ for(ns = 0; ns < ns_to*2; )
+ {
+ if(XAPlay != XAFeed) v=*XAPlay++;
+ if(XAPlay == XAEnd) XAPlay=XAStart;
+
+ l = ((int)(short)v * iLeftXAVol) >> 15;
+ r = ((int)(short)(v >> 16) * iLeftXAVol) >> 15;
+ SSumLR[ns++] += l;
+ SSumLR[ns++] += r;
+
+ spuMem[cursor] = v;
+ spuMem[cursor + 0x400/2] = v >> 16;
+ cursor = (cursor + 1) & 0x1ff;
+ }
+ XALastVal = v;
+ }
+
+ for(ns = 0; ns < ns_to * 2 && CDDAPlay!=CDDAFeed && (CDDAPlay!=CDDAEnd-1||CDDAFeed!=CDDAStart);)