Skip to content

Commit

Permalink
Changed the maximum slice length to 1000 from 20000. This makes the e…
Browse files Browse the repository at this point in the history
…mulator check external exceptions more regularly. Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE.

Triggered the ARAM interrupt by the scheduler instead of directly in function.  Fixes a hang in Mario Super Baseball.

Fixes issue 5825.
Fixes issue 5096.
  • Loading branch information
skidau committed Mar 1, 2013
1 parent 73da6f4 commit 4c6bbec
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/CoreTiming.cpp
Expand Up @@ -24,7 +24,7 @@
#include "StringUtil.h"
#include "VideoBackendBase.h"

#define MAX_SLICE_LENGTH 20000
#define MAX_SLICE_LENGTH 1000

namespace CoreTiming
{
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/HW/DSP.cpp
Expand Up @@ -698,7 +698,7 @@ void Do_ARAM_DMA()
if (!GetDSPEmulator()->IsLLE())
g_dspState.DSPControl.DMAState = 1;

GenerateDSPInterrupt(INT_ARAM, true);
CoreTiming::ScheduleEvent_Threadsafe(0, et_GenerateDSPInterrupt, INT_ARAM | (1<<16));

// Real hardware DMAs in 32byte chunks, but we can get by with 8byte chunks
if (g_arDMA.Cnt.dir)
Expand Down

0 comments on commit 4c6bbec

Please sign in to comment.