X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=picodrive.git;a=blobdiff_plain;f=platform%2Flibretro%2Flibretro.c;h=99f0f3b512217e8ad61ae93320e438db43427e5e;hp=33ede0d235579eb3793b8bd0a417dc24bb203d68;hb=35f2b65ef708e7afc922ceda8d00b716de289610;hpb=93f9619ed819dee07948416c98ca2f1c70a22666 diff --git a/platform/libretro/libretro.c b/platform/libretro/libretro.c index 33ede0d..99f0f3b 100644 --- a/platform/libretro/libretro.c +++ b/platform/libretro/libretro.c @@ -10,6 +10,7 @@ #define _GNU_SOURCE 1 // mremap #include +#include #include #include #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";