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:
sl1nk3.s 2009-08-26 16:58:45 +00:00
parent 044ff1077e
commit 5ce5219e2c
8 changed files with 8 additions and 9 deletions

View File

@ -809,7 +809,7 @@ void Callback_KeyPress(int key, bool shift, bool control)
if (key == 0x7a)
State_LoadLastSaved();
// 0x7a == VK_F12
// 0x7b == VK_F12
if (key == 0x7b)
{
if(shift)

View File

@ -44,7 +44,6 @@ void SCoreStartupParameter::LoadDefaults()
bDSPThread = true;
bLockThreads = true;
bEnableFPRF = false;
bAccurateFCMP = false;
bWii = false;
SelectedLanguage = 0;
iTLBHack = 0;

View File

@ -58,7 +58,6 @@ struct SCoreStartupParameter
bool bJITProfiledReJIT;
bool bEnableFPRF;
bool bAccurateFCMP;
bool bUseDualCore;
bool bDSPThread;

View File

@ -210,7 +210,7 @@ void Jit64::Init()
jo.enableFastMem = false;
#endif
jo.assumeFPLoadFromMem = true;
jo.fpAccurateFcmp = Core::GetStartupParameter().bEnableFPRF || Core::GetStartupParameter().bAccurateFCMP;
jo.fpAccurateFcmp = true; // Fallback to Interpreter
jo.optimizeGatherPipe = true;
jo.fastInterrupts = false;
jo.accurateSinglePrecision = true;
@ -466,7 +466,7 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buffer, JitB
if (ImHereDebug)
ABI_CallFunction((void *)&ImHere); //Used to get a trace of the last few blocks before a crash, sometimes VERY useful
if (js.fpa.any)
{
//This block uses FPU - needs to add FP exception bailout

View File

@ -208,7 +208,8 @@ void Jit64::fmrx(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;
if(Core::g_CoreStartupParameter.bJITOff || jo.fpAccurateFcmp
|| Core::g_CoreStartupParameter.bJITFloatingPointOff) {

View File

@ -132,7 +132,6 @@ bool BootCore(const std::string& _rFilename)
ini->Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
ini->Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
ini->Get("Core", "EnableFPRF", &StartUp.bEnableFPRF, StartUp.bEnableFPRF);
ini->Get("Core", "AccurateFCMP", &StartUp.bAccurateFCMP, StartUp.bAccurateFCMP);
ini->Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
// ------------------------------------------------

View File

@ -333,7 +333,8 @@ void CUCode_Zelda::HandleMail_NormalVersion(u32 _uMail)
if (m_CurBuffer == m_NumBuffers)
{
m_rMailHandler.PushMail(DSP_FRAME_END);
if (!IsDMAVersion())
m_rMailHandler.PushMail(DSP_FRAME_END);
//g_dspInitialize.pGenerateDSPInterrupt();
soundStream->GetMixer()->SetHLEReady(true);

View File

@ -186,7 +186,7 @@ private:
{
case 0xb7eb9a9c: // Wii Pikmin - PAL
case 0xeaeb38cc: // Wii Pikmin 2 - PAL
case 0x6c3f6f94: // zelda - PAL
case 0x6c3f6f94: // Wii Zelda TP - PAL
case 0xD643001F: // Super Mario Galaxy
return true;
default: