Mercurial > repos > blastem
diff genesis.c @ 2556:6f1eebc0a90b
Add auto option for fm_dac config variable that bases zero offset on the select MD model
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 11 Jan 2025 23:21:36 -0800 |
parents | 3fc8a1f2eb84 |
children | 3f58fec775df |
line wrap: on
line diff
--- a/genesis.c Sat Jan 11 23:03:24 2025 -0800 +++ b/genesis.c Sat Jan 11 23:21:36 2025 -0800 @@ -2448,8 +2448,14 @@ config_gain = tern_find_path(config, "audio\0fm_gain\0", TVAL_PTR).ptrval; render_audio_source_gaindb(gen->ym->audio, config_gain ? atof(config_gain) : 0.0f); - char *config_dac = tern_find_path_default(config, "audio\0fm_dac\0", (tern_val){.ptrval="zero_offset"}, TVAL_PTR).ptrval; - ym_enable_zero_offset(gen->ym, !strcmp(config_dac, "zero_offset")); + char *config_dac = tern_find_path_default(config, "audio\0fm_dac\0", (tern_val){.ptrval="auto"}, TVAL_PTR).ptrval; + uint8_t zero_offset = 0; + if (!strcmp(config_dac, "auto")) { + zero_offset = gen->ym->status_address_mask != 0; + } else if (!strcmp(config_dac, "zero_offset")) { + zero_offset = 1; + } + ym_enable_zero_offset(gen->ym, zero_offset); } if (gen->expansion) {