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:
parent
b12631f94c
commit
81807e3f2c
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue