SPU: correctly read negative ADPCM initial values. fixes #1261

This commit is contained in:
Arisotura
2021-11-23 18:47:54 +01:00
parent 97e599f90f
commit c04e43702c

View File

@ -394,7 +394,7 @@ void Channel::NextSample_ADPCM()
{ {
// setup ADPCM // setup ADPCM
u32 header = FIFO_ReadData<u32>(); u32 header = FIFO_ReadData<u32>();
ADPCMVal = header & 0xFFFF; ADPCMVal = (s32)(s16)(header & 0xFFFF);
ADPCMIndex = (header >> 16) & 0x7F; ADPCMIndex = (header >> 16) & 0x7F;
if (ADPCMIndex > 88) ADPCMIndex = 88; if (ADPCMIndex > 88) ADPCMIndex = 88;