add 68k overclocking support

This commit is contained in:
notaz 2017-10-20 00:41:12 +03:00
parent 93f9619ed8
commit 35f2b65ef7
8 changed files with 33 additions and 2 deletions

View file

@ -10,6 +10,7 @@
#define _GNU_SOURCE 1 // mremap
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#ifndef _WIN32
@ -527,6 +528,7 @@ void retro_set_environment(retro_environment_t cb)
{ "picodrive_region", "Region; Auto|Japan NTSC|Japan PAL|US|Europe" },
{ "picodrive_aspect", "Core-provided aspect ratio; PAR|4/3|CRT" },
{ "picodrive_overscan", "Show Overscan; disabled|enabled" },
{ "picodrive_overclk68k", "68k overclock; disabled|+25%|+50%|+75%|+100%|+200%|+400%" },
#ifdef DRC_SH2
{ "picodrive_drc", "Dynamic recompilers; enabled|disabled" },
#endif
@ -1295,6 +1297,14 @@ static void update_variables(void)
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
}
var.value = NULL;
var.key = "picodrive_overclk68k";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) {
PicoIn.overclockM68k = 0;
if (var.value[0] == '+')
PicoIn.overclockM68k = atoi(var.value + 1);
}
#ifdef DRC_SH2
var.value = NULL;
var.key = "picodrive_drc";