Fix issue 1523, disable x64 path on Jit64::lXz causing issue 615, and revert the FPU change from r4441, as it's causing weird issues in SSBM

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4522 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
sl1nk3.s 2009-11-08 23:12:35 +00:00
parent 1c95100eb1
commit 07408d7625
4 changed files with 17 additions and 15 deletions

View file

@ -88,11 +88,9 @@ inline double ForceSingle(double _x)
if (FPSCR.NI) if (FPSCR.NI)
_x = FlushToZeroAsFloat(_x); _x = FlushToZeroAsFloat(_x);
IntDouble single; double x = static_cast<float>(_x);
single.d = _x;
single.i &= 0xFFFFFFFFE0000000ULL;
return single.d; return x;
} }
inline double ForceDouble(double d) inline double ForceDouble(double d)

View file

@ -193,7 +193,7 @@ void Jit64::lXz(UGeckoInstruction inst)
} }
//Still here? Do regular path. //Still here? Do regular path.
#if defined(_M_X64) #if defined(_M_X64) && 0 // This is disabled, it's unaccurate
if (accessSize == 8 || accessSize == 16 || !jo.enableFastMem) { if (accessSize == 8 || accessSize == 16 || !jo.enableFastMem) {
#else #else
if (true) { if (true) {
@ -210,7 +210,7 @@ void Jit64::lXz(UGeckoInstruction inst)
return; return;
} }
// Fast and daring // Fast and daring/failing
gpr.Lock(a, d); gpr.Lock(a, d);
gpr.LoadToX64(a, true, false); gpr.LoadToX64(a, true, false);
gpr.LoadToX64(d, a == d, true); gpr.LoadToX64(d, a == d, true);

View file

@ -53,17 +53,21 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
} }
wxBoxSizer* sEditCheat = new wxBoxSizer(wxVERTICAL); wxBoxSizer* sEditCheat = new wxBoxSizer(wxVERTICAL);
wxBoxSizer* sEditCheatButtons = new wxBoxSizer(wxHORIZONTAL);
wxStaticBoxSizer* sbEntry = new wxStaticBoxSizer(wxVERTICAL, this, _("Cheat Code")); wxStaticBoxSizer* sbEntry = new wxStaticBoxSizer(wxVERTICAL, this, _("Cheat Code"));
wxGridBagSizer* sgEntry = new wxGridBagSizer(0, 0);
wxStaticText* EditCheatNameText = new wxStaticText(this, ID_EDITCHEAT_NAME_TEXT, _("Name:"), wxDefaultPosition, wxDefaultSize); wxStaticText* EditCheatNameText = new wxStaticText(this, ID_EDITCHEAT_NAME_TEXT, _("Name:"), wxDefaultPosition, wxDefaultSize);
EditCheatName = new wxTextCtrl(this, ID_EDITCHEAT_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); EditCheatName = new wxTextCtrl(this, ID_EDITCHEAT_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
EditCheatName->SetValue(currentName); EditCheatName->SetValue(currentName);
EntrySelection = new wxSpinButton(this, ID_ENTRY_SELECT, wxDefaultPosition, wxDefaultSize, wxVERTICAL); EntrySelection = new wxSpinButton(this, ID_ENTRY_SELECT, wxDefaultPosition, wxDefaultSize, wxVERTICAL);
EntrySelection->SetRange(1, ((int)arCodes.size()) > 0 ? (int)arCodes.size() : 1); EntrySelection->SetRange(1, ((int)arCodes.size()) > 0 ? (int)arCodes.size() : 1);
EntrySelection->SetValue((int)(arCodes.size() - _selection)); EntrySelection->SetValue((int)(arCodes.size() - _selection));
EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE); EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxSize(300, 100), wxTE_MULTILINE);
UpdateTextCtrl(tempEntries); UpdateTextCtrl(tempEntries);
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxGridBagSizer* sgEntry = new wxGridBagSizer(0, 0);
sgEntry->AddGrowableCol(1); sgEntry->AddGrowableCol(1);
sgEntry->AddGrowableRow(1); sgEntry->AddGrowableRow(1);
sgEntry->Add(EditCheatNameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER|wxALL, 5); sgEntry->Add(EditCheatNameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER|wxALL, 5);
@ -71,16 +75,15 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
sgEntry->Add(EntrySelection, wxGBPosition(0, 2), wxGBSpan(2, 1), wxEXPAND|wxALL, 5); sgEntry->Add(EntrySelection, wxGBPosition(0, 2), wxGBSpan(2, 1), wxEXPAND|wxALL, 5);
sgEntry->Add(EditCheatCode, wxGBPosition(1, 0), wxGBSpan(1, 2), wxEXPAND|wxALL, 5); sgEntry->Add(EditCheatCode, wxGBPosition(1, 0), wxGBSpan(1, 2), wxEXPAND|wxALL, 5);
sbEntry->Add(sgEntry, 1, wxEXPAND|wxALL); sbEntry->Add(sgEntry, 1, wxEXPAND|wxALL);
sEditCheat->Add(sbEntry, 1, wxEXPAND|wxALL, 5);
wxBoxSizer* sEditCheatButtons = new wxBoxSizer(wxHORIZONTAL); sEditCheatButtons->AddStretchSpacer();
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
sEditCheatButtons->Add(0, 0, 1, wxEXPAND, 5);
sEditCheatButtons->Add(bOK, 0, wxALL, 5); sEditCheatButtons->Add(bOK, 0, wxALL, 5);
sEditCheatButtons->Add(bCancel, 0, wxALL, 5); sEditCheatButtons->Add(bCancel, 0, wxALL, 5);
sEditCheat->Add(sbEntry, 1, wxEXPAND|wxALL, 5);
sEditCheat->Add(sEditCheatButtons, 0, wxEXPAND, 5); sEditCheat->Add(sEditCheatButtons, 0, wxEXPAND, 5);
this->SetSizer(sEditCheat);
sEditCheat->Layout(); SetSizerAndFit(sEditCheat);
} }
void CARCodeAddEdit::OnClose(wxCloseEvent& WXUNUSED (event)) void CARCodeAddEdit::OnClose(wxCloseEvent& WXUNUSED (event))

View file

@ -1119,6 +1119,7 @@ void CISOProperties::ActionReplayButtonClicked(wxCommandEvent& event)
break; break;
case ID_REMOVECHEAT: case ID_REMOVECHEAT:
arCodes.erase(arCodes.begin() + Cheats->GetSelection()); arCodes.erase(arCodes.begin() + Cheats->GetSelection());
Cheats->Delete(Cheats->GetSelection());
break; break;
} }