From bc54e3d01bd4972f98c3d4c1d745cc4fc5af3e26 Mon Sep 17 00:00:00 2001 From: Akash Date: Sat, 6 Aug 2016 14:34:22 +0530 Subject: [PATCH] R5900: Add a mild overclock option * Adds a mild overclock option to have the 0 at middle of the slider. --- pcsx2/gui/Panels/SpeedhacksPanel.cpp | 11 ++++++++--- pcsx2/x86/ix86-32/iR5900-32.cpp | 9 ++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pcsx2/gui/Panels/SpeedhacksPanel.cpp b/pcsx2/gui/Panels/SpeedhacksPanel.cpp index 10134f10df..1936e1f2af 100644 --- a/pcsx2/gui/Panels/SpeedhacksPanel.cpp +++ b/pcsx2/gui/Panels/SpeedhacksPanel.cpp @@ -46,12 +46,17 @@ const wxChar* Panels::SpeedHacksPanel::GetEEcycleSliderMsg( int val ) case 1: { m_msg_eecycle->SetForegroundColour(wxColour(L"Red")); - return pxEt(L"1 - Increases the EE's cyclerate to about 180%. Increases hardware requirements, may increase in-game FPS."); + return pxEt(L"1 - Increases the EE's cyclerate to about 130%. Mildly increases hardware requirements, may increase in-game FPS."); } case 2: { m_msg_eecycle->SetForegroundColour(wxColour(L"Red")); - return pxEt(L"2 - Increases the EE's cyclerate to about 300%. Greatly increases hardware requirements, may noticeably increase in-game FPS.\nThis setting can cause games to FAIL TO BOOT."); + return pxEt(L"2 - Increases the EE's cyclerate to about 180%. Increases hardware requirements, may noticeably increase in-game FPS."); + } + case 3: + { + m_msg_eecycle->SetForegroundColour(wxColour(L"Red")); + return pxEt(L"3 - Increases the EE's cyclerate to about 300%. Greatly increases hardware requirements, may noticeably increase in-game FPS.\nThis setting can cause games to FAIL TO BOOT."); } default: break; @@ -131,7 +136,7 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent ) m_eeSliderPanel = new wxPanelWithHelpers( left, wxVERTICAL, _("EE Cyclerate [Not Recommended]") ); - m_slider_eecycle = new wxSlider( m_eeSliderPanel, wxID_ANY, 0, -3, 2, + m_slider_eecycle = new wxSlider( m_eeSliderPanel, wxID_ANY, 0, -3, 3, wxDefaultPosition, wxDefaultSize, wxHORIZONTAL | wxSL_AUTOTICKS | wxSL_LABELS ); m_msg_eecycle = new pxStaticHeading( m_eeSliderPanel ); diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 7b439ed2bd..37e16d3956 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -964,11 +964,14 @@ static u32 scaleblockcycles_calculation() s8 cyclerate = EmuConfig.Speedhacks.EECycleRate; u32 scale_cycles = 0; - if (cyclerate == 0 || lowcycles || cyclerate < -99 || cyclerate > 2) + if (cyclerate == 0 || lowcycles || cyclerate < -99 || cyclerate > 3) scale_cycles = DEFAULT_SCALED_BLOCKS(); - else if (cyclerate > 0) - scale_cycles = s_nBlockCycles >> (3 + cyclerate); + else if (cyclerate > 1) + scale_cycles = s_nBlockCycles >> (2 + cyclerate); + + else if (cyclerate == 1) + scale_cycles = DEFAULT_SCALED_BLOCKS() / 1.3f; // Adds a mild 30% increase in clockspeed for value 1. else if (cyclerate == -1) // the mildest value which is also used by the "balanced" preset. // These values were manually tuned to yield mild speedup with high compatibility