sound, fix ym2612 ladder effect, add option

This commit is contained in:
kub 2021-11-19 21:01:50 +01:00
parent b55e4e1b2f
commit 23cd73bc8f
9 changed files with 46 additions and 22 deletions

View file

@ -561,7 +561,7 @@ static menu_entry e_menu_adv_options[] =
mee_onoff ("Emulate Z80", MA_OPT2_ENABLE_Z80, PicoIn.opt, POPT_EN_Z80),
mee_onoff ("Emulate YM2612 (FM)", MA_OPT2_ENABLE_YM2612, PicoIn.opt, POPT_EN_FM),
mee_onoff ("Disable YM2612 SSG-EG", MA_OPT2_DISABLE_YM_SSG,PicoIn.opt, POPT_DIS_FM_SSGEG),
mee_onoff ("Enable YM2612 ladder effect",MA_OPT2_DISABLE_YM_LAD,PicoIn.opt, POPT_EN_FM_LADDER),
mee_onoff ("Enable YM2612 DAC noise", MA_OPT2_ENABLE_YM_DAC, PicoIn.opt, POPT_EN_FM_DAC),
mee_onoff ("Emulate SN76496 (PSG)", MA_OPT2_ENABLE_SN76496,PicoIn.opt, POPT_EN_PSG),
mee_onoff ("Emulate Game Gear LCD", MA_OPT2_ENABLE_GGLCD ,PicoIn.opt, POPT_EN_GG_LCD),
mee_onoff ("Disable idle loop patching",MA_OPT2_NO_IDLE_LOOPS,PicoIn.opt, POPT_DIS_IDLE_DET),

View file

@ -50,7 +50,7 @@ typedef enum
MA_OPT2_ENABLE_Z80,
MA_OPT2_ENABLE_YM2612,
MA_OPT2_DISABLE_YM_SSG,
MA_OPT2_DISABLE_YM_LAD,
MA_OPT2_ENABLE_YM_DAC,
MA_OPT2_ENABLE_SN76496,
MA_OPT2_ENABLE_YM2413,
MA_OPT2_ENABLE_GGLCD,

View file

@ -1594,6 +1594,15 @@ static void update_variables(bool first_run)
PicoIn.opt &= ~POPT_EN_DRC;
#endif
var.value = NULL;
var.key = "picodrive_dacnoise";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) {
if (strcmp(var.value, "enabled") == 0)
PicoIn.opt |= POPT_EN_FM_DAC;
else
PicoIn.opt &= ~POPT_EN_FM_DAC;
}
old_snd_filter = PicoIn.opt & POPT_EN_SNDFILTER;
var.value = NULL;
var.key = "picodrive_audio_filter";

View file

@ -64,7 +64,7 @@ struct retro_core_option_v2_category option_cats_us[] = {
{
"audio",
"Audio",
"Configure sample rate / emulated audio devices / low pass filter."
"Configure sample rate / emulated audio devices / low pass filter / DAC noise."
},
{
"input",
@ -231,11 +231,25 @@ struct retro_core_option_v2_definition option_defs_us[] = {
},
"off"
},
{
"picodrive_dacnoise",
"Mega Drive FM DAC noise",
NULL,
"Enable emulation of YM2612 DAC noise. This option generates a distortion which existed on most Model 1 Mega Drive/Genesis, but not on newer models.",
NULL,
"audio",
{
{ "off", "disabled" },
{ "on", "enabled" },
{ NULL, NULL },
},
"off"
},
{
"picodrive_audio_filter",
"Audio Filter",
NULL,
"Enable a low pass audio filter to better simulate the characteristic sound of a Model 1 Genesis. This option is ignored when running Master System and PICO titles. Only the Genesis and its add-on hardware (Sega CD, 32X) employed a physical low pass filter.",
"Enable a low pass audio filter to better simulate the characteristic sound of a Model 1 Mega Drive/Genesis. Note that although only the Genesis and its add-on hardware (Sega CD, 32X) employed a physical low pass filter, the filter setting is not restricted to that.",
NULL,
"audio",
{