dsphle - fix for 7686

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7687 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Marko Pusljar 2011-07-27 23:17:45 +00:00
parent b12631f94c
commit 81807e3f2c
3 changed files with 9 additions and 11 deletions

View File

@ -27,17 +27,16 @@
#include "UCode_AX.h"
#include "UCode_AX_Voice.h"
CUCode_AX::CUCode_AX(DSPHLE *dsp_hle)
CUCode_AX::CUCode_AX(DSPHLE *dsp_hle, u32 l_CRC)
: IUCode(dsp_hle)
, m_addressPBs(0xFFFFFFFF)
, _CRC(l_CRC)
{
// we got loaded
m_rMailHandler.PushMail(DSP_INIT);
templbuffer = new int[1024 * 1024];
temprbuffer = new int[1024 * 1024];
mptHack = _CRC == 0x3389a79e;
}
CUCode_AX::~CUCode_AX()
@ -174,11 +173,11 @@ void CUCode_AX::MixAdd(short* _pBuffer, int _iSize)
if (!ReadPB(blockAddr, PB))
break;
if (!mptHack)
{
ProcessUpdates(PB);
ProcessUpdates(PB);
if (_CRC != 0x3389a79e)
VoiceHacks(PB);
}
MixAddVoice(PB, templbuffer, temprbuffer, _iSize);
if (!WritePB(blockAddr, PB))

View File

@ -29,7 +29,7 @@ enum
class CUCode_AX : public IUCode
{
public:
CUCode_AX(DSPHLE *dsp_hle);
CUCode_AX(DSPHLE *dsp_hle, u32 _CRC);
virtual ~CUCode_AX();
void HandleMail(u32 _uMail);
@ -42,7 +42,6 @@ public:
u32 PBaddr[8]; //2 needed for MP2
u32 m_addressPBs;
u32 _CRC;
bool mptHack;
private:
enum

View File

@ -57,7 +57,7 @@ IUCode* UCodeFactory(u32 _CRC, DSPHLE *dsp_hle, bool bWii)
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);
return new CUCode_AX(dsp_hle);
return new CUCode_AX(dsp_hle, _CRC);
case 0x6ba3b3ea: // IPL - PAL
case 0x24b22038: // IPL - NTSC/NTSC-JAP
@ -101,7 +101,7 @@ IUCode* UCodeFactory(u32 _CRC, DSPHLE *dsp_hle, bool bWii)
else
{
PanicAlert("DSPHLE: Unknown ucode (CRC = %08x) - forcing AX.\n\nTry LLE emulator if this is homebrew.", _CRC);
return new CUCode_AX(dsp_hle);
return new CUCode_AX(dsp_hle, _CRC);
}
}