libretro: sound fix and a few options

This commit is contained in:
notaz 2013-09-24 02:31:45 +03:00
parent b08a2950f1
commit 27f190ea00

View file

@ -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";