From a8aeeb5a6afc451c6aaf3d990c895b448b641078 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sun, 3 Jan 2021 12:51:58 +0000 Subject: [PATCH] SPU2: Change how ADMA gets cancelled, IOP handles cancelling DMA Fixes Raw Danger --- pcsx2/SPU2/spu2sys.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcsx2/SPU2/spu2sys.cpp b/pcsx2/SPU2/spu2sys.cpp index d80656509f177..5e633c2eaae71 100644 --- a/pcsx2/SPU2/spu2sys.cpp +++ b/pcsx2/SPU2/spu2sys.cpp @@ -1522,8 +1522,8 @@ static void __fastcall RegWrite_Core(u16 value) if (value == 0 && thiscore.AdmaInProgress && (thiscore.Regs.STATX & 0x400)) { thiscore.InputDataProgress = 0; - thiscore.ReadSize = 0; - thiscore.DMAICounter = 1; + thiscore.Regs.STATX &= ~0x400; // Set DMA as not busy transferring + // No need to end the DMA here, the IOP seems to handle that } break;