mirror of
https://github.com/libretro/snes9x2005.git
synced 2024-11-23 08:19:48 +00:00
Overclock by reducing cycles.
This commit is contained in:
parent
e2ad3dfa35
commit
5a20ff0dc7
13
libretro.c
13
libretro.c
@ -36,6 +36,7 @@ struct retro_perf_callback perf_cb;
|
||||
|
||||
char retro_save_directory[PATH_MAX];
|
||||
char retro_base_name[PATH_MAX];
|
||||
bool overclock_cycles = false;
|
||||
|
||||
#ifdef _WIN32
|
||||
char slash = '\\';
|
||||
@ -294,6 +295,7 @@ void retro_init(void)
|
||||
static const struct retro_variable vars[] =
|
||||
{
|
||||
{ "catsfc_VideoMode", "Video Mode; auto|NTSC|PAL" },
|
||||
{ "catsfc_overclock_cycles", "CPU Overclock (Hack, Unsafe, Restart); disabled|enabled" },
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
@ -378,6 +380,17 @@ static void check_variables(void)
|
||||
Settings.ForceNTSC = !strcmp(var.value, "NTSC");
|
||||
Settings.ForcePAL = !strcmp(var.value, "PAL");
|
||||
}
|
||||
|
||||
var.key = "catsfc_overclock_cycles";
|
||||
var.value = NULL;
|
||||
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
{
|
||||
if (strcmp(var.value, "enabled") == 0)
|
||||
overclock_cycles = true;
|
||||
else
|
||||
overclock_cycles = false;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef PSP
|
||||
|
@ -46,9 +46,9 @@
|
||||
|
||||
#define SNES_CYCLES_PER_SCANLINE ((uint32_t) ((SNES_SCANLINE_TIME / SNES_CLOCK_LEN) * 6 + 0.5))
|
||||
|
||||
#define ONE_CYCLE 6u
|
||||
#define SLOW_ONE_CYCLE 8u
|
||||
#define TWO_CYCLES 12u
|
||||
#define ONE_CYCLE (overclock_cycles ? 4u : 6u)
|
||||
#define SLOW_ONE_CYCLE (overclock_cycles ? 4u : 8u)
|
||||
#define TWO_CYCLES (overclock_cycles ? 6u : 12u)
|
||||
|
||||
#define SNES_TR_MASK (1u << 4)
|
||||
#define SNES_TL_MASK (1u << 5)
|
||||
@ -63,6 +63,8 @@
|
||||
#define SNES_Y_MASK (1u << 14)
|
||||
#define SNES_B_MASK (1u << 15)
|
||||
|
||||
extern bool overclock_cycles;
|
||||
|
||||
enum
|
||||
{
|
||||
SNES_MULTIPLAYER5,
|
||||
|
Loading…
Reference in New Issue
Block a user