summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2017-03-17 21:09:39 +0000
committeriCatButler <i.am.catbutler@gmail.com>2017-03-17 21:09:39 +0000
commitd7a31360f90c1ef79587018e54ae9665831b7f12 (patch)
tree776ff0ea6198a0b9617bec004732bd0d7af5dcbb /libpcsxcore
parentb9ca947ae0c9d45a4f76a58d1a0e1e4924f32a72 (diff)
downloadpcsxr-d7a31360f90c1ef79587018e54ae9665831b7f12.tar.gz
Add support for arbitrary clock multipliers
Allows users to set an arbitrary floating point value to multiply CPU clock speed by. Drop box provides access to all the previous presets.
Diffstat (limited to 'libpcsxcore')
-rwxr-xr-xlibpcsxcore/misc.c27
-rwxr-xr-xlibpcsxcore/psxcommon.h2
2 files changed, 2 insertions, 27 deletions
diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c
index 9b9b226a..f54abeb6 100755
--- a/libpcsxcore/misc.c
+++ b/libpcsxcore/misc.c
@@ -363,32 +363,7 @@ int CheckCdrom() {
}
else
{
- switch (Config.PsxClock)
- {
- case 0:
- PsxClockSpeed = 16934400; // 16.9344 MHz (0.5x)
- break;
- case 1:
- PsxClockSpeed = 25401600; // 25.4016 MHz (0.75x)
- break;
- case 2:
- PsxClockSpeed = 50803200; // 50.8032 MHz (1.5x)
- break;
- case 3:
- PsxClockSpeed = 67737600; // 67.7376 MHz (2x)
- break;
- case 4:
- PsxClockSpeed = 101606400; // 101.6064 MHz (3x)
- break;
- case 5:
- PsxClockSpeed = 135475200; // 135.4752 MHz (4x)
- break;
- case 6:
- PsxClockSpeed = 169344000; // 169.3440 MHz (5x)
- break;
- default:
- PsxClockSpeed = 33868800; // 33.8688 MHz (stock)
- }
+ PsxClockSpeed = 33868800 * Config.PsxClock;
}
if (CdromLabel[0] == ' ') {
diff --git a/libpcsxcore/psxcommon.h b/libpcsxcore/psxcommon.h
index d9cf2bdb..f89044a2 100755
--- a/libpcsxcore/psxcommon.h
+++ b/libpcsxcore/psxcommon.h
@@ -166,7 +166,7 @@ typedef struct {
u8 HackFix;
u8 MemHack;
boolean OverClock; // enable overclocking
- u8 PsxClock;
+ float PsxClock;
// PGXP variables
boolean PGXP_GTE;
boolean PGXP_Cache;