From f5e50d457119874e952b6c555209ed7b983c269f Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sat, 2 Jan 2021 18:09:59 +0000 Subject: [PATCH] SPU2: Fixes for Titeuf buzzing --- pcsx2/SPU2/ReadInput.cpp | 2 +- pcsx2/SPU2/spu2sys.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pcsx2/SPU2/ReadInput.cpp b/pcsx2/SPU2/ReadInput.cpp index 24266dc2e6..3fb6dee0bb 100644 --- a/pcsx2/SPU2/ReadInput.cpp +++ b/pcsx2/SPU2/ReadInput.cpp @@ -142,7 +142,7 @@ StereoOut32 V_Core::ReadInput() InputPosRead++; - if (((AutoDMACtrl & (Index + 1)) || AdmaInProgress) && (InputPosRead == 0x100 || InputPosRead == 0x200)) + if ((AutoDMACtrl & (Index + 1)) && (InputPosRead == 0x100 || InputPosRead == 0x200)) { AdmaInProgress = 0; if (InputDataLeft >= 0x200) diff --git a/pcsx2/SPU2/spu2sys.cpp b/pcsx2/SPU2/spu2sys.cpp index a246af9208..d80656509f 100644 --- a/pcsx2/SPU2/spu2sys.cpp +++ b/pcsx2/SPU2/spu2sys.cpp @@ -1519,6 +1519,12 @@ static void __fastcall RegWrite_Core(u16 value) return; } thiscore.AutoDMACtrl = value; + if (value == 0 && thiscore.AdmaInProgress && (thiscore.Regs.STATX & 0x400)) + { + thiscore.InputDataProgress = 0; + thiscore.ReadSize = 0; + thiscore.DMAICounter = 1; + } break; default: