spu: fix decode buffers
authornotaz <notasas@gmail.com>
Tue, 1 Jan 2013 22:33:53 +0000 (00:33 +0200)
committernotaz <notasas@gmail.com>
Wed, 2 Jan 2013 23:06:43 +0000 (01:06 +0200)
sync is still broken :(

plugins/dfsound/xa.c

index 1c5425e..e58bca2 100644 (file)
@@ -78,8 +78,9 @@ INLINE void MixXA(void)
     r = ((int)(short)(v >> 16) * iLeftXAVol) >> 15;
     SSumLR[ns++] += l;
     SSumLR[ns++] += r;
-    spuMem[cursor] = l;
-    spuMem[cursor + 0x400/2] = r;
+
+    spuMem[cursor] = v;
+    spuMem[cursor + 0x400/2] = v >> 16;
     cursor = (cursor + 1) & 0x1ff;
    }
   XALastVal = v;
@@ -94,8 +95,9 @@ INLINE void MixXA(void)
    r = ((int)(short)(v >> 16) * iLeftXAVol) >> 15;
    SSumLR[ns++] += l;
    SSumLR[ns++] += r;
-   spuMem[cursor] = l;
-   spuMem[cursor + 0x400/2] = r;
+
+   spuMem[cursor] = v;
+   spuMem[cursor + 0x400/2] = v >> 16;
    cursor = (cursor + 1) & 0x1ff;
   }
 }