Don't reset all of ARAM when DSPReset is sent. Fixes issue 3594

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6647 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2010-12-22 17:32:17 +00:00
parent 547c18fb55
commit e059587c1a
1 changed files with 5 additions and 4 deletions

View File

@ -387,11 +387,12 @@ void Write16(const u16 _Value, const u32 _Address)
tmpControl.Hex = (_Value & ~DSP_CONTROL_MASK) | tmpControl.Hex = (_Value & ~DSP_CONTROL_MASK) |
(dsp_plugin->DSP_WriteControlRegister(_Value) & DSP_CONTROL_MASK); (dsp_plugin->DSP_WriteControlRegister(_Value) & DSP_CONTROL_MASK);
// HACK for DSPReset: do it instantaneously // Not really sure if this is correct, but it works...
if (_Value & 1) // Kind of a hack because DSP_CONTROL_MASK should make this bit
// only viewable to dsp plugin
if (_Value & 1 /*DSPReset*/)
{ {
Shutdown(); g_audioDMA.AudioDMAControl.Hex = 0;
Init();
} }
// Update DSP related flags // Update DSP related flags