diff --git a/src/include/86box/resource.h b/src/include/86box/resource.h index 75d056ea1..f0dd948ae 100644 --- a/src/include/86box/resource.h +++ b/src/include/86box/resource.h @@ -207,6 +207,9 @@ #define IDC_COMBO_MIDI_IN 1050 #define IDC_CONFIGURE_CMS 1051 #define IDC_CONFIGURE_SSI 1052 +#define IDC_FM_DRIVER 1053 +#define IDC_RADIO_FM_DRV_NUKED 1054 +#define IDC_RADIO_FM_DRV_YMFM 1055 #define IDC_COMBO_NET_TYPE 1060 /* network config */ #define IDC_COMBO_PCAP 1061 diff --git a/src/win/languages/cs-CZ.rc b/src/win/languages/cs-CZ.rc index a28b99a84..7f68db733 100644 --- a/src/win/languages/cs-CZ.rc +++ b/src/win/languages/cs-CZ.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Použít zvuk FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Druh sítě:" #define STR_PCAP "PCap zařízení:" diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 27644e4a7..f1e529bdb 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32-Wiedergabe benutzen" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Netzwerktyp:" #define STR_PCAP "PCap-Gerät:" diff --git a/src/win/languages/dialogs.rc b/src/win/languages/dialogs.rc index 45a767ea3..87240161c 100644 --- a/src/win/languages/dialogs.rc +++ b/src/win/languages/dialogs.rc @@ -364,6 +364,17 @@ BEGIN CONTROL STR_FLOAT, IDC_CHECK_FLOAT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, CFG_HMARGIN, 138, 104, CFG_CHECKBOX_HEIGHT + + GROUPBOX STR_FM_DRIVER, IDC_FM_DRIVER, + CFG_HMARGIN, 156, 100, 36 + + CONTROL STR_FM_DRV_NUKED, IDC_RADIO_FM_DRV_NUKED, + "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, + 14, 171, 40, CFG_CHECKBOX_HEIGHT + + CONTROL STR_FM_DRV_YMFM, IDC_RADIO_FM_DRV_YMFM, + "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, + 62, 171, 40, CFG_CHECKBOX_HEIGHT END DLG_CFG_NETWORK DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT @@ -924,6 +935,8 @@ END #undef STR_VIDEO #undef STR_VOODOO +#undef STR_IBM8514 +#undef STR_XGA #undef STR_MOUSE #undef STR_JOYSTICK @@ -940,6 +953,9 @@ END #undef STR_CMS #undef STR_GUS #undef STR_FLOAT +#undef STR_FM_DRIVER +#undef STR_FM_DRV_NUKED +#undef STR_FM_DRV_YMFM #undef STR_NET_TYPE #undef STR_PCAP diff --git a/src/win/languages/en-GB.rc b/src/win/languages/en-GB.rc index fbbb982cf..5fb0f3ca1 100644 --- a/src/win/languages/en-GB.rc +++ b/src/win/languages/en-GB.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Use FLOAT32 sound" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Network type:" #define STR_PCAP "PCap device:" diff --git a/src/win/languages/en-US.rc b/src/win/languages/en-US.rc index 5a5839686..294734029 100644 --- a/src/win/languages/en-US.rc +++ b/src/win/languages/en-US.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Use FLOAT32 sound" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Network type:" #define STR_PCAP "PCap device:" diff --git a/src/win/languages/es-ES.rc b/src/win/languages/es-ES.rc index b7eb61d24..47696e076 100644 --- a/src/win/languages/es-ES.rc +++ b/src/win/languages/es-ES.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usar sonido FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Tipo de red:" #define STR_PCAP "Dispositivo PCap:" diff --git a/src/win/languages/fi-FI.rc b/src/win/languages/fi-FI.rc index a8dc55b72..679fdd87c 100644 --- a/src/win/languages/fi-FI.rc +++ b/src/win/languages/fi-FI.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Käytä FLOAT32-ääntä" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Verkon tyyppi:" #define STR_PCAP "PCap-laite:" diff --git a/src/win/languages/fr-FR.rc b/src/win/languages/fr-FR.rc index 11fc3360e..86fc7c10c 100644 --- a/src/win/languages/fr-FR.rc +++ b/src/win/languages/fr-FR.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Utiliser le son FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Type de réseau:" #define STR_PCAP "Dispositif PCap:" diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index 60e6e28c4..cdd37a995 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Koristi FLOAT32 za zvuk" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Tip mreže:" #define STR_PCAP "Uređaj PCap:" diff --git a/src/win/languages/hu-HU.rc b/src/win/languages/hu-HU.rc index 6b4dae959..d7fe4a000 100644 --- a/src/win/languages/hu-HU.rc +++ b/src/win/languages/hu-HU.rc @@ -294,6 +294,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 használata" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Hálózati típusa:" #define STR_PCAP "PCap eszköz:" diff --git a/src/win/languages/it-IT.rc b/src/win/languages/it-IT.rc index 20d301f47..771c4d443 100644 --- a/src/win/languages/it-IT.rc +++ b/src/win/languages/it-IT.rc @@ -290,6 +290,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usa suono FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Tipo di rete:" #define STR_PCAP "Dispositivo PCap:" diff --git a/src/win/languages/ja-JP.rc b/src/win/languages/ja-JP.rc index 151e13e65..4b7dd37af 100644 --- a/src/win/languages/ja-JP.rc +++ b/src/win/languages/ja-JP.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32サウンドを使用する" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "ネットワークタイプ:" #define STR_PCAP "PCapデバイス:" diff --git a/src/win/languages/ko-KR.rc b/src/win/languages/ko-KR.rc index 831ca74bb..49e02b2bd 100644 --- a/src/win/languages/ko-KR.rc +++ b/src/win/languages/ko-KR.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 사운드 사용" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "네트워크 종류:" #define STR_PCAP "PCap 장치:" diff --git a/src/win/languages/pl-PL.rc b/src/win/languages/pl-PL.rc index 211eb3ed8..3229bdb2c 100644 --- a/src/win/languages/pl-PL.rc +++ b/src/win/languages/pl-PL.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Użyj dźwięku FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Rodzaj sieci:" #define STR_PCAP "Urządzenie PCap:" diff --git a/src/win/languages/pt-BR.rc b/src/win/languages/pt-BR.rc index 5e23a9d71..a3a751612 100644 --- a/src/win/languages/pt-BR.rc +++ b/src/win/languages/pt-BR.rc @@ -292,6 +292,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Usar som FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Tipo de rede:" #define STR_PCAP "Dispositivo PCap:" diff --git a/src/win/languages/pt-PT.rc b/src/win/languages/pt-PT.rc index fafc21df4..30f3ed652 100644 --- a/src/win/languages/pt-PT.rc +++ b/src/win/languages/pt-PT.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Utilizar som FLOAT32" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Tipo de rede:" #define STR_PCAP "Dispositivo PCap:" diff --git a/src/win/languages/ru-RU.rc b/src/win/languages/ru-RU.rc index 15bd1752d..06812f592 100644 --- a/src/win/languages/ru-RU.rc +++ b/src/win/languages/ru-RU.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 звук" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Тип сети:" #define STR_PCAP "Устройство PCap:" diff --git a/src/win/languages/sl-SI.rc b/src/win/languages/sl-SI.rc index 7d715c5ca..41be02e1e 100644 --- a/src/win/languages/sl-SI.rc +++ b/src/win/languages/sl-SI.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "Uporabi FLOAT32 za zvok" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Vrsta omrežja:" #define STR_PCAP "Naprava PCap:" diff --git a/src/win/languages/tr-TR.rc b/src/win/languages/tr-TR.rc index cc3a98406..bf07d6075 100644 --- a/src/win/languages/tr-TR.rc +++ b/src/win/languages/tr-TR.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 ses kullan" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Ağ tipi:" #define STR_PCAP "PCap cihazı:" diff --git a/src/win/languages/uk-UA.rc b/src/win/languages/uk-UA.rc index dfb86cc8b..ac467e5c1 100644 --- a/src/win/languages/uk-UA.rc +++ b/src/win/languages/uk-UA.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "FLOAT32 звук" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "Тип мережі:" #define STR_PCAP "Пристрій PCap:" diff --git a/src/win/languages/zh-CN.rc b/src/win/languages/zh-CN.rc index a3c324c6c..b3ba924c5 100644 --- a/src/win/languages/zh-CN.rc +++ b/src/win/languages/zh-CN.rc @@ -289,6 +289,9 @@ END #define STR_CMS "CMS / Game Blaster" #define STR_GUS "Gravis Ultrasound" #define STR_FLOAT "使用单精度浮点 (FLOAT32)" +#define STR_FM_DRIVER "FM synth driver" +#define STR_FM_DRV_NUKED "Nuked" +#define STR_FM_DRV_YMFM "YMFM" #define STR_NET_TYPE "网络类型:" #define STR_PCAP "PCap 设备:" diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 84ad26754..227c007b1 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -63,6 +63,7 @@ #include <86box/sound.h> #include <86box/midi.h> #include <86box/snd_mpu401.h> +#include <86box/snd_opl.h> #include <86box/video.h> #include <86box/vid_xga_device.h> #include <86box/plat.h> @@ -94,7 +95,7 @@ static int temp_mouse, temp_joystick; /* Sound category */ static int temp_sound_card, temp_midi_output_device, temp_midi_input_device, temp_mpu401, temp_SSI2001, temp_GAMEBLASTER, temp_GUS; -static int temp_float; +static int temp_float, temp_fm_driver; /* Network category */ static int temp_net_type, temp_net_card; @@ -350,6 +351,7 @@ win_settings_init(void) temp_GAMEBLASTER = GAMEBLASTER; temp_GUS = GUS; temp_float = sound_is_float; + temp_fm_driver = fm_driver; /* Network category */ temp_net_type = network_type; @@ -476,6 +478,7 @@ win_settings_changed(void) i = i || (GAMEBLASTER != temp_GAMEBLASTER); i = i || (GUS != temp_GUS); i = i || (sound_is_float != temp_float); + i = i || (fm_driver != temp_fm_driver); /* Network category */ i = i || (network_type != temp_net_type); @@ -568,6 +571,7 @@ win_settings_save(void) GAMEBLASTER = temp_GAMEBLASTER; GUS = temp_GUS; sound_is_float = temp_float; + fm_driver = temp_fm_driver; /* Network category */ network_type = temp_net_type; @@ -1421,6 +1425,11 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) settings_enable_window(hdlg, IDC_CONFIGURE_SSI, machine_has_bus(temp_machine, MACHINE_BUS_ISA) && temp_SSI2001); settings_set_check(hdlg, IDC_CHECK_FLOAT, temp_float); + if (temp_fm_driver == FM_DRV_YMFM) + settings_set_check(hdlg, IDC_RADIO_FM_DRV_YMFM, BST_CHECKED); + else + settings_set_check(hdlg, IDC_RADIO_FM_DRV_NUKED, BST_CHECKED); + free(lptsTemp); return TRUE; @@ -1517,7 +1526,10 @@ win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) temp_GUS = settings_get_check(hdlg, IDC_CHECK_GUS); temp_SSI2001 = settings_get_check(hdlg, IDC_CHECK_SSI); temp_float = settings_get_check(hdlg, IDC_CHECK_FLOAT); - + if (settings_get_check(hdlg, IDC_RADIO_FM_DRV_NUKED)) + temp_fm_driver = FM_DRV_NUKED; + if (settings_get_check(hdlg, IDC_RADIO_FM_DRV_YMFM)) + temp_fm_driver = FM_DRV_YMFM; default: return FALSE; }