diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp index 052934c410..8344a592c3 100644 --- a/libretro/libretro.cpp +++ b/libretro/libretro.cpp @@ -585,6 +585,14 @@ static void check_variables(CoreParameter &coreParam) g_Config.bAnalogIsCircular = true; } + var.key = "ppsspp_memstick_inserted"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + if (!strcmp(var.value, "disabled")) + g_Config.bMemStickInserted = false; + else + g_Config.bMemStickInserted = true; + } var.key = "ppsspp_internal_resolution"; if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) diff --git a/libretro/libretro_core_options.h b/libretro/libretro_core_options.h index 6e08fc41f2..e572242b5a 100644 --- a/libretro/libretro_core_options.h +++ b/libretro/libretro_core_options.h @@ -271,6 +271,16 @@ struct retro_core_option_v2_definition option_defs_us[] = { BOOL_OPTIONS, "disabled" }, + { + "ppsspp_memstick_inserted", + "Memory Stick inserted", + NULL, + "Some games require ejecting/inserting the Memory Stick.", + NULL, + "system", + BOOL_OPTIONS, + "enabled" + }, { "ppsspp_internal_resolution", "Internal Resolution (Restart)",