From a679766740ac7ddffffdf565efa07fa6e9fdb2a3 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sat, 2 Jan 2021 21:27:09 +0000 Subject: [PATCH] Counters: Adjust SPU async rate Back to original value, however modified how the next SPU2 sync value is applied --- pcsx2/IopCounters.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcsx2/IopCounters.cpp b/pcsx2/IopCounters.cpp index a5f782213a..7d463433de 100644 --- a/pcsx2/IopCounters.cpp +++ b/pcsx2/IopCounters.cpp @@ -146,7 +146,7 @@ void psxRcntInit() psxCounters[4].interrupt = 0x08000; psxCounters[5].interrupt = 0x10000; - psxCounters[6].rate = 768; // One SPU tick + psxCounters[6].rate = 768 * 12; // 12 SPU ticks. 768 would be ideal but some games slow down internally for some reason psxCounters[6].CycleT = psxCounters[6].rate; psxCounters[6].mode = 0x8; @@ -509,6 +509,7 @@ void psxRcntUpdate() psxCounters[6].sCycleT = psxRegs.cycle; psxCounters[6].CycleT = psxCounters[6].rate; SPU2async(difference); + c = psxCounters[6].CycleT; } else c -= difference;