diff --git a/src/sound/midi_fluidsynth.c b/src/sound/midi_fluidsynth.c index 1af4bb2c1..7f3d39383 100644 --- a/src/sound/midi_fluidsynth.c +++ b/src/sound/midi_fluidsynth.c @@ -541,9 +541,7 @@ static const device_config_t fluidsynth_config[] = { }, .default_int = 2 }, - { - .type = -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/midi_mt32.c b/src/sound/midi_mt32.c index 5b19aa018..87255e319 100644 --- a/src/sound/midi_mt32.c +++ b/src/sound/midi_mt32.c @@ -368,9 +368,7 @@ static const device_config_t mt32_config[] = { .type = CONFIG_BINARY, .default_int = 1 }, - { - .type = -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/midi_rtmidi.cpp b/src/sound/midi_rtmidi.cpp index 5eaf5a964..43f0695ee 100644 --- a/src/sound/midi_rtmidi.cpp +++ b/src/sound/midi_rtmidi.cpp @@ -234,57 +234,73 @@ rtmidi_in_get_dev_name(int num, char *s) static const device_config_t system_midi_config[] = { { - "midi", "MIDI out device", CONFIG_MIDI_OUT, "", 0 + .name = "midi", + .description = "MIDI out device", + .type = CONFIG_MIDI_OUT, + .default_string = "", + .default_int = 0 }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t midi_input_config[] = { { - "midi_input", "MIDI in device", CONFIG_MIDI_IN, "", 0 + .name = "midi_input", + .description = "MIDI in device", + .type = CONFIG_MIDI_IN, + .default_string = "", + .default_int = 0 }, { - "realtime", "MIDI Real time", CONFIG_BINARY, "", 0 + .name = "realtime", + .description = "MIDI Real time", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 }, { - "thruchan", "MIDI Thru", CONFIG_BINARY, "", 1 + .name = "thruchan", + .description = "MIDI Thru", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 }, { - "clockout", "MIDI Clockout", CONFIG_BINARY, "", 1 + .name = "clockout", + .description = "MIDI Clockout", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } }; const device_t rtmidi_output_device = { - SYSTEM_MIDI_NAME, - SYSTEM_MIDI_INTERNAL_NAME, - 0, 0, - rtmidi_output_init, - rtmidi_output_close, - NULL, - { rtmidi_out_get_num_devs }, - NULL, - NULL, - system_midi_config + .name = SYSTEM_MIDI_NAME, + .internal_name = SYSTEM_MIDI_INTERNAL_NAME, + .flags = 0, + .local = 0, + .init = rtmidi_output_init, + .close = rtmidi_output_close, + .reset = NULL, + { .available = rtmidi_out_get_num_devs }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = system_midi_config }; - -const device_t rtmidi_input_device = -{ - MIDI_INPUT_NAME, - MIDI_INPUT_INTERNAL_NAME, - 0, 0, - rtmidi_input_init, - rtmidi_input_close, - NULL, - { rtmidi_in_get_num_devs }, - NULL, - NULL, - midi_input_config +const device_t rtmidi_input_device = { + .name = MIDI_INPUT_NAME, + .internal_name = MIDI_INPUT_INTERNAL_NAME, + .flags = 0, + .local = 0, + .init = rtmidi_input_init, + .close = rtmidi_input_close, + .reset = NULL, + { .available = rtmidi_in_get_num_devs }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = midi_input_config }; } diff --git a/src/sound/snd_adlibgold.c b/src/sound/snd_adlibgold.c index 2a82b3b85..652c672e2 100644 --- a/src/sound/snd_adlibgold.c +++ b/src/sound/snd_adlibgold.c @@ -982,10 +982,28 @@ adgold_close(void *p) static const device_config_t adgold_config[] = { // clang-format off - { "gameport", "Enable Game port", CONFIG_BINARY, "", 1 }, - { "surround", "Surround module", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "gameport", + .description = "Enable Game port", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "surround", + .description = "Surround module", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index 5a64d3579..251fda72f 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -2055,46 +2055,54 @@ es1371_speed_changed(void *p) static const device_config_t es1371_config[] = { // clang-format off { - .name = "codec", - .description = "CODEC", - .type = CONFIG_SELECTION, - .selection = { - { - .description = "Asahi Kasei AK4540", - .value = AC97_CODEC_AK4540 - }, { - .description = "Crystal CS4297", - .value = AC97_CODEC_CS4297 - }, { - .description = "Crystal CS4297A", - .value = AC97_CODEC_CS4297A - }, { - .description = "SigmaTel STAC9708", - .value = AC97_CODEC_STAC9708 - }, { - .description = "SigmaTel STAC9721", - .value = AC97_CODEC_STAC9721 - } - }, - .default_int = AC97_CODEC_CS4297A + .name = "codec", + .description = "CODEC", + .type = CONFIG_SELECTION, + .selection = { + { + .description = "Asahi Kasei AK4540", + .value = AC97_CODEC_AK4540 + }, + { + .description = "Crystal CS4297", + .value = AC97_CODEC_CS4297 + }, + { + .description = "Crystal CS4297A", + .value = AC97_CODEC_CS4297A + }, + { + .description = "SigmaTel STAC9708", + .value = AC97_CODEC_STAC9708 + }, + { + .description = "SigmaTel STAC9721", + .value = AC97_CODEC_STAC9721 + } + }, + .default_int = AC97_CODEC_CS4297A }, { - "receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1 + .name = "receive_input", + .description = "Receive input (MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; static const device_config_t es1371_onboard_config[] = { // clang-format off { - "receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1 + .name = "receive_input", + .description = "Receive input (MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_azt2316a.c b/src/sound/snd_azt2316a.c index ede159219..a72e1dbe5 100644 --- a/src/sound/snd_azt2316a.c +++ b/src/sound/snd_azt2316a.c @@ -1251,12 +1251,29 @@ static const device_config_t azt1605_config[] = { .default_int = 0 }, { - "addr", "SB Address", CONFIG_HEX16, "", 0, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "Use EEPROM setting", 0 }, - { "" } + .name = "addr", + .description = "SB Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "Use EEPROM setting", + .value = 0 + }, + { + .description = "" + } } }, { @@ -1328,10 +1345,28 @@ static const device_config_t azt1605_config[] = { }, .default_int = 0 }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; @@ -1341,8 +1376,7 @@ static const device_config_t azt2316a_config[] = { .name = "codec", .description = "CODEC", .type = CONFIG_SELECTION, - .selection = - { + .selection = { { .description = "CS4248", .value = AD1848_TYPE_CS4248 @@ -1361,20 +1395,36 @@ static const device_config_t azt2316a_config[] = { .default_int = 0 }, { - "addr", "SB Address", CONFIG_HEX16, "", 0, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "Use EEPROM setting", 0 }, - { "" } + .name = "addr", + .description = "SB Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "Use EEPROM setting", + .value = 0 + }, + { + .description = "" + } } }, { .name = "wss_irq", .description = "WSS IRQ", .type = CONFIG_SELECTION, - .selection = - { + .selection = { { .description = "IRQ 11", .value = 11 @@ -1397,8 +1447,7 @@ static const device_config_t azt2316a_config[] = { .name = "wss_dma", .description = "WSS DMA", .type = CONFIG_SELECTION, - .selection = - { + .selection = { { .description = "DMA 0", .value = 0 @@ -1417,10 +1466,28 @@ static const device_config_t azt2316a_config[] = { }, .default_int = 0 }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_cmi8x38.c b/src/sound/snd_cmi8x38.c index 1b08e57f3..4ce76508e 100644 --- a/src/sound/snd_cmi8x38.c +++ b/src/sound/snd_cmi8x38.c @@ -1446,16 +1446,34 @@ cmi8x38_close(void *priv) static const device_config_t cmi8x38_config[] = { // clang-format off - { "receive_input", "Receive input (MPU-401)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; static const device_config_t cmi8738_config[] = { // clang-format off - { "six_channel", "6CH variant (6-channel)", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (MPU-401)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "six_channel", + .description = "6CH variant (6-channel)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_cms.c b/src/sound/snd_cms.c index 2be54f4fc..50b05dd48 100644 --- a/src/sound/snd_cms.c +++ b/src/sound/snd_cms.c @@ -189,20 +189,44 @@ cms_close(void *p) static const device_config_t cms_config[] = { // clang-format off { - "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x210", 0x210 }, - { "0x220", 0x220 }, - { "0x230", 0x230 }, - { "0x240", 0x240 }, - { "0x250", 0x250 }, - { "0x260", 0x260 }, - { "" } + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x210", + .value = 0x210 + }, + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x230", + .value = 0x230 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x250", + .value = 0x250 + }, + { + .description = "0x260", + .value = 0x260 + }, + { + .description = "" + } } }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_gus.c b/src/sound/snd_gus.c index a70798555..293be8915 100644 --- a/src/sound/snd_gus.c +++ b/src/sound/snd_gus.c @@ -1204,37 +1204,94 @@ gus_speed_changed(void *p) static const device_config_t gus_config[] = { // clang-format off { - "type", "GUS type", CONFIG_SELECTION, "", 0, "", { 0 }, - { - { "Classic", GUS_CLASSIC }, + .name = "type", + .description = "GUS type", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "Classic", + .value = GUS_CLASSIC + }, #if defined(DEV_BRANCH) && defined(USE_GUSMAX) - { "MAX", GUS_MAX }, + { + .description = "MAX", + .value = GUS_MAX + }, #endif - { NULL } + { NULL } }, }, { - "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "210H", 0x210 }, - { "220H", 0x220 }, - { "230H", 0x230 }, - { "240H", 0x240 }, - { "250H", 0x250 }, - { "260H", 0x260 }, + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "210H", + .value = 0x210 + }, + { + .description = "220H", + .value = 0x220 + }, + { + .description = "230H", + .value = 0x230 + }, + { + .description = "240H", + .value = 0x240 + }, + { + .description = "250H", + .value = 0x250 + }, + { + .description = "260H", + .value = 0x260 + }, }, }, { - "gus_ram", "Onboard RAM", CONFIG_SELECTION, "", 0, "", { 0 }, - { - { "256 KB", 0 }, - { "512 KB", 1 }, - { "1 MB", 2 }, - { NULL } + .name = "gus_ram", + "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "256 KB", + .value = 0 + }, + { + .description = "512 KB", + .value = 1 + }, + { + .description = "1 MB", + .value = 2 + }, + { NULL } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format off }; diff --git a/src/sound/snd_mpu401.c b/src/sound/snd_mpu401.c index 7b4a12aa3..6ee107923 100644 --- a/src/sound/snd_mpu401.c +++ b/src/sound/snd_mpu401.c @@ -1806,30 +1806,87 @@ mpu401_standalone_close(void *priv) static const device_config_t mpu401_standalone_config[] = { // clang-format off { - "base", "MPU-401 Address", CONFIG_HEX16, "", 0x330, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x230", 0x230 }, - { "0x240", 0x240 }, - { "0x250", 0x250 }, - { "0x300", 0x300 }, - { "0x320", 0x320 }, - { "0x330", 0x330 }, - { "0x340", 0x340 }, - { "0x350", 0x350 }, - { "" } + .name = "base", + .description = "MPU-401 Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x330, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x230", + .value = 0x230 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x250", + .value = 0x250 + }, + { + .description = "0x300", + .value = 0x300 + }, + { + .description = "0x320", + .value = 0x320 + }, + { + .description = "0x330", + .value = 0x330 + }, + { + .description = "0x340", + .value = 0x340 + }, + { + .description = "0x350", + .value = 0x350 + }, + { .description = "" } } }, { - "irq", "MPU-401 IRQ", CONFIG_SELECTION, "", 2, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 3", 3 }, - { "IRQ 4", 4 }, - { "IRQ 5", 5 }, - { "IRQ 6", 6 }, - { "IRQ 7", 7 }, - { "" } + .name = "irq", + .description = "MPU-401 IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 2, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 3", + .value = 3 + }, + { + .description = "IRQ 4", + .value = 4 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 6", + .value = 6 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { .description = "" } } }, { @@ -1838,7 +1895,7 @@ static const device_config_t mpu401_standalone_config[] = { .type = CONFIG_BINARY, .default_int = 1 }, - { "", "", -1 } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; @@ -1850,9 +1907,7 @@ static const device_config_t mpu401_standalone_mca_config[] = { .type = CONFIG_BINARY, .default_int = 1 }, - { - "", "", -1 - } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; diff --git a/src/sound/snd_pssj.c b/src/sound/snd_pssj.c index 2929baec1..41efc4218 100644 --- a/src/sound/snd_pssj.c +++ b/src/sound/snd_pssj.c @@ -239,15 +239,30 @@ pssj_close(void *p) static const device_config_t pssj_isa_config[] = { // clang-format off { - "base", "Address", CONFIG_HEX16, "", 0x2C0, "", { 0 }, - { - { "0x0C0", 0x0C0 }, - { "0x1E0", 0x1E0 }, - { "0x2C0", 0x2C0 }, - { "" } + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x2C0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x0C0", + .value = 0x0C0 + }, + { + .description = "0x1E0", + .value = 0x1E0 + }, + { + .description = "0x2C0", + .value = 0x2C0 + }, + { .description = "" } } }, - { "", "", -1 } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; #endif @@ -277,7 +292,7 @@ const device_t pssj_1e0_device = { { .available = NULL }, .speed_changed = NULL, .force_redraw = NULL, - .config = NULL + .config = NULL }; #if defined(DEV_BRANCH) && defined(USE_TANDY_ISA) diff --git a/src/sound/snd_sb.c b/src/sound/snd_sb.c index 9d80ef65c..247455036 100644 --- a/src/sound/snd_sb.c +++ b/src/sound/snd_sb.c @@ -2049,377 +2049,1177 @@ sb_speed_changed(void *p) // clang-format off static const device_config_t sb_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x210", 0x210 }, - { "0x220", 0x220 }, - { "0x230", 0x230 }, - { "0x240", 0x240 }, - { "0x250", 0x250 }, - { "0x260", 0x260 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x210", + .value = 0x210 + }, + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x230", + .value = 0x230 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x250", + .value = 0x250 + }, + { + .description = "0x260", + .value = 0x260 }, + { .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 7, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 3", 3 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 7, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 3", + .value = 3 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { .description = "" } } }, - { "dma", "DMA", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "DMA", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb15_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x210", 0x210 }, - { "0x220", 0x220 }, - { "0x230", 0x230 }, - { "0x240", 0x240 }, - { "0x250", 0x250 }, - { "0x260", 0x260 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x210", + .value = 0x210 + }, + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x230", + .value = 0x230 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x250", + .value = 0x250 + }, + { + .description = "0x260", + .value = 0x260 + }, + { + .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 7, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 3", 3 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 7, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 3", + .value = 3 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { .description = "" } } }, - { "dma", "DMA", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "DMA", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "cms", "Enable CMS", CONFIG_BINARY, "", 0 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "cms", + .description = "Enable CMS", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb2_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "0x260", 0x260 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x260", + .value = 0x260 + }, + { .description = "" } } }, - { "mixaddr", "Mixer", CONFIG_HEX16, "", 0, "", { 0 }, - { - { "Disabled", 0 }, - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "0x250", 0x250 }, - { "0x260", 0x260 }, - { "" } + { + .name = "mixaddr", + .description = "Mixer", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "Disabled", + .value = 0 + }, + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x250", + .value = 0x250 + }, + { + .description = "0x260", + .value = 0x260 + }, + { .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 3", 3 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 5, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 3", + .value = 3 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { .description = "" } } }, - { "dma", "DMA", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "DMA", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "cms", "Enable CMS", CONFIG_BINARY, "", 0 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "cms", + .description = "Enable CMS", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_mcv_config[] = { - { "irq", "IRQ", CONFIG_SELECTION, "", 7, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 3", 3 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 7, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 3", + .value = 3 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { .description = "" } } }, - { "dma", "DMA", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "DMA", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_pro_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 7, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "IRQ 10", 10 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 7, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { + .description = "IRQ 10", + .value = 10 + }, + { .description = "" } } }, - { "dma", "DMA", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 0", 0 }, - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "DMA", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 0", + .value = 0 + }, + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_16_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "0x260", 0x260 }, - { "0x280", 0x280 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x260", + .value = 0x260 + }, + { + .description = "0x280", + .value = 0x280 + }, + { .description = "" } } }, - { "base401", "MPU-401 Address", CONFIG_HEX16, "", 0x330, "", { 0 }, - { - { "Disabled", 0 }, - { "0x300", 0x300 }, - { "0x330", 0x330 }, - { "" } + { + .name = "base401", + .description = "MPU-401 Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x330, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "Disabled", + .value = 0 + }, + { + .description = "0x300", + .value = 0x300 + }, + { + .description = "0x330", + .value = 0x330 + }, + { .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "IRQ 10", 10 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 5, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { + .description = "IRQ 10", + .value = 10 + }, + { .description = "" } } }, - { "dma", "Low DMA channel", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 0", 0 }, - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "Low DMA channel", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 0", + .value = 0 + }, + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "dma16", "High DMA channel", CONFIG_SELECTION, "", 5, "", { 0 }, - { - { "DMA 5", 5 }, - { "DMA 6", 6 }, - { "DMA 7", 7 }, - { "" } + { + .name = "dma16", + .description = "High DMA channel", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 5, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 5", + .value = 5 + }, + { + .description = "DMA 6", + .value = 6 + }, + { + .description = "DMA 7", + .value = 7 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_16_pnp_config[] = { - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_32_pnp_config[] = { - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 0, "", { 0 }, - { - { "None", 0 }, - { "512 KB", 512 }, - { "2 MB", 2048 }, - { "8 MB", 8192 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "None", + .value = 0 + }, + { + .description = "512 KB", + .value = 512 + }, + { + .description = "2 MB", + .value = 2048 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "28 MB", + .value = 28672 + }, + { .description = "" } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_awe32_config[] = { - { "base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 }, - { - { "0x220", 0x220 }, - { "0x240", 0x240 }, - { "0x260", 0x260 }, - { "0x280", 0x280 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x220, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x220", + .value = 0x220 + }, + { + .description = "0x240", + .value = 0x240 + }, + { + .description = "0x260", + .value = 0x260 + }, + { + .description = "0x280", + .value = 0x280 + }, + { .description = "" } } }, - { "emu_base", "EMU8000 Address", CONFIG_HEX16, "", 0x620, "", { 0 }, - { - { "0x620", 0x620 }, - { "0x640", 0x640 }, - { "0x660", 0x660 }, - { "0x680", 0x680 }, + { + .name = "emu_base", + .description = "EMU8000 Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x620, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x620", + .value = 0x620 + }, + { + .description = "0x640", + .value = 0x640 + }, + { + .description = "0x660", + .value = 0x660 + }, + { + .description = "0x680", + .value = 0x680 + }, { .description = ""} } }, - { "base401", "MPU-401 Address", CONFIG_HEX16, "", 0x330, "", { 0 }, - { - { "Disabled", 0 }, - { "0x300", 0x300 }, - { "0x330", 0x330 }, - { "" } + { + .name = "base401", + .description = "MPU-401 Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x330, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "Disabled", + .value = 0 + }, + { + .description = "0x300", + .value = 0x300 + }, + { + .description = "0x330", + .value = 0x330 + }, + { .description = "" } } }, - { "irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, - { - { "IRQ 2", 2 }, - { "IRQ 5", 5 }, - { "IRQ 7", 7 }, - { "IRQ 10", 10 }, - { "" } + { + .name = "irq", + .description = "IRQ", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 5, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "IRQ 2", + .value = 2 + }, + { + .description = "IRQ 5", + .value = 5 + }, + { + .description = "IRQ 7", + .value = 7 + }, + { + .description = "IRQ 10", + .value = 10 + }, + { .description = "" } } }, - { "dma", "Low DMA channel", CONFIG_SELECTION, "", 1, "", { 0 }, - { - { "DMA 0", 0 }, - { "DMA 1", 1 }, - { "DMA 3", 3 }, - { "" } + { + .name = "dma", + .description = "Low DMA channel", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 0", + .value = 0 + }, + { + .description = "DMA 1", + .value = 1 + }, + { + .description = "DMA 3", + .value = 3 + }, + { .description = "" } } }, - { "dma16", "High DMA channel", CONFIG_SELECTION, "", 5, "", { 0 }, - { - { "DMA 5", 5 }, - { "DMA 6", 6 }, - { "DMA 7", 7 }, - { "" } + { + .name = "dma16", + .description = "High DMA channel", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 5, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "DMA 5", + .value = 5 + }, + { + .description = "DMA 6", + .value = 6 + }, + { + .description = "DMA 7", + .value = 7 + }, + { .description = "" } } }, - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 512, "", { 0 }, - { - { "None", 0 }, - { "512 KB", 512 }, - { "2 MB", 2048 }, - { "8 MB", 8192 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 512, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "None", + .value = 0 + }, + { + .description = "512 KB", + .value = 512 + }, + { + .description = "2 MB", + .value = 2048 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "28 MB", + .value = 28672 + }, + { "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_awe32_pnp_config[] = { - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 512, "", { 0 }, - { - { "None", 0 }, - { "512 KB", 512 }, - { "2 MB", 2048 }, - { "8 MB", 8192 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 512, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "None", + .value = 0 + }, + { + .description = "512 KB", + .value = 512 + }, + { + .description = "2 MB", + .value = 2048 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "28 MB", + .value = 28672 + }, + { .description = "" } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_awe64_value_config[] = { - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 512, "", { 0 }, - { - { "512 KB", 512 }, - { "1 MB", 1024 }, - { "2 MB", 2048 }, - { "4 MB", 4096 }, - { "8 MB", 8192 }, - { "12 MB", 12288 }, - { "16 MB", 16384 }, - { "20 MB", 20480 }, - { "24 MB", 24576 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 512, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "512 KB", + .value = 512 + }, + { + .description = "1 MB", + .value = 1024 + }, + { + .description = "2 MB", + .value = 2048 + }, + { + .description = "4 MB", + .value = 4096 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "12 MB", + .value = 12288 + }, + { + .description = "16 MB", + .value = 16384 + }, + { + .description = "20 MB", + .value = 20480 + }, + { + .description = "24 MB", + .value = 24576 + }, + { + .description = "28 MB", + .value = 28672 + }, + { .description = "" } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_awe64_config[] = { - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 1024, "", { 0 }, - { - { "1 MB", 1024 }, - { "2 MB", 2048 }, - { "4 MB", 4096 }, - { "8 MB", 8192 }, - { "12 MB", 12288 }, - { "16 MB", 16384 }, - { "20 MB", 20480 }, - { "24 MB", 24576 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 1024, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "1 MB", + .value = 1024 + }, + { + .description = "2 MB", + .value = 2048 + }, + { + .description = "4 MB", + .value = 4096 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "12 MB", + .value = 12288 + }, + { + .description = "16 MB", + .value = 16384 + }, + { + .description = "20 MB", + .value = 20480 + }, + { + .description = "24 MB", + .value = 24576 + }, + { + .description = "28 MB", + .value = 28672 + }, + { .description = "" } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; static const device_config_t sb_awe64_gold_config[] = { - { "onboard_ram", "Onboard RAM", CONFIG_SELECTION, "", 4096, "", { 0 }, - { - { "4 MB", 4096 }, - { "8 MB", 8192 }, - { "12 MB", 12288 }, - { "16 MB", 16384 }, - { "20 MB", 20480 }, - { "24 MB", 24576 }, - { "28 MB", 28672 }, - { "" } + { + .name = "onboard_ram", + .description = "Onboard RAM", + .type = CONFIG_SELECTION, + .default_string = "", + .default_int = 4096, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "4 MB", + .value = 4096 + }, + { + .description = "8 MB", + .value = 8192 + }, + { + .description = "12 MB", + .value = 12288 + }, + { + .description = "16 MB", + .value = 16384 + }, + { + .description = "20 MB", + .value = 20480 + }, + { + .description = "24 MB", + .value = 24576 + }, + { + .description = "28 MB", + .value = 28672 + }, + { .description = "" } } }, - { "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 }, - { "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 }, - { "", "", -1 } + { + .name = "receive_input", + .description = "Receive input (SB MIDI)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { + .name = "receive_input401", + .description = "Receive input (MPU-401)", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 0 + }, + { .name = "", .description = "", .type = CONFIG_END } }; // clang-format on diff --git a/src/sound/snd_sn76489.c b/src/sound/snd_sn76489.c index ad2581b33..125eff4d6 100644 --- a/src/sound/snd_sn76489.c +++ b/src/sound/snd_sn76489.c @@ -247,15 +247,30 @@ sn76489_device_close(void *p) static const device_config_t tndy_config[] = { // clang-format off { - "base", "Address", CONFIG_HEX16, "", 0x0C0, "", { 0 }, - { - { "0x0C0", 0x0C0 }, - { "0x1E0", 0x1E0 }, - { "0x2C0", 0x2C0 }, - { "" } + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x0C0, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x0C0", + .value = 0x0C0 + }, + { + .description = "0x1E0", + .value = 0x1E0 + }, + { + .description = "0x2C0", + .value = 0x2C0 + }, + { .description = "" } } }, - { "", "", -1 } + { .name = "", .description = "", .type = CONFIG_END } // clang-format on }; #endif diff --git a/src/sound/snd_ssi2001.c b/src/sound/snd_ssi2001.c index 127968d96..211091dfa 100644 --- a/src/sound/snd_ssi2001.c +++ b/src/sound/snd_ssi2001.c @@ -92,13 +92,32 @@ ssi2001_close(void *p) static const device_config_t ssi2001_config[] = { // clang-format off - { "base", "Address", CONFIG_HEX16, "", 0x280, "", { 0 }, - { - { "0x280", 0x280 }, - { "0x2A0", 0x2A0 }, - { "0x2C0", 0x2C0 }, - { "0x2E0", 0x2E0 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x280, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x280", + .value = 0x280 + }, + { + .description = "0x2A0", + .value = 0x2A0 + }, + { + .description = "0x2C0", + .value = 0x2C0 + }, + { + .description = "0x2E0", + .value = 0x2E0 + }, + { .description = "" } } }, { "gameport", "Enable Game port", CONFIG_BINARY, "", 1 }, diff --git a/src/sound/snd_wss.c b/src/sound/snd_wss.c index aafb7cbeb..8df4791c6 100644 --- a/src/sound/snd_wss.c +++ b/src/sound/snd_wss.c @@ -228,17 +228,42 @@ wss_speed_changed(void *priv) static const device_config_t wss_config[] = { // clang-format off - { "base", "Address", CONFIG_HEX16, "", 0x530, "", { 0 }, - { - { "0x530", 0x530 }, - { "0x604", 0x604 }, - { "0xe80", 0xe80 }, - { "0xf40", 0xf40 }, - { "" } + { + .name = "base", + .description = "Address", + .type = CONFIG_HEX16, + .default_string = "", + .default_int = 0x530, + .file_filter = "", + .spinner = { 0 }, + .selection = { + { + .description = "0x530", + .value = 0x530 + }, + { + .description = "0x604", + .value = 0x604 + }, + { + .description = "0xe80", + .value = 0xe80 + }, + { + .description = "0xf40", + .value = 0xf40 + }, + { .description = "" } } }, - { "opl", "Enable OPL", CONFIG_BINARY, "", 1 }, - { "", "", -1 } + { + .name = "opl", + .description = "Enable OPL", + .type = CONFIG_BINARY, + .default_string = "", + .default_int = 1 + }, + { .name = "", .description = "", .type = CONFIG_END } // clang-format on };