X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=frontend%2Flibretro.c;h=16feeecf683dcc99df5c808fd547a4bd39aa8c97;hb=094ec2043e80c12a5b692c6b9db791b7ae4df8e2;hp=53e7fa5df8e5fc3f198fda30bcbfdd1fc75633ca;hpb=5bed9d68e0ece9708cd384305418ca7a42d6e3ff;p=pcsx_rearmed.git diff --git a/frontend/libretro.c b/frontend/libretro.c index 53e7fa5d..16feeecf 100644 --- a/frontend/libretro.c +++ b/frontend/libretro.c @@ -234,8 +234,12 @@ 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" }, +#if 0 { "neon_enhancement_enable", "Enhanced resolution (slow); disabled|enabled" }, +#endif #endif { NULL, NULL }, }; @@ -733,7 +737,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; + } + +#if 0 var.value = NULL; var.key = "neon_enhancement_enable"; @@ -745,6 +775,7 @@ static void update_variables(void) pl_rearmed_cbs.gpu_neon.enhancement_enable = 1; } #endif +#endif } void retro_run(void)