mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-26 15:49:50 -06:00
Properly set the DMAState flag while ARAM DMA transfers are underway.
Fixes issue 6118.
This commit is contained in:
@ -693,14 +693,8 @@ void UpdateAudioDMA()
|
|||||||
|
|
||||||
void Do_ARAM_DMA()
|
void Do_ARAM_DMA()
|
||||||
{
|
{
|
||||||
// Emulating the DMA wait time fixes Knockout Kings 2003 in DSP HLE mode
|
g_dspState.DSPControl.DMAState = 1;
|
||||||
if (!GetDSPEmulator()->IsLLE())
|
CoreTiming::ScheduleEvent_Threadsafe(0, et_GenerateDSPInterrupt, INT_ARAM | (1<<16));
|
||||||
g_dspState.DSPControl.DMAState = 1;
|
|
||||||
|
|
||||||
if (g_arDMA.Cnt.dir || g_arDMA.Cnt.count > 10240)
|
|
||||||
CoreTiming::ScheduleEvent_Threadsafe(0, et_GenerateDSPInterrupt, INT_ARAM | (1<<16));
|
|
||||||
else
|
|
||||||
GenerateDSPInterrupt(INT_ARAM);
|
|
||||||
|
|
||||||
// Real hardware DMAs in 32byte chunks, but we can get by with 8byte chunks
|
// Real hardware DMAs in 32byte chunks, but we can get by with 8byte chunks
|
||||||
if (g_arDMA.Cnt.dir)
|
if (g_arDMA.Cnt.dir)
|
||||||
|
Reference in New Issue
Block a user