Fix Zelda TP Wii and Pikmin 1 Wii sound Thanks to LordMark ! (again :P)
Set fpAccurateFcmp to true and revert ini setting, this causes random issues in various games... and it's too hacky. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4067 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
044ff1077e
commit
5ce5219e2c
|
@ -809,7 +809,7 @@ void Callback_KeyPress(int key, bool shift, bool control)
|
||||||
if (key == 0x7a)
|
if (key == 0x7a)
|
||||||
State_LoadLastSaved();
|
State_LoadLastSaved();
|
||||||
|
|
||||||
// 0x7a == VK_F12
|
// 0x7b == VK_F12
|
||||||
if (key == 0x7b)
|
if (key == 0x7b)
|
||||||
{
|
{
|
||||||
if(shift)
|
if(shift)
|
||||||
|
|
|
@ -44,7 +44,6 @@ void SCoreStartupParameter::LoadDefaults()
|
||||||
bDSPThread = true;
|
bDSPThread = true;
|
||||||
bLockThreads = true;
|
bLockThreads = true;
|
||||||
bEnableFPRF = false;
|
bEnableFPRF = false;
|
||||||
bAccurateFCMP = false;
|
|
||||||
bWii = false;
|
bWii = false;
|
||||||
SelectedLanguage = 0;
|
SelectedLanguage = 0;
|
||||||
iTLBHack = 0;
|
iTLBHack = 0;
|
||||||
|
|
|
@ -58,7 +58,6 @@ struct SCoreStartupParameter
|
||||||
bool bJITProfiledReJIT;
|
bool bJITProfiledReJIT;
|
||||||
|
|
||||||
bool bEnableFPRF;
|
bool bEnableFPRF;
|
||||||
bool bAccurateFCMP;
|
|
||||||
|
|
||||||
bool bUseDualCore;
|
bool bUseDualCore;
|
||||||
bool bDSPThread;
|
bool bDSPThread;
|
||||||
|
|
|
@ -210,7 +210,7 @@ void Jit64::Init()
|
||||||
jo.enableFastMem = false;
|
jo.enableFastMem = false;
|
||||||
#endif
|
#endif
|
||||||
jo.assumeFPLoadFromMem = true;
|
jo.assumeFPLoadFromMem = true;
|
||||||
jo.fpAccurateFcmp = Core::GetStartupParameter().bEnableFPRF || Core::GetStartupParameter().bAccurateFCMP;
|
jo.fpAccurateFcmp = true; // Fallback to Interpreter
|
||||||
jo.optimizeGatherPipe = true;
|
jo.optimizeGatherPipe = true;
|
||||||
jo.fastInterrupts = false;
|
jo.fastInterrupts = false;
|
||||||
jo.accurateSinglePrecision = true;
|
jo.accurateSinglePrecision = true;
|
||||||
|
|
|
@ -208,7 +208,8 @@ void Jit64::fmrx(UGeckoInstruction inst)
|
||||||
|
|
||||||
void Jit64::fcmpx(UGeckoInstruction inst)
|
void Jit64::fcmpx(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
// TODO : this causes crashes in Nights, and broken graphics in Paper Mario, Super Paper Mario
|
// TODO : This still causes crashes in Nights, and broken graphics
|
||||||
|
// in Paper Mario, Super Paper Mario as well as SoulCalibur 2 prolly others too.. :(
|
||||||
INSTRUCTION_START;
|
INSTRUCTION_START;
|
||||||
if(Core::g_CoreStartupParameter.bJITOff || jo.fpAccurateFcmp
|
if(Core::g_CoreStartupParameter.bJITOff || jo.fpAccurateFcmp
|
||||||
|| Core::g_CoreStartupParameter.bJITFloatingPointOff) {
|
|| Core::g_CoreStartupParameter.bJITFloatingPointOff) {
|
||||||
|
|
|
@ -132,7 +132,6 @@ bool BootCore(const std::string& _rFilename)
|
||||||
ini->Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
ini->Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
||||||
ini->Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
ini->Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
||||||
ini->Get("Core", "EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
|
ini->Get("Core", "EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
|
||||||
ini->Get("Core", "AccurateFCMP", &StartUp.bAccurateFCMP, StartUp.bAccurateFCMP);
|
|
||||||
ini->Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
ini->Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
||||||
|
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
|
|
|
@ -333,6 +333,7 @@ void CUCode_Zelda::HandleMail_NormalVersion(u32 _uMail)
|
||||||
|
|
||||||
if (m_CurBuffer == m_NumBuffers)
|
if (m_CurBuffer == m_NumBuffers)
|
||||||
{
|
{
|
||||||
|
if (!IsDMAVersion())
|
||||||
m_rMailHandler.PushMail(DSP_FRAME_END);
|
m_rMailHandler.PushMail(DSP_FRAME_END);
|
||||||
//g_dspInitialize.pGenerateDSPInterrupt();
|
//g_dspInitialize.pGenerateDSPInterrupt();
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ private:
|
||||||
{
|
{
|
||||||
case 0xb7eb9a9c: // Wii Pikmin - PAL
|
case 0xb7eb9a9c: // Wii Pikmin - PAL
|
||||||
case 0xeaeb38cc: // Wii Pikmin 2 - PAL
|
case 0xeaeb38cc: // Wii Pikmin 2 - PAL
|
||||||
case 0x6c3f6f94: // zelda - PAL
|
case 0x6c3f6f94: // Wii Zelda TP - PAL
|
||||||
case 0xD643001F: // Super Mario Galaxy
|
case 0xD643001F: // Super Mario Galaxy
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue