Merge branch '86Box:master' into nec-v20

This commit is contained in:
Jasmine Iwanek
2022-07-26 16:31:35 -04:00
committed by GitHub
30 changed files with 177 additions and 7 deletions

View File

@@ -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

View File

@@ -329,6 +329,7 @@ extern const device_t gd5428_isa_device;
extern const device_t gd5428_vlb_device;
extern const device_t gd5428_diamond_speedstar_pro_b1_vlb_device;
extern const device_t gd5428_mca_device;
extern const device_t gd5426_mca_device;
extern const device_t gd5428_onboard_device;
extern const device_t gd5429_isa_device;
extern const device_t gd5429_vlb_device;

View File

@@ -571,7 +571,7 @@ void ProgSettings::reloadStrings()
gssynthstr.replace("libgs", LIB_NAME_GS);
}
else gssynthstr.prepend(LIB_NAME_GS);
translatedstrings[IDS_2132] = flsynthstr.toStdWString();
translatedstrings[IDS_2132] = gssynthstr.toStdWString();
auto ftsynthstr = QCoreApplication::translate("", " is required for ESC/P printer emulation.");
if (ftsynthstr.contains("libfreetype"))
{

View File

@@ -25,6 +25,7 @@ extern "C" {
#include <86box/sound.h>
#include <86box/midi.h>
#include <86box/snd_mpu401.h>
#include <86box/snd_opl.h>
}
#include "qt_deviceconfig.hpp"
@@ -52,6 +53,10 @@ void SettingsSound::save() {
GAMEBLASTER = ui->checkBoxCMS->isChecked() ? 1 : 0;
GUS = ui->checkBoxGUS->isChecked() ? 1 : 0;;
sound_is_float = ui->checkBoxFloat32->isChecked() ? 1 : 0;;
if (ui->radioButtonYMFM->isChecked())
fm_driver = FM_DRV_YMFM;
else
fm_driver = FM_DRV_NUKED;
}
void SettingsSound::onCurrentMachineChanged(int machineId) {
@@ -151,6 +156,15 @@ void SettingsSound::onCurrentMachineChanged(int machineId) {
ui->pushButtonConfigureGUS->setEnabled((GUS > 0) && hasIsa16);
ui->checkBoxSSI2001->setEnabled(hasIsa);
ui->pushButtonConfigureSSI2001->setEnabled((SSI2001 > 0) && hasIsa);
switch (fm_driver) {
case FM_DRV_YMFM:
ui->radioButtonYMFM->setChecked(true);
break;
case FM_DRV_NUKED:
default:
ui->radioButtonNuked->setChecked(true);
break;
}
}
static bool allowMpu401(Ui::SettingsSound *ui) {

View File

@@ -152,6 +152,35 @@
</widget>
</item>
<item row="8" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>FM synth driver</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_1">
<item>
<widget class="QRadioButton" name="radioButtonNuked">
<property name="text">
<string>Nuked (more accurate)</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButtonYMFM">
<property name="text">
<string>YMFM (faster)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="9" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>

View File

@@ -314,7 +314,7 @@ sb_get_buffer_sbpro(int32_t *buffer, int len, void *p)
if (sb->opl_enabled) {
sb->opl.reset_buffer(sb->opl.priv);
if (sb->dsp.sb_type != SBPRO)
if (sb->dsp.sb_type == SBPRO)
sb->opl2.reset_buffer(sb->opl2.priv);
}
@@ -2749,6 +2749,17 @@ static const device_config_t sb_pro_config[] = {
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t sb_pro_mcv_config[] = {
{
.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[] = {
{
.name = "base",
@@ -3523,7 +3534,7 @@ const device_t sb_pro_mcv_device = {
{ .available = NULL },
.speed_changed = sb_speed_changed,
.force_redraw = NULL,
.config = NULL
.config = sb_pro_mcv_config
};
const device_t sb_pro_compat_device = {

View File

@@ -46,6 +46,7 @@
#define BIOS_GD5420_PATH "roms/video/cirruslogic/5420.vbi"
#define BIOS_GD5422_PATH "roms/video/cirruslogic/cl5422.bin"
#define BIOS_GD5426_DIAMOND_A1_ISA_PATH "roms/video/cirruslogic/diamond5426.vbi"
#define BIOS_GD5426_MCA_PATH "roms/video/cirruslogic/Reply.BIN"
#define BIOS_GD5428_DIAMOND_B1_VLB_PATH "roms/video/cirruslogic/Diamond SpeedStar PRO VLB v3.04.bin"
#define BIOS_GD5428_ISA_PATH "roms/video/cirruslogic/5428.bin"
#define BIOS_GD5428_MCA_PATH "roms/video/cirruslogic/SVGA141.ROM"
@@ -3902,6 +3903,8 @@ static void
else {
if (gd54xx->vlb)
romfn = BIOS_GD5428_PATH;
else if (gd54xx->mca)
romfn = BIOS_GD5426_MCA_PATH;
else
romfn = BIOS_GD5428_ISA_PATH;
}
@@ -4115,8 +4118,8 @@ static void
gd54xx->unlocked = 1;
if (gd54xx->mca) {
gd54xx->pos_regs[0] = 0x7b;
gd54xx->pos_regs[1] = 0x91;
gd54xx->pos_regs[0] = svga->crtc[0x27] == CIRRUS_ID_CLGD5426 ? 0x82 : 0x7b;
gd54xx->pos_regs[1] = svga->crtc[0x27] == CIRRUS_ID_CLGD5426 ? 0x81 : 0x91;
mca_add(gd5428_mca_read, gd5428_mca_write, gd5428_mca_feedb, NULL, gd54xx);
io_sethandler(0x46e8, 0x0001, gd54xx_in, NULL, NULL, gd54xx_out, NULL, NULL, gd54xx);
}
@@ -4184,6 +4187,12 @@ gd5428_isa_available(void)
return rom_present(BIOS_GD5428_ISA_PATH);
}
static int
gd5426_mca_available(void)
{
return rom_present(BIOS_GD5426_MCA_PATH);
}
static int
gd5428_mca_available(void)
{
@@ -4699,6 +4708,20 @@ const device_t gd5428_mca_device = {
.config = NULL
};
const device_t gd5426_mca_device = {
.name = "Cirrus Logic GD5426 (MCA) (Reply Video Adapter)",
.internal_name = "replymcasvga",
.flags = DEVICE_MCA,
.local = CIRRUS_ID_CLGD5426,
.init = gd54xx_init,
.close = gd54xx_close,
.reset = gd54xx_reset,
{ .available = gd5426_mca_available },
.speed_changed = gd54xx_speed_changed,
.force_redraw = gd54xx_force_redraw,
.config = gd5426_config
};
const device_t gd5428_onboard_device = {
.name = "Cirrus Logic GD5428 (ISA) (On-Board)",
.internal_name = "cl_gd5428_onboard",

View File

@@ -148,6 +148,7 @@ video_cards[] = {
{ &vga_device },
{ &v7_vga_1024i_device },
{ &wy700_device },
{ &gd5426_mca_device },
{ &gd5428_mca_device },
{ &et4000_mca_device },
{ &radius_svga_multiview_mca_device },

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Druh sítě:"
#define STR_PCAP "PCap zařízení:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Netzwerktyp:"
#define STR_PCAP "PCap-Gerät:"

View File

@@ -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, 154, 110, 42
CONTROL STR_FM_DRV_NUKED, IDC_RADIO_FM_DRV_NUKED,
"Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,
14, 166, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT
CONTROL STR_FM_DRV_YMFM, IDC_RADIO_FM_DRV_YMFM,
"Button", BS_AUTORADIOBUTTON | WS_TABSTOP,
14, 180, CFG_CHECKBOX_PRI_WIDTH, 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

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Network type:"
#define STR_PCAP "PCap device:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Network type:"
#define STR_PCAP "PCap device:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Tipo de red:"
#define STR_PCAP "Dispositivo PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Verkon tyyppi:"
#define STR_PCAP "PCap-laite:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Type de réseau:"
#define STR_PCAP "Dispositif PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Tip mreže:"
#define STR_PCAP "Uređaj PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Hálózati típusa:"
#define STR_PCAP "PCap eszköz:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Tipo di rete:"
#define STR_PCAP "Dispositivo PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "ネットワークタイプ:"
#define STR_PCAP "PCapデバイス:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "네트워크 종류:"
#define STR_PCAP "PCap 장치:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Rodzaj sieci:"
#define STR_PCAP "Urządzenie PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Tipo de rede:"
#define STR_PCAP "Dispositivo PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Tipo de rede:"
#define STR_PCAP "Dispositivo PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Тип сети:"
#define STR_PCAP "Устройство PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Vrsta omrežja:"
#define STR_PCAP "Naprava PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Ağ tipi:"
#define STR_PCAP "PCap cihazı:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "Тип мережі:"
#define STR_PCAP "Пристрій PCap:"

View File

@@ -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 (more accurate)"
#define STR_FM_DRV_YMFM "YMFM (faster)"
#define STR_NET_TYPE "网络类型:"
#define STR_PCAP "PCap 设备:"

View File

@@ -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;
}