diff options
Diffstat (limited to 'Source/Plugins')
5 files changed, 20 insertions, 6 deletions
diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AX.cpp b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AX.cpp index e98fd2a41b..649655aea5 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AX.cpp +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AX.cpp @@ -404,7 +404,11 @@ void CUCode_AX::HandleMail(u32 _uMail) { m_rMailHandler.PushMail(0xDCD10001); } - else if ((_uMail & 0xFFFF0000) == 0xCDD10000) // Action 1/2/3 + else if (_uMail == 0xCDD10001) // Action 1 - new ucode upload + { + NOTICE_LOG(DSPHLE,"Game wanted to upload new ucode!"); + } + else if ((_uMail & 0xFFFF0000) == 0xCDD10000) // Action 2/3 { } else diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AXWii.cpp b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AXWii.cpp index 1621f32dfe..5b1218b9d5 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AXWii.cpp +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_AXWii.cpp @@ -73,7 +73,11 @@ void CUCode_AXWii::HandleMail(u32 _uMail) { m_rMailHandler.PushMail(0xDCD10001); } - else if ((_uMail & 0xFFFF0000) == 0xCDD10000) // Action 1/2/3 + else if (_uMail == 0xCDD10001) // Action 1 - new ucode upload + { + NOTICE_LOG(DSPHLE,"Game wanted to upload new ucode!"); + } + else if ((_uMail & 0xFFFF0000) == 0xCDD10000) // Action 2/3 { } else diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_InitAudioSystem.h b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_InitAudioSystem.h index fc9a7ce0ba..e73f3d399b 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_InitAudioSystem.h +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_InitAudioSystem.h @@ -36,7 +36,7 @@ private: u32 m_RAMAddress; u32 m_Length; u32 m_IMEMAddress; - u32 m_Unk; + u32 m_DMEMLength; u32 m_StartPC; }; diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.cpp b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.cpp index 1ea008b61a..100c805e4e 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.cpp +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.cpp @@ -68,7 +68,10 @@ void CUCode_Rom::HandleMail(u32 _uMail) break; case 0x80F3B002: - m_CurrentUCode.m_Unk = _uMail; + m_CurrentUCode.m_DMEMLength = _uMail; + if (_uMail) { + NOTICE_LOG(DSPHLE,"Game wanted to DMA sth to DSP DRAM."); + } break; case 0x80F3D001: @@ -78,6 +81,9 @@ void CUCode_Rom::HandleMail(u32 _uMail) return; // Important! BootUCode indirectly does "delete this;". Must exit immediately. } break; + + default: + break; } // THE GODDAMN OVERWRITE WAS HERE. Without the return above, since BootUCode may delete "this", well ... @@ -100,7 +106,7 @@ void CUCode_Rom::BootUCode() DEBUG_LOG(DSPHLE, "CurrentUCode SOURCE Addr: 0x%08x", m_CurrentUCode.m_RAMAddress); DEBUG_LOG(DSPHLE, "CurrentUCode Length: 0x%08x", m_CurrentUCode.m_Length); DEBUG_LOG(DSPHLE, "CurrentUCode DEST Addr: 0x%08x", m_CurrentUCode.m_IMEMAddress); - DEBUG_LOG(DSPHLE, "CurrentUCode ???: 0x%08x", m_CurrentUCode.m_Unk); + DEBUG_LOG(DSPHLE, "CurrentUCode DMEM Length: 0x%08x", m_CurrentUCode.m_DMEMLength); DEBUG_LOG(DSPHLE, "CurrentUCode init_vector: 0x%08x", m_CurrentUCode.m_StartPC); DEBUG_LOG(DSPHLE, "CurrentUCode CRC: 0x%08x", crc); DEBUG_LOG(DSPHLE, "BootTask - done"); diff --git a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.h b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.h index b3730c96db..aa0c592a5d 100644 --- a/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.h +++ b/Source/Plugins/Plugin_DSP_HLE/Src/UCodes/UCode_ROM.h @@ -35,7 +35,7 @@ private: u32 m_RAMAddress; u32 m_Length; u32 m_IMEMAddress; - u32 m_Unk; + u32 m_DMEMLength; u32 m_StartPC; }; |
