SPU: Kind of revert last ADMA change. Clear as reading.

This is a temporary measure while we run some hardware tests, the previous change broke Burnout 3's engine sounds.
This commit is contained in:
refractionpcsx2 2021-11-04 20:13:18 +00:00
parent bfd960ad1b
commit 83fcd4bd1f
1 changed files with 7 additions and 1 deletions

View File

@ -111,11 +111,17 @@ StereoOut32 V_Core::ReadInput()
SetIrqCall(i);
// PlayMode & 2 is Bypass Mode, so it doesn't go through the SPU
if ((AutoDMACtrl & (Index + 1)) && !(Index == 0 && (PlayMode & 2) != 0))
if ((Index == 1) || !(Index == 0 && (PlayMode & 2) != 0))
{
retval = StereoOut32(
(s32)(*GetMemPtr(0x2000 + (Index << 10) + ReadIndex)),
(s32)(*GetMemPtr(0x2200 + (Index << 10) + ReadIndex)));
// Not accurate behaviour but shouldn't hurt for now, need to run some tests
// to see why Prince of Persia Warrior Within buzzes when going in to the map
// since it starts an ADMA of music, then kills ADMA, so it loops on a few ms of data.
GetMemPtr(0x2000 + (Index << 10) + ReadIndex)[0] = 0;
GetMemPtr(0x2200 + (Index << 10) + ReadIndex)[0] = 0;
}
#ifdef PCSX2_DEVBUILD