summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2009-07-12 12:22:39 +0000
committerhrydgard <hrydgard@gmail.com>2009-07-12 12:22:39 +0000
commit304b34a451a98703a27558f123b874ca25dbc031 (patch)
tree15ac758440f3549ec026f007973f22591a398afd /Source/Core
parentb363b2ddc8a3731312a282569a3259dac10507d6 (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.cpp39
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);