libretro, add FM unit setting

This commit is contained in:
kub 2021-10-26 23:36:38 +02:00
parent 1cdc3f8416
commit 6791d84741
2 changed files with 17 additions and 8 deletions

View file

@ -1474,6 +1474,15 @@ static void update_variables(bool first_run)
PicoIn.hwSelect = PHWS_SMS; PicoIn.hwSelect = PHWS_SMS;
} }
var.value = NULL;
var.key = "picodrive_smsfm";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) {
if (strcmp(var.value, "on") == 0)
PicoIn.opt |= POPT_EN_YM2413;
else
PicoIn.opt &= ~POPT_EN_YM2413;
}
OldPicoRegionOverride = PicoIn.regionOverride; OldPicoRegionOverride = PicoIn.regionOverride;
var.value = NULL; var.value = NULL;
var.key = "picodrive_region"; var.key = "picodrive_region";
@ -1819,9 +1828,10 @@ void retro_init(void)
#endif #endif
PicoIn.opt = POPT_EN_STEREO|POPT_EN_FM PicoIn.opt = POPT_EN_STEREO|POPT_EN_FM
| POPT_EN_PSG|POPT_EN_Z80|POPT_EN_YM2413|POPT_EN_GG_LCD | POPT_EN_PSG|POPT_EN_Z80|POPT_EN_GG_LCD
| POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_MCD_GFX | POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_MCD_GFX
| POPT_EN_32X|POPT_EN_PWM | POPT_EN_32X|POPT_EN_PWM
//|POPT_DIS_IDLE_DET
| POPT_ACC_SPRITES|POPT_DIS_32C_BORDER; | POPT_ACC_SPRITES|POPT_DIS_32C_BORDER;
#ifdef __arm__ #ifdef __arm__
#ifdef _3DS #ifdef _3DS

View file

@ -85,16 +85,15 @@ struct retro_core_option_definition option_defs_us[] = {
"disabled" "disabled"
}, },
{ {
"picodrive_smstype", "picodrive_smsfm",
"Master System type", "Master System FM sound unit",
"Choose which type of system the core should emulate for Master system", "Enable the FM Sound Unit emulation. Some MS games produce much better sound, but non-Japanese titles might possibly not run.",
{ {
{ "Auto", NULL }, { "off", NULL },
{ "Game Gear", NULL }, { "on", NULL },
{ "Master System", NULL },
{ NULL, NULL }, { NULL, NULL },
}, },
"disabled" "off"
}, },
{ {
"picodrive_region", "picodrive_region",