diff options
| author | hrydgard <hrydgard@gmail.com> | 2009-07-12 12:22:39 +0000 |
|---|---|---|
| committer | hrydgard <hrydgard@gmail.com> | 2009-07-12 12:22:39 +0000 |
| commit | 304b34a451a98703a27558f123b874ca25dbc031 (patch) | |
| tree | 15ac758440f3549ec026f007973f22591a398afd /Source/Core | |
| parent | b363b2ddc8a3731312a282569a3259dac10507d6 (diff) | |
DSPHLE: Some code reorg, now looks more like the ucode. DSPLLE: Rename a file.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3763 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Src/HW/DSP.cpp | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp index eb58104202..7cdb1fa27a 100644 --- a/Source/Core/Core/Src/HW/DSP.cpp +++ b/Source/Core/Core/Src/HW/DSP.cpp @@ -231,49 +231,44 @@ void Shutdown() void Read16(u16& _uReturnValue, const u32 _iAddress) { // WTF is this check about? DSP is at 5000 TODO remove - if ((_iAddress & 0x6C00) != 0x6c00) + if ((_iAddress & 0x6C00) != 0x6c00) { - if (_iAddress != 0xCC005004) - { - DEBUG_LOG(DSPINTERFACE, "DSPInterface(r16) 0x%08x", _iAddress); - } switch (_iAddress & 0xFFFF) { - // AI_REGS 0x5000+ case DSP_MAIL_TO_DSP_HI: _uReturnValue = dsp_plugin->DSP_ReadMailboxHigh(true); - return; + break; case DSP_MAIL_TO_DSP_LO: _uReturnValue = dsp_plugin->DSP_ReadMailboxLow(true); - return; + break; case DSP_MAIL_FROM_DSP_HI: _uReturnValue = dsp_plugin->DSP_ReadMailboxHigh(false); - return; + break; case DSP_MAIL_FROM_DSP_LO: _uReturnValue = dsp_plugin->DSP_ReadMailboxLow(false); - return; + break; case DSP_CONTROL: _uReturnValue = (g_dspState.DSPControl.Hex & ~DSP_CONTROL_MASK) | (dsp_plugin->DSP_ReadControlRegister() & DSP_CONTROL_MASK); - return; + break; // AR_REGS 0x501x+ case 0x5012: _uReturnValue = g_AR_MODE; - return; + break; case 0x5016: // ready flag? _uReturnValue = g_AR_READY_FLAG; - return; + break; case 0x501a: _uReturnValue = 0x000; - return; + break; case AR_DMA_MMADDR_H: _uReturnValue = g_arDMA.MMAddr >> 16; return; case AR_DMA_MMADDR_L: _uReturnValue = g_arDMA.MMAddr & 0xFFFF; return; @@ -287,24 +282,29 @@ void Read16(u16& _uReturnValue, const u32 _iAddress) // Hmm. Would be stupid to ask for bytes left. Assume it wants // blocks left. _uReturnValue = g_audioDMA.BlocksLeft; - return; + break; case AUDIO_DMA_START_LO: _uReturnValue = g_audioDMA.SourceAddress & 0xFFFF; - return; + break; case AUDIO_DMA_START_HI: _uReturnValue = g_audioDMA.SourceAddress >> 16; - return; + break; case AUDIO_DMA_CONTROL_LEN: _uReturnValue = g_audioDMA.AudioDMAControl.Hex; - return; + break; default: _dbg_assert_(DSPINTERFACE,0); break; } + if (_iAddress != 0xCC005004) + { + DEBUG_LOG(DSPINTERFACE, "DSPInterface(r16) 0x%08x (%02x) (%08x)", _iAddress, _uReturnValue, PowerPC::ppcState.pc); + } + return; } else { @@ -317,9 +317,8 @@ void Write16(const u16 _Value, const u32 _Address) { DEBUG_LOG(DSPINTERFACE, "DSPInterface(w16) 0x%04x 0x%08x", _Value, _Address); - switch(_Address & 0xFFFF) + switch (_Address & 0xFFFF) { - // DSP Regs 0x5000+ case DSP_MAIL_TO_DSP_HI: dsp_plugin->DSP_WriteMailboxHigh(true, _Value); |
