summaryrefslogtreecommitdiff
path: root/win32/gui
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2016-05-08 13:34:45 +0100
committeriCatButler <i.am.catbutler@gmail.com>2016-05-08 13:34:45 +0100
commit1a30cfb9510d4e46960010735d26a344f75cb328 (patch)
treedf55c4203a77a54d4bfc3db1faefed0ab292f8bc /win32/gui
parentcd126bcb7cdb6a555ff1829ba9d535596ef58609 (diff)
downloadpcsxr-1a30cfb9510d4e46960010735d26a344f75cb328.tar.gz
Integrate SonofUgly's overclocking mechanism
https://github.com/SonofUgly/PCSX-Reloaded/commit/3f11d29f31ca02575aeedf073e87ffee933effb0 Integrated with a few small changes.
Diffstat (limited to 'win32/gui')
-rwxr-xr-xwin32/gui/ConfigurePlugins.c5
-rwxr-xr-xwin32/gui/WndMain.c28
2 files changed, 33 insertions, 0 deletions
diff --git a/win32/gui/ConfigurePlugins.c b/win32/gui/ConfigurePlugins.c
index 57f72eb9..7abe6119 100755
--- a/win32/gui/ConfigurePlugins.c
+++ b/win32/gui/ConfigurePlugins.c
@@ -90,8 +90,11 @@ int LoadConfig() {
QueryKeyV("HackFix", Conf->HackFix);
QueryKeyV("MemHack", Conf->MemHack);
+ QueryKeyV("OverClock", Conf->OverClock);
+
QueryKeyV("Cpu", Conf->Cpu);
QueryKeyV("PsxType", Conf->PsxType);
+ QueryKeyV("PsxClock", Conf->PsxClock);
if (Config.Cpu == CPU_DYNAREC) {
Config.Debug = 0; // don't enable debugger if using dynarec core
@@ -149,9 +152,11 @@ void SaveConfig() {
SetKeyV("WindowPosY", Conf->WindowPos[1]);
SetKeyV("HackFix", Conf->HackFix);
SetKeyV("MemHack", Conf->MemHack);
+ SetKeyV("OverClock", Conf->OverClock);
SetKeyV("Cpu", Conf->Cpu);
SetKeyV("PsxType", Conf->PsxType);
+ SetKeyV("PsxClock", Conf->PsxClock);
RegCloseKey(myKey);
}
diff --git a/win32/gui/WndMain.c b/win32/gui/WndMain.c
index 9013d113..b1ff02d3 100755
--- a/win32/gui/WndMain.c
+++ b/win32/gui/WndMain.c
@@ -1356,9 +1356,11 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
Button_SetText(GetDlgItem(hW,IDC_SAVEWINDOWPOS), _("Save window position"));
Button_SetText(GetDlgItem(hW,IDC_HACKFIX), _("Compatibility hacks (Raystorm/VH-D/MML/Cart World/...)"));
Button_SetText(GetDlgItem(hW,IDC_MEMHACK), _("Wipeout MemHack"));
+ Button_SetText(GetDlgItem(hW,IDC_OVRCLOCK), _("CPU Overclocking"));
Static_SetText(GetDlgItem(hW,IDC_MISCOPT), _("Options"));
Static_SetText(GetDlgItem(hW,IDC_SELPSX), _("Psx System Type"));
+ Static_SetText(GetDlgItem(hW,IDC_SELPSXCLOCK), _("CPU Overclocking"));
Button_SetCheck(GetDlgItem(hW,IDC_XA), Config.Xa);
Button_SetCheck(GetDlgItem(hW,IDC_SIO), Config.SioIrq);
@@ -1377,11 +1379,21 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
Button_SetCheck(GetDlgItem(hW,IDC_SAVEWINDOWPOS), Config.SaveWindowPos);
Button_SetCheck(GetDlgItem(hW,IDC_HACKFIX), Config.HackFix);
Button_SetCheck(GetDlgItem(hW,IDC_MEMHACK), Config.MemHack);
+ Button_SetCheck(GetDlgItem(hW,IDC_OVRCLOCK), Config.OverClock);
ComboBox_AddString(GetDlgItem(hW,IDC_PSXTYPES), "NTSC");
ComboBox_AddString(GetDlgItem(hW,IDC_PSXTYPES), "PAL");
ComboBox_SetCurSel(GetDlgItem(hW,IDC_PSXTYPES),Config.PsxType);
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "0.5x");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "0.75");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "1.5x");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "2.0x");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "3.0x");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "4.0x");
+ ComboBox_AddString(GetDlgItem(hW,IDC_PSXCLOCK), "5.0x");
+ ComboBox_SetCurSel(GetDlgItem(hW,IDC_PSXCLOCK), Config.PsxClock);
+
if (Config.Cpu == CPU_DYNAREC) {
Config.Debug = 0;
Button_SetCheck(GetDlgItem(hW, IDC_DEBUG), FALSE);
@@ -1389,6 +1401,11 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
}
EnableWindow(GetDlgItem(hW,IDC_PSXTYPES), !Config.PsxAuto);
+
+ if (Config.OverClock)
+ EnableWindow(GetDlgItem(hW, IDC_PSXCLOCK), TRUE);
+ else
+ EnableWindow(GetDlgItem(hW, IDC_PSXCLOCK), FALSE);
break;
case WM_COMMAND: {
@@ -1399,6 +1416,8 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
if (tmp == 0) Config.PsxType = 0;
else Config.PsxType = 1;
+ Config.PsxClock= ComboBox_GetCurSel(GetDlgItem(hW, IDC_PSXCLOCK));
+
Config.Xa = Button_GetCheck(GetDlgItem(hW,IDC_XA));
Config.SioIrq = Button_GetCheck(GetDlgItem(hW,IDC_SIO));
Config.Mdec = Button_GetCheck(GetDlgItem(hW,IDC_MDEC));
@@ -1426,6 +1445,8 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
Config.SaveWindowPos = Button_GetCheck(GetDlgItem(hW,IDC_SAVEWINDOWPOS));
Config.HackFix = Button_GetCheck(GetDlgItem(hW, IDC_HACKFIX));
Config.MemHack = Button_GetCheck(GetDlgItem(hW, IDC_MEMHACK));
+ Config.OverClock = Button_GetCheck(GetDlgItem(hW, IDC_OVRCLOCK));
+
if(Config.SaveWindowPos) {
GetWindowRect(gApp.hWnd, &rect);
@@ -1448,6 +1469,13 @@ BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPar
return TRUE;
+ case IDC_OVRCLOCK:
+ if (Button_GetCheck(GetDlgItem(hW, IDC_OVRCLOCK)))
+ EnableWindow(GetDlgItem(hW, IDC_PSXCLOCK), TRUE);
+ else
+ EnableWindow(GetDlgItem(hW, IDC_PSXCLOCK), FALSE);
+ break;
+
case IDC_CPU:
if (Button_GetCheck(GetDlgItem(hW,IDC_CPU))) {
EnableWindow(GetDlgItem(hW,IDC_DEBUG), TRUE);