diff options
author | notaz | 2013-01-02 00:33:53 +0200 |
---|---|---|
committer | notaz | 2013-01-03 01:06:43 +0200 |
commit | 1d753163fcfe8f75fad07c413ebbdb8cfe448f8b (patch) | |
tree | 538880dd477cce2af819d66baf7938dec20800f4 | |
parent | 77160d47414eb2c6cb59be1ee1c2d95e2f39866e (diff) | |
download | pcsx_rearmed-1d753163fcfe8f75fad07c413ebbdb8cfe448f8b.tar.gz pcsx_rearmed-1d753163fcfe8f75fad07c413ebbdb8cfe448f8b.tar.bz2 pcsx_rearmed-1d753163fcfe8f75fad07c413ebbdb8cfe448f8b.zip |
spu: fix decode buffers
sync is still broken :(
-rw-r--r-- | plugins/dfsound/xa.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/dfsound/xa.c b/plugins/dfsound/xa.c index 1c5425e..e58bca2 100644 --- a/plugins/dfsound/xa.c +++ b/plugins/dfsound/xa.c @@ -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; } } |