Skip to content

Commit

Permalink
SPU: Kind of revert last ADMA change. Clear as reading.
Browse files Browse the repository at this point in the history
This is a temporary measure while we run some hardware tests, the previous change broke Burnout 3's engine sounds.
  • Loading branch information
refractionpcsx2 committed Nov 4, 2021
1 parent bfd960a commit 83fcd4b
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion pcsx2/SPU2/ReadInput.cpp
Expand Up @@ -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
Expand Down

0 comments on commit 83fcd4b

Please sign in to comment.