X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Flibretro.c;h=f3252ab5623343cdc0ee5845d5e7454ca5ebb818;hb=27f190ea0097fa6a6f51bfacfd38a984d797e59b;hp=49038471e8a7040e2221df77ad9a75f7d249db07;hpb=b08a2950f1f213508c653c6289bf0c006082c6c5;p=picodrive.git diff --git a/platform/libretro.c b/platform/libretro.c index 4903847..f3252ab 100644 --- a/platform/libretro.c +++ b/platform/libretro.c @@ -292,6 +292,8 @@ void retro_set_environment(retro_environment_t cb) //{ "region", "Region; Auto|NTSC|PAL" }, { "picodrive_input1", "Input device 1; 3 button pad|6 button pad|None" }, { "picodrive_input2", "Input device 2; 3 button pad|6 button pad|None" }, + { "picodrive_sprlim", "No sprite limit; disabled|enabled" }, + { "picodrive_ramcart", "MegaCD RAM cart; disabled|enabled" }, #ifdef DRC_SH2 { "picodrive_drc", "Dynamic recompilers; enabled|disabled" }, #endif @@ -704,7 +706,7 @@ bool retro_load_game(const struct retro_game_info *info) PicoWriteSound = snd_write; memset(sndBuffer, 0, sizeof(sndBuffer)); PsndOut = sndBuffer; - PsndRerate(1); + PsndRerate(0); return true; } @@ -799,6 +801,24 @@ static void update_variables(void) if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) PicoSetInputDevice(1, input_name_to_val(var.value)); + var.value = NULL; + var.key = "picodrive_sprlim"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { + if (strcmp(var.value, "enabled") == 0) + PicoOpt |= POPT_DIS_SPRITE_LIM; + else + PicoOpt &= ~POPT_DIS_SPRITE_LIM; + } + + var.value = NULL; + var.key = "picodrive_ramcart"; + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) { + if (strcmp(var.value, "enabled") == 0) + PicoOpt |= POPT_EN_MCD_RAMCART; + else + PicoOpt &= ~POPT_EN_MCD_RAMCART; + } + #ifdef DRC_SH2 var.value = NULL; var.key = "picodrive_drc";