aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authortwinaphex2013-05-24 03:13:24 +0200
committernotaz2013-05-26 19:03:57 +0300
commit9f5a28d9d0f0a294e72ab6ae61a1dc18adbe8aaa (patch)
treeb04c4b59238353cd0d6730ff619ce42de1578faa /frontend
parent5bed9d68e0ece9708cd384305418ca7a42d6e3ff (diff)
downloadpcsx_rearmed-9f5a28d9d0f0a294e72ab6ae61a1dc18adbe8aaa.tar.gz
pcsx_rearmed-9f5a28d9d0f0a294e72ab6ae61a1dc18adbe8aaa.tar.bz2
pcsx_rearmed-9f5a28d9d0f0a294e72ab6ae61a1dc18adbe8aaa.zip
(Libretro) Add NEON interlace enable core option and region core option
Diffstat (limited to 'frontend')
-rw-r--r--frontend/libretro.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/frontend/libretro.c b/frontend/libretro.c
index 53e7fa5..8b67f17 100644
--- a/frontend/libretro.c
+++ b/frontend/libretro.c
@@ -234,7 +234,9 @@ void retro_set_environment(retro_environment_t cb)
{
static const struct retro_variable vars[] = {
{ "frameskip", "Frameskip; 0|1|2|3" },
+ { "region", "Region; Auto|NTSC|PAL" },
#ifdef __ARM_NEON__
+ { "neon_interlace_enable", "Enable interlacing mode(s); disabled|enabled" },
{ "neon_enhancement_enable", "Enhanced resolution (slow); disabled|enabled" },
#endif
{ NULL, NULL },
@@ -733,7 +735,33 @@ static void update_variables(void)
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)
pl_rearmed_cbs.frameskip = atoi(var.value);
+
+ var.value = NULL;
+ var.key = "region";
+
+ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)
+ {
+ Config.PsxAuto = 0;
+ if (strcmp(var.value, "Automatic") == 0)
+ Config.PsxAuto = 1;
+ else if (strcmp(var.value, "NTSC") == 0)
+ Config.PsxType = 0;
+ else if (strcmp(var.value, "PAL") == 0)
+ Config.PsxType = 1;
+ }
#ifdef __ARM_NEON__
+ var.value = "NULL";
+ var.key = "neon_interlace_enable";
+
+ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)
+ {
+ if (strcmp(var.value, "disabled") == 0)
+ pl_rearmed_cbs.gpu_neon.allow_interlace = 0;
+ else if (strcmp(var.value, "enabled") == 0)
+ pl_rearmed_cbs.gpu_neon.allow_interlace = 1;
+ }
+
+
var.value = NULL;
var.key = "neon_enhancement_enable";