dsphle - Added ucode used by MP1/MP2 (Metroid Prime Trilogy). Audio is not perfect + you need to

replace DOLs to start those games.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7686 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Marko Pusljar 2011-07-27 19:10:49 +00:00
parent fc261b32bf
commit b12631f94c
3 changed files with 9 additions and 2 deletions

View File

@ -36,6 +36,8 @@ CUCode_AX::CUCode_AX(DSPHLE *dsp_hle)
templbuffer = new int[1024 * 1024]; templbuffer = new int[1024 * 1024];
temprbuffer = new int[1024 * 1024]; temprbuffer = new int[1024 * 1024];
mptHack = _CRC == 0x3389a79e;
} }
CUCode_AX::~CUCode_AX() CUCode_AX::~CUCode_AX()
@ -172,8 +174,11 @@ void CUCode_AX::MixAdd(short* _pBuffer, int _iSize)
if (!ReadPB(blockAddr, PB)) if (!ReadPB(blockAddr, PB))
break; break;
if (!mptHack)
{
ProcessUpdates(PB); ProcessUpdates(PB);
VoiceHacks(PB); VoiceHacks(PB);
}
MixAddVoice(PB, templbuffer, temprbuffer, _iSize); MixAddVoice(PB, templbuffer, temprbuffer, _iSize);
if (!WritePB(blockAddr, PB)) if (!WritePB(blockAddr, PB))

View File

@ -42,6 +42,7 @@ public:
u32 PBaddr[8]; //2 needed for MP2 u32 PBaddr[8]; //2 needed for MP2
u32 m_addressPBs; u32 m_addressPBs;
u32 _CRC; u32 _CRC;
bool mptHack;
private: private:
enum enum

View File

@ -55,6 +55,7 @@ IUCode* UCodeFactory(u32 _CRC, DSPHLE *dsp_hle, bool bWii)
case 0x07f88145: // bustamove, ikaruga, fzero, robotech battle cry, star soldier, soul calibur2, case 0x07f88145: // bustamove, ikaruga, fzero, robotech battle cry, star soldier, soul calibur2,
// Zelda:OOT, Tony hawk, viewtiful joe // Zelda:OOT, Tony hawk, viewtiful joe
case 0xe2136399: // billy hatcher, dragonballz, mario party 5, TMNT, ava1080 case 0xe2136399: // billy hatcher, dragonballz, mario party 5, TMNT, ava1080
case 0x3389a79e: // MP1/MP2 Wii (Metroid Prime Trilogy)
INFO_LOG(DSPHLE, "CRC %08x: AX ucode chosen", _CRC); INFO_LOG(DSPHLE, "CRC %08x: AX ucode chosen", _CRC);
return new CUCode_AX(dsp_hle); return new CUCode_AX(dsp_hle);