diff --git a/plugins/spu2-x/src/Dma.cpp b/plugins/spu2-x/src/Dma.cpp index eb8b8ec4db..7dee0fc171 100644 --- a/plugins/spu2-x/src/Dma.cpp +++ b/plugins/spu2-x/src/Dma.cpp @@ -521,7 +521,10 @@ s32 V_Core::NewDmaWrite(u32* data, u32 bytesLeft, u32* bytesProcessed) } if( IsDevBuild ) + { DebugCores[Index].lastsize = bytesLeft; + DebugCores[Index].dmaFlag = 1; + } TSA &= ~7; @@ -530,7 +533,6 @@ s32 V_Core::NewDmaWrite(u32* data, u32 bytesLeft, u32* bytesProcessed) if(adma_enable) { TSA&=0x1fff; - //Console.Error("* SPU2-X: AutoDMA transfers not supported yet! (core %d)\n", Index); if(MsgAutoDMA() && DmaStarting) ConLog("* SPU2-X: DMA%c AutoDMA Transfer of %d bytes to %x (%02x %x %04x).\n", GetDmaIndexChar(), bytesLeft<<1, TSA, DMABits, AutoDMACtrl, (~Regs.ATTR)&0x7fff); diff --git a/plugins/spu2-x/src/Mixer.cpp b/plugins/spu2-x/src/Mixer.cpp index 1406e6d97d..2a4a16c79d 100644 --- a/plugins/spu2-x/src/Mixer.cpp +++ b/plugins/spu2-x/src/Mixer.cpp @@ -85,13 +85,13 @@ static void __forceinline XA_decode_block(s16* buffer, const s16* block, s32& pr for(; blockbytes<=blockend; ++blockbytes) { s32 data = ((*blockbytes)<<28) & 0xF0000000; - s32 pcm = (data >> shift) + (((pred1*prev1)+(pred2*prev2)) >> 6); + s32 pcm = (data >> shift) + (((pred1*prev1)+(pred2*prev2)+32) >> 6); Clampify( pcm, -0x8000, 0x7fff ); *(buffer++) = pcm; data = ((*blockbytes)<<24) & 0xF0000000; - s32 pcm2 = (data >> shift) + (((pred1*pcm)+(pred2*prev1)) >> 6); + s32 pcm2 = (data >> shift) + (((pred1*pcm)+(pred2*prev1)+32) >> 6); Clampify( pcm2, -0x8000, 0x7fff ); *(buffer++) = pcm2;