diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.cpp b/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.cpp index 34c2308468..5a42aa117e 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.cpp +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.cpp @@ -26,19 +26,6 @@ constexpr u32 MAIL_GET_PB_ADDRESS = MAIL_PREFIX | 0x0080; constexpr u32 MAIL_SEND_SAMPLES = MAIL_PREFIX | 0x0100; constexpr u32 MAIL_TERMINATE = MAIL_PREFIX | 0xdead; -// June 5, 2010 version (padded to 0x03e0 bytes) - initial release -// First included with libogc 1.8.4 on October 3, 2010: https://devkitpro.org/viewtopic.php?t=2249 -// https://github.com/devkitPro/libogc/blob/b5fdbdb069c45584aa4dfd950a136a8db9b1144c/libaesnd/dspcode/dspmixer.s -constexpr u32 HASH_2010 = 0x008366af; -// April 11, 2012 version (padded to 0x03e0 bytes) - swapped input channels -// First included with libogc 1.8.11 on April 22, 2012: https://devkitpro.org/viewtopic.php?t=3094 -// https://github.com/devkitPro/libogc/commit/8f188e12b6a3d8b5a0d49a109fe6a3e4e1702aab -constexpr u32 HASH_2012 = 0x078066ab; -// June 14, 2020 version (0x03e6 bytes) - added unsigned formats -// First included with libogc 2.1.0 on June 15, 2020: https://devkitpro.org/viewtopic.php?t=9079 -// https://github.com/devkitPro/libogc/commit/eac8fe2c29aa790d552dd6166a1fb195dfdcb825 -constexpr u32 HASH_2020 = 0x84c680a9; - constexpr u32 VOICE_MONO8 = 0x00000000; constexpr u32 VOICE_STEREO8 = 0x00000001; constexpr u32 VOICE_MONO16 = 0x00000002; diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.h b/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.h index a13046be94..c3e0d238bb 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.h +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AESnd.h @@ -23,6 +23,19 @@ public: void Update() override; void DoState(PointerWrap& p) override; + // June 5, 2010 version (padded to 0x03e0 bytes) - initial release + // First included with libogc 1.8.4 on October 3, 2010: https://devkitpro.org/viewtopic.php?t=2249 + // https://github.com/devkitPro/libogc/blob/b5fdbdb069c45584aa4dfd950a136a8db9b1144c/libaesnd/dspcode/dspmixer.s + static constexpr u32 HASH_2010 = 0x008366af; + // April 11, 2012 version (padded to 0x03e0 bytes) - swapped input channels + // First included with libogc 1.8.11 on April 22, 2012: https://devkitpro.org/viewtopic.php?t=3094 + // https://github.com/devkitPro/libogc/commit/8f188e12b6a3d8b5a0d49a109fe6a3e4e1702aab + static constexpr u32 HASH_2012 = 0x078066ab; + // June 14, 2020 version (0x03e6 bytes) - added unsigned formats + // First included with libogc 2.1.0 on June 15, 2020: https://devkitpro.org/viewtopic.php?t=9079 + // https://github.com/devkitPro/libogc/commit/eac8fe2c29aa790d552dd6166a1fb195dfdcb825 + static constexpr u32 HASH_2020 = 0x84c680a9; + private: void DMAInParameterBlock(); void DMAOutParameterBlock(); diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp b/Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp index 8b40debbee..9e33aff804 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp +++ b/Source/Core/Core/HW/DSPHLE/UCodes/UCodes.cpp @@ -291,9 +291,9 @@ std::unique_ptr UCodeFactory(u32 crc, DSPHLE* dsphle, bool wii) INFO_LOG_FMT(DSPHLE, "CRC {:08x}: ASnd chosen (Homebrew)", crc); return std::make_unique(dsphle, crc); - case 0x008366af: - case 0x078066ab: - case 0x84c680a9: + case AESndUCode::HASH_2010: + case AESndUCode::HASH_2012: + case AESndUCode::HASH_2020: INFO_LOG_FMT(DSPHLE, "CRC {:08x}: AESnd chosen (Homebrew)", crc); return std::make_unique(dsphle, crc);