summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMarko Pusljar <LM1234@gmail.com>2011-04-17 16:44:42 +0000
committerMarko Pusljar <LM1234@gmail.com>2011-04-17 16:44:42 +0000
commit7f745d67cec8b445c8e29308c8a5e094430d4505 (patch)
tree3d37dc271a8aa1301508d239346e776bc686bfb9 /Source
parent3983a8d22f5a442a480a71da4626447c0b8bd24d (diff)
small fix for previous commit (prevents startup crash, if GC game was started after WII game)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7469 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/Src/HW/DSP.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp
index 41f371cee2..1ffd1f96ad 100644
--- a/Source/Core/Core/Src/HW/DSP.cpp
+++ b/Source/Core/Core/Src/HW/DSP.cpp
@@ -274,7 +274,8 @@ void Init(bool hle)
g_ARAM.ptr = (u8 *)AllocateMemoryPages(g_ARAM.size);
}
- g_audioDMA.AudioDMAControl.Hex = 0;
+ memset(&g_audioDMA, 0, sizeof(g_audioDMA));
+ memset(&g_arDMA, 0, sizeof(g_arDMA));
g_dspState.DSPControl.Hex = 0;
g_dspState.DSPControl.DSPHalt = 1;
@@ -682,8 +683,7 @@ void Do_ARAM_DMA()
{
// Fake the DMA taking time to complete. The delay is not accurate, but
// seems like a good estimate
- CoreTiming::ScheduleEvent_Threadsafe(
- g_arDMA.Cnt.count >> 1, et_GenerateDSPInterrupt, INT_ARAM | (1<<16));
+ //CoreTiming::ScheduleEvent_Threadsafe(g_arDMA.Cnt.count >> 1, 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)
@@ -720,6 +720,7 @@ void Do_ARAM_DMA()
g_arDMA.Cnt.count -= 8;
}
}
+ GenerateDSPInterrupt(INT_ARAM);
}