Re-added the ARAM DMA exception check. This fixes the audio cutting in and out of Resident Evil 2 and 3. Removed the special case for short transfers as it is no longer required.

This commit is contained in:
skidau 2014-09-07 12:50:08 +10:00
parent d09e2abb0d
commit 0f256715e0

View file

@ -532,14 +532,10 @@ void UpdateAudioDMA()
static void Do_ARAM_DMA()
{
g_dspState.DSPControl.DMAState = 1;
if (g_arDMA.Cnt.count == 32)
{
CompleteARAM(0, 0);
}
else
{
CoreTiming::ScheduleEvent_Threadsafe(0, et_CompleteARAM);
}
CoreTiming::ScheduleEvent_Threadsafe(0, et_CompleteARAM);
// Force an early exception check on large transfers. Fixes RE2 audio.
CoreTiming::ForceExceptionCheck(250);
// Real hardware DMAs in 32byte chunks, but we can get by with 8byte chunks
if (g_arDMA.Cnt.dir)