Merge branch '86Box:master' into MS5146_1998

This commit is contained in:
Verloren50000
2025-10-24 20:48:01 +08:00
committed by GitHub
42 changed files with 566 additions and 289 deletions

View File

@@ -141,7 +141,7 @@ serial_update_ints(serial_t *dev)
}
}
serial_do_irq(dev, !(dev->iir & 0x01) && ((dev->mctrl & 8) || (dev->type == SERIAL_8250_PCJR)));
serial_do_irq(dev, !(dev->iir & 0x01) && ((dev->mctrl & 8) || ((dev->type == SERIAL_8250_PCJR_3F8) || (dev->type == SERIAL_8250_PCJR_2F8))));
}
static void
@@ -971,15 +971,20 @@ serial_init(const device_t *info)
serial_setup(dev, COM4_ADDR, COM4_IRQ);
else if (next_inst == 2)
serial_setup(dev, COM3_ADDR, COM3_IRQ);
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR))
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR_2F8))
serial_setup(dev, COM2_ADDR, COM2_IRQ);
// TODO
#if 0
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR_3F8))
serial_setup(dev, COM1_ADDR, COM1_IRQ);
#endif
else if (next_inst == 0)
serial_setup(dev, COM1_ADDR, COM1_IRQ);
/* Default to 1200,N,7. */
dev->dlab = 96;
dev->fcr = 0x06;
if (info->local == SERIAL_8250_PCJR)
if ((info->local == SERIAL_8250_PCJR_3F8) || (info->local == SERIAL_8250_PCJR_2F8))
dev->clock_src = 1789500.0;
else
dev->clock_src = 1843200.0;
@@ -1039,11 +1044,25 @@ const device_t ns8250_device = {
.config = NULL
};
const device_t ns8250_pcjr_device = {
.name = "National Semiconductor 8250(-compatible) UART for PCjr",
.internal_name = "ns8250_pcjr",
const device_t ns8250_pcjr_3f8_device = {
.name = "National Semiconductor 8250(-compatible) UART for PCjr (0x3f8)",
.internal_name = "ns8250_pcjr_3f8",
.flags = 0,
.local = SERIAL_8250_PCJR,
.local = SERIAL_8250_PCJR_3F8,
.init = serial_init,
.close = serial_close,
.reset = serial_reset,
.available = NULL,
.speed_changed = serial_speed_changed,
.force_redraw = NULL,
.config = NULL
};
const device_t ns8250_pcjr_2f8_device = {
.name = "National Semiconductor 8250(-compatible) UART for PCjr (0x2f8)",
.internal_name = "ns8250_pcjr_2f8",
.flags = 0,
.local = SERIAL_8250_PCJR_2F8,
.init = serial_init,
.close = serial_close,
.reset = serial_reset,

View File

@@ -392,7 +392,7 @@ joystick_standard_a0_over(UNUSED(void *priv))
}
const joystick_t joystick_generic_paddle = {
.name = "Generic Paddle Controller(s)",
.name = "Generic paddle controller(s)",
.internal_name = "generic_paddle",
.init = joystick_standard_init,
.close = joystick_standard_close,
@@ -825,7 +825,7 @@ const joystick_t joystick_4button_yoke_throttle = {
};
const joystick_t joystick_steering_wheel_2_button = {
.name = "Steering Wheel (3-axis, 2-button)",
.name = "Steering wheel (3-axis, 2-button)",
.internal_name = "steering_wheel_2_button",
.init = joystick_standard_init,
.close = joystick_standard_close,
@@ -843,7 +843,7 @@ const joystick_t joystick_steering_wheel_2_button = {
};
const joystick_t joystick_steering_wheel_3_button = {
.name = "Steering Wheel (3-axis, 3-button)",
.name = "Steering wheel (3-axis, 3-button)",
.internal_name = "steering_wheel_3_button",
.init = joystick_standard_init,
.close = joystick_standard_close,
@@ -861,7 +861,7 @@ const joystick_t joystick_steering_wheel_3_button = {
};
const joystick_t joystick_steering_wheel_4_button = {
.name = "Steering Wheel (3-axis, 4-button)",
.name = "Steering wheel (3-axis, 4-button)",
.internal_name = "steering_wheel_4_button",
.init = joystick_standard_init,
.close = joystick_standard_close,

View File

@@ -67,7 +67,9 @@ typedef struct pcjr_s {
uint8_t pa;
uint8_t pb;
uint8_t option_modem;
uint8_t option_fdc;
uint8_t option_ir;
pc_timer_t send_delay_timer;

View File

@@ -20,14 +20,15 @@
#ifndef EMU_SERIAL_H
#define EMU_SERIAL_H
#define SERIAL_8250 0
#define SERIAL_8250_PCJR 1
#define SERIAL_16450 2
#define SERIAL_16550 3
#define SERIAL_16650 4
#define SERIAL_16750 5
#define SERIAL_16850 6
#define SERIAL_16950 7
#define SERIAL_8250 0
#define SERIAL_8250_PCJR_3F8 1
#define SERIAL_8250_PCJR_2F8 2
#define SERIAL_16450 3
#define SERIAL_16550 4
#define SERIAL_16650 5
#define SERIAL_16750 6
#define SERIAL_16850 7
#define SERIAL_16950 8
#define SERIAL_FIFO_SIZE 16
@@ -151,7 +152,8 @@ extern int serial_get_ri(serial_t *dev);
extern uint8_t serial_get_shadow(serial_t *dev);
extern const device_t ns8250_device;
extern const device_t ns8250_pcjr_device;
extern const device_t ns8250_pcjr_3f8_device;
extern const device_t ns8250_pcjr_2f8_device;
extern const device_t ns16450_device;
extern const device_t ns16550_device;
extern const device_t ns16650_device;

View File

@@ -173,11 +173,11 @@ static const device_config_t lx6_config[] = {
.files_no = 1,
.local = 0,
.size = 131072,
.files = { "roms/machines/lx6/LX6C_LY.BIN", "" }
.files = { "roms/machines/lx6/LX6C_LY.bin", "" }
},
{
.name = "Award Modular BIOS v4.51PG - Revision PZ (Beta)",
.internal_name = "lx6_beta",
.internal_name = "lx6_pz",
.bios_type = BIOS_NORMAL,
.files_no = 1,
.local = 0,

View File

@@ -653,7 +653,8 @@ kbd_read(uint16_t port, void *priv)
case 0x62:
ret = (pcjr->latched ? 1 : 0);
ret |= 0x02; /* Modem card not installed */
if (!pcjr->option_modem)
ret |= 0x02; /* Modem card not installed */
if (!pcjr->option_fdc)
ret |= 0x04; /* Diskette card not installed */
if (mem_size < 128)
@@ -667,6 +668,8 @@ kbd_read(uint16_t port, void *priv)
ret |= (pcjr->data ? 0x40 : 0);
if (pcjr->data)
ret |= 0x40;
if (pcjr->option_ir)
ret |= 0x80; /* Keyboard cable not connected */
break;
case 0xa0:
@@ -816,6 +819,30 @@ static const device_config_t pcjr_config[] = {
.selection = { { 0 } },
.bios = { { 0 } }
},
#if 0
{
.name = "modem_slot",
.description = "Enable Serial Port in Modem Slot",
.type = CONFIG_BINARY,
.default_string = NULL,
.default_int = 0,
.file_filter = NULL,
.spinner = { 0 },
.selection = { { 0 } },
.bios = { { 0 } }
},
{
.name = "ir_reciever",
.description = "Enable IR Reciever",
.type = CONFIG_BINARY,
.default_string = NULL,
.default_int = 0,
.file_filter = NULL,
.spinner = { 0 },
.selection = { { 0 } },
.bios = { { 0 } }
},
#endif
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -849,7 +876,17 @@ machine_pcjr_init(UNUSED(const machine_t *model))
pcjr = calloc(1, sizeof(pcjr_t));
pcjr->option_fdc = 0;
#if 0
pcjr->option_modem = device_get_config_int("modem_slot");
#else
pcjr->option_modem = 0;
#endif
pcjr->option_fdc = 0;
#if 0
pcjr->option_ir = device_get_config_int("ir_reciever");
#else
pcjr->option_ir = 0;
#endif
is_pcjr = 1;
@@ -870,9 +907,13 @@ machine_pcjr_init(UNUSED(const machine_t *model))
keyboard_scan = 1;
key_queue_start = key_queue_end = 0;
io_sethandler(0x0060, 4,
kbd_read, NULL, NULL, kbd_write, NULL, NULL, pcjr);
kbd_read, NULL, NULL,
kbd_write, NULL, NULL,
pcjr);
io_sethandler(0x00a0, 8,
kbd_read, NULL, NULL, kbd_write, NULL, NULL, pcjr);
kbd_read, NULL, NULL,
kbd_write, NULL, NULL,
pcjr);
timer_add(&pcjr->send_delay_timer, kbd_poll, pcjr, 1);
keyboard_set_table(scancode_pcjr);
keyboard_send = kbd_adddata_ex;
@@ -887,7 +928,13 @@ machine_pcjr_init(UNUSED(const machine_t *model))
pcjr->option_fdc = 1;
}
device_add(&ns8250_pcjr_device);
if (!pcjr->option_modem)
device_add(&ns8250_pcjr_2f8_device);
else {
device_add(&ns8250_pcjr_3f8_device);
device_add(&ns8250_pcjr_2f8_device);
}
/* So that serial_standalone_init() won't do anything. */
serial_set_next_inst(SERIAL_MAX - 1);

View File

@@ -10728,7 +10728,7 @@ const machine_t machines[] = {
/* This has the UMC 88xx on-chip KBC. All the copies of the BIOS string I can find, end in
in -H, so the UMC on-chip KBC likely emulates the AMI 'H' KBC firmware. */
{
.name = "[UMC 8881] PCChips M919",
.name = "[UMC 8881] PC Chips M919",
.internal_name = "m919",
.type = MACHINE_TYPE_486_S3_PCI,
.chipset = MACHINE_CHIPSET_UMC_UM8881,
@@ -13332,49 +13332,6 @@ const machine_t machines[] = {
.vid_device = NULL,
.snd_device = NULL,
.net_device = NULL
},
{
.name = "[i430FX] HP Vectra VE 5/XXX Series 2",
.internal_name = "hpvectravexxx",
.type = MACHINE_TYPE_SOCKET7_3V,
.chipset = MACHINE_CHIPSET_INTEL_430FX,
.init = machine_at_hpvectravexxx_init,
.p1_handler = machine_generic_p1_handler,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_SOCKET5_7,
.block = CPU_BLOCK_NONE,
.min_bus = 50000000,
.max_bus = 66666667,
.min_voltage = 3380,
.max_voltage = 3520,
.min_multi = 1.5,
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
.ram = {
.min = 8192,
.max = 131072,
.step = 8192
},
.nvrmask = 255,
.jumpered_ecp_dma = 0,
.default_jumpered_ecp_dma = -1,
.kbc_device = NULL,
.kbc_params = 0x00000000,
.kbc_p1 = 0x00000cf0,
.gpio = 0xffffffff,
.gpio_acpi = 0xffffffff,
.device = &hpvectravexxx_device,
.kbd_device = NULL,
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &gd5436_onboard_pci_device,
.snd_device = NULL,
.net_device = NULL
},
{
.name = "[i430FX] HP Vectra 500 Series xxx/MT",
@@ -13419,6 +13376,49 @@ const machine_t machines[] = {
.snd_device = NULL,
.net_device = NULL
},
{
.name = "[i430FX] HP Vectra VE 5/xxx Series 2",
.internal_name = "hpvectravexxx",
.type = MACHINE_TYPE_SOCKET7_3V,
.chipset = MACHINE_CHIPSET_INTEL_430FX,
.init = machine_at_hpvectravexxx_init,
.p1_handler = machine_generic_p1_handler,
.gpio_handler = NULL,
.available_flag = MACHINE_AVAILABLE,
.gpio_acpi_handler = NULL,
.cpu = {
.package = CPU_PKG_SOCKET5_7,
.block = CPU_BLOCK_NONE,
.min_bus = 50000000,
.max_bus = 66666667,
.min_voltage = 3380,
.max_voltage = 3520,
.min_multi = 1.5,
.max_multi = 3.0
},
.bus_flags = MACHINE_PS2_PCI,
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
.ram = {
.min = 8192,
.max = 131072,
.step = 8192
},
.nvrmask = 255,
.jumpered_ecp_dma = 0,
.default_jumpered_ecp_dma = -1,
.kbc_device = NULL,
.kbc_params = 0x00000000,
.kbc_p1 = 0x00000cf0,
.gpio = 0xffffffff,
.gpio_acpi = 0xffffffff,
.device = &hpvectravexxx_device,
.kbd_device = NULL,
.fdc_device = NULL,
.sio_device = NULL,
.vid_device = &gd5436_onboard_pci_device,
.snd_device = NULL,
.net_device = NULL
},
/* Has a SM(S)C FDC37C932 Super I/O chip with on-chip KBC with AMI
MegaKey (revision '5') KBC firmware. */
{
@@ -13739,7 +13739,7 @@ const machine_t machines[] = {
},
/* Has a VIA VT82C42N KBC. */
{
.name = "[i430FX] PCPartner MB500N",
.name = "[i430FX] PC Partner MB500N",
.internal_name = "mb500n",
.type = MACHINE_TYPE_SOCKET7_3V,
.chipset = MACHINE_CHIPSET_INTEL_430FX,
@@ -14416,7 +14416,7 @@ const machine_t machines[] = {
},
/* Has the ALi M1543 southbridge with on-chip KBC. */
{
.name = "[ALi ALADDiN IV+] PCChips M560",
.name = "[ALi ALADDiN IV+] PC Chips M560",
.internal_name = "m560",
.type = MACHINE_TYPE_SOCKET7,
.chipset = MACHINE_CHIPSET_ALI_ALADDIN_IV_PLUS,
@@ -15501,7 +15501,7 @@ const machine_t machines[] = {
/* This has the AMIKey 'H' firmware, possibly AMIKey-2. Photos show it with a BestKey, so it
likely clones the behavior of AMIKey 'H'. */
{
.name = "[i430VX] PCPartner MB520N",
.name = "[i430VX] PC Partner MB520N",
.internal_name = "mb520n",
.type = MACHINE_TYPE_SOCKET7,
.chipset = MACHINE_CHIPSET_INTEL_430VX,
@@ -15965,7 +15965,7 @@ const machine_t machines[] = {
/* The BIOS sends KBC command BB and expects it to output a byte, which is AMI KBC behavior.
A picture shows a VIA VT82C42N KBC though, so it could be a case of that KBC with AMI firmware. */
{
.name = "[i430TX] PCPartner MB540N",
.name = "[i430TX] PC Partner MB540N",
.internal_name = "mb540n",
.type = MACHINE_TYPE_SOCKET7,
.chipset = MACHINE_CHIPSET_INTEL_430TX,
@@ -16506,7 +16506,7 @@ const machine_t machines[] = {
/* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA
VT82C42N. */
{
.name = "[VIA VP3] PCPartner VIA809DS",
.name = "[VIA VP3] PC Partner VIA809DS",
.internal_name = "via809ds",
.type = MACHINE_TYPE_SOCKET7,
.chipset = MACHINE_CHIPSET_VIA_APOLLO_VP3,
@@ -16730,7 +16730,7 @@ const machine_t machines[] = {
/* Is the exact same as the Matsonic MS6260S. Has the ALi M1543C southbridge
with on-chip KBC. */
{
.name = "[ALi ALADDiN V] PCChips M579",
.name = "[ALi ALADDiN V] PC Chips M579",
.internal_name = "m579",
.type = MACHINE_TYPE_SOCKETS7,
.chipset = MACHINE_CHIPSET_ALI_ALADDIN_V,
@@ -17586,7 +17586,7 @@ const machine_t machines[] = {
},
/* Has a VIA VT82C42N KBC. */
{
.name = "[i440FX] PCPartner MB600N",
.name = "[i440FX] PC Partner MB600N",
.internal_name = "mb600n",
.type = MACHINE_TYPE_SOCKET8,
.chipset = MACHINE_CHIPSET_INTEL_440FX,
@@ -17633,7 +17633,7 @@ const machine_t machines[] = {
/* ALi ALADDiN-PRO II */
/* Has the ALi M1543C southbridge with on-chip KBC. */
{
.name = "[ALi ALADDiN-PRO II] PCChips M729",
.name = "[ALi ALADDiN-PRO II] PC Chips M729",
.internal_name = "m729",
.type = MACHINE_TYPE_SLOT1,
.chipset = MACHINE_CHIPSET_ALI_ALADDIN_PRO_II,
@@ -18674,7 +18674,7 @@ const machine_t machines[] = {
},
/* Has the SiS (5)600 chipset with on-chip KBC. */
{
.name = "[SiS 5600] PCChips M747",
.name = "[SiS 5600] PC Chips M747",
.internal_name = "m747",
.type = MACHINE_TYPE_SLOT1,
.chipset = MACHINE_CHIPSET_SIS_5600,
@@ -19554,7 +19554,7 @@ const machine_t machines[] = {
/* Has an ITE IT8671F Super I/O chip with on-chip KBC with AMIKey-2 KBC
firmware. */
{
.name = "[SMSC VictoryBX-66] PCChips M773",
.name = "[SMSC VictoryBX-66] PC Chips M773",
.internal_name = "m773",
.type = MACHINE_TYPE_SOCKET370,
.chipset = MACHINE_CHIPSET_SMSC_VICTORYBX_66,
@@ -19601,7 +19601,7 @@ const machine_t machines[] = {
/* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA
VT82C42N. */
{
.name = "[VIA Apollo Pro] PCPartner APAS3",
.name = "[VIA Apollo Pro] PC Partner APAS3",
.internal_name = "apas3",
.type = MACHINE_TYPE_SOCKET370,
.chipset = MACHINE_CHIPSET_VIA_APOLLO_PRO,

View File

@@ -849,7 +849,7 @@ msgstr ""
msgid "Invalid PCap device"
msgstr ""
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr ""
msgid "4-button flight yoke with throttle"
msgstr ""
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr ""
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr ""
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr ""
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr ""
msgid "VDE Socket:"
msgstr ""
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr ""

View File

@@ -849,7 +849,7 @@ msgstr "Nebyla nalezena žádná PCap zařízení"
msgid "Invalid PCap device"
msgstr "Neplatné PCap zařízení"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Letecký knipl s 3 tlačítky a pákou"
msgid "4-button flight yoke with throttle"
msgstr "Letecký knipl s 4 tlačítky a pákou"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volant (3 osy, 2 tlačítka)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volant (3 osy, 3 tlačítka)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volant (3 osy, 4 tlačítka)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptér:"
msgid "VDE Socket:"
msgstr "Zásuvka VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box Unit Tester"

View File

@@ -849,7 +849,7 @@ msgstr "Keine PCap-Geräte gefunden"
msgid "Invalid PCap device"
msgstr "Ungültiges PCap-Gerät"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3-Tasten-Steuerhorn mit Schubregler"
msgid "4-button flight yoke with throttle"
msgstr "4-Tasten-Steuerhorn mit Schubregler"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Lenkrad (3-Achsen, 2-Tasten)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Lenkrad (3-Achsen, 3-Tasten)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Lenkrad (3-Achsen, 4-Tasten)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "VDE Anschluss:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box-Gerätetester"

View File

@@ -849,7 +849,7 @@ msgstr "No se encontraron dispositivos PCap"
msgid "Invalid PCap device"
msgstr "Dispositivo PCap inválido"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Yugo de vuelo de 3 botones con acelerador"
msgid "4-button flight yoke with throttle"
msgstr "Yugo de vuelo de 4 botones con acelerador"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volante (de 3 ejes, 2 botones)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volante (de 3 ejes, 3 botones)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volante (de 3 ejes, 4 botones)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptador:"
msgid "VDE Socket:"
msgstr "Toma VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Comprobador de unidad 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "PCap-laitteita ei löytynyt"
msgid "Invalid PCap device"
msgstr "Virheellinen PCap-laite"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3-painikkeinen lento-ohjain kaasuvivulla"
msgid "4-button flight yoke with throttle"
msgstr "4-painikkeinen lento-ohjain kaasuvivulla"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "ratti (3-akselinen, 2-painikkeinen)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "ratti (3-akselinen, 3-painikkeinen)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "ratti (3-akselinen, 4-painikkeinen)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Sovitin:"
msgid "VDE Socket:"
msgstr "VDE-socket:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box Unit Tester"

View File

@@ -849,7 +849,7 @@ msgstr "Aucun dispositif PCap trouvé"
msgid "Invalid PCap device"
msgstr "Dispositif PCap invalide"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Manette de vol à 3 boutons avec manette des gaz"
msgid "4-button flight yoke with throttle"
msgstr "Manette de vol à 4 boutons avec manette des gaz"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volant (3 axes, 2 boutons)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volant (3 axes, 3 boutons)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volant (3 axes, 4 boutons)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptateur:"
msgid "VDE Socket:"
msgstr "Prise VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Testeur d'unité de 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "Nema PCap uređaja"
msgid "Invalid PCap device"
msgstr "Nevažeći PCap uređaj"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Jaram za letenje s 3 tipke i gasom"
msgid "4-button flight yoke with throttle"
msgstr "Jaram za letenje s 4 tipke i gasom"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volan (3 osi, 2 tipke)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volan (3 osi, 3 tipke)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volan (3 osi, 4 tipke)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "VDE utičnica:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Jedinični ispitivač 86Box-a"

View File

@@ -849,7 +849,7 @@ msgstr "Nessun dispositivo PCap trovato"
msgid "Invalid PCap device"
msgstr "Dispositivo PCap non valido"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Barra di comando a 4 pulsanti con acceleratore"
msgid "4-button flight yoke with throttle"
msgstr "Barra di comando a 4 pulsanti con acceleratore"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volante (3 assi, 2 pulsanti)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volante (3 assi, 3 pulsanti)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volante (3 assi, 4 pulsanti)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adattatore:"
msgid "VDE Socket:"
msgstr "Presa VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Tester di unità 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "PCapデバイスがありません"
msgid "Invalid PCap device"
msgstr "不正なPCapデバイス"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3ボタン式フライトヨーク(スロットル付き)"
msgid "4-button flight yoke with throttle"
msgstr "4ボタン式フライトヨーク(スロットル付き)"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "ステアリングホイール(3軸、2ボタン)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "ステアリングホイール(3軸、3ボタン)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "ステアリングホイール(3軸、4ボタン)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "アダプター:"
msgid "VDE Socket:"
msgstr "VDEソケット:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Boxユニットテスター"

View File

@@ -849,7 +849,7 @@ msgstr "PCap 장치가 없습니다"
msgid "Invalid PCap device"
msgstr "PCap 장치가 올바르지 않습니다"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3버튼 비행 조종간과 스로틀"
msgid "4-button flight yoke with throttle"
msgstr "4버튼 비행 조종간과 스로틀"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "조타륜 (3축, 2버튼)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "조타륜 (3축, 3버튼)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "조타륜 (3축, 4버튼)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "어댑터:"
msgid "VDE Socket:"
msgstr "VDE 소켓:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box 유닛 테스터"

View File

@@ -849,7 +849,7 @@ msgstr "Ingen PCap-enheter funnet"
msgid "Invalid PCap device"
msgstr "Ugyldig PCap-enhet"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3-knapps flystyre med gass"
msgid "4-button flight yoke with throttle"
msgstr "4-knapps flystyre med gass"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Ratt (3-akset, 3-knapps)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Ratt (3-akset, 3-knapps)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Ratt (3-akset, 4-knapps)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "VDE-kontakt:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box-enhetstester"

View File

@@ -849,7 +849,7 @@ msgstr "Geen PCap-apparaten gevonden"
msgid "Invalid PCap device"
msgstr "Ongeldig PCap-apparaat"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3-kops stuurknuppel met gashendel"
msgid "4-button flight yoke with throttle"
msgstr "4-kops stuurknuppel met gashendel"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Stuurwiel (3 assen, 2 knoppen)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Stuurwiel (3 assen, 3 knoppen)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Stuurwiel (3 assen, 4 knoppen)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "VDE-socket:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box Apparaattester"

View File

@@ -849,14 +849,14 @@ msgstr "Nie znaleziono urządzeń PCap"
msgid "Invalid PCap device"
msgstr "Nieprawidłowe urządzenie PCap"
msgid "Generic Paddle Controller(s)"
msgstr ""
msgid "Generic paddle controller(s)"
msgstr "Generyczny kontroler paddle"
msgid "2-axis, 1-button joystick(s)"
msgstr "Joysticki 2-osiowe, 1-przyciskowe"
msgstr "Joystick(i) 2-osiowe, 1-przyciskowe"
msgid "2-axis, 2-button joystick(s)"
msgstr "Joysticki 2-osiowe, 2-przyciskowe"
msgstr "Joystick(i) 2-osiowe, 2-przyciskowe"
msgid "2-axis, 3-button joystick"
msgstr "Joystick 2-osiowy, 3-przyciskowy"
@@ -892,13 +892,13 @@ msgid "2-button gamepad(s)"
msgstr "Pad(y) z dwoma przyciskami"
msgid "3-button gamepad"
msgstr "Pad z trzy przyciskami"
msgstr "Pad z trzema przyciskami"
msgid "4-button gamepad"
msgstr "Pad z czterema przyciskami"
msgid "6-button gamepad"
msgstr "Pad z sześć przyciskami"
msgstr "Pad z sześcioma przyciskami"
msgid "Gravis PC GamePad"
msgstr "Gravis PC GamePad"
@@ -921,13 +921,13 @@ msgstr "Wolant z trzema przyciskami i przepustnicą"
msgid "4-button flight yoke with throttle"
msgstr "Wolant z czterema przyciskami i przepustnicą"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Kierownica (3 osie, 2 przyciski)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Kierownica (3 osie, 3 przyciski)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Kierownica (3 osie, 4 przyciski)"
msgid "CH Flightstick"
@@ -976,10 +976,10 @@ msgid "Thrustmaster FCS + Rudder Control System"
msgstr "Thrustmaster FCS + Rudder Control System"
msgid "Thrustmaster Formula T1/T2 with Adaptor"
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
msgstr "Thrustmaster Formula T1/T2 z Adaptorem"
msgid "Thrustmaster Formula T1/T2 without Adaptor"
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
msgstr "Thrustmaster Formula T1/T2 bez Adaptora"
msgid "None"
msgstr "Żaden"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "Gniazdo VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Tester urządzeń 86Box"
@@ -3049,19 +3052,19 @@ msgid "Export EDID"
msgstr "Eksportuj EDID"
msgid "EDID file \"%ls\" is too large."
msgstr "Plik EDID \"%ls\" jest zbyt duży."
msgstr "Plik EDID %ls jest zbyt duży."
msgid "OpenGL input scale"
msgstr "Skala wejściowa OpenGL"
msgstr "Skala wejścia OpenGL"
msgid "OpenGL input stretch mode"
msgstr "Tryb rozciągania wejściowego OpenGL"
msgstr "Tryb rozciągania wejścia OpenGL"
msgid "Color scheme"
msgstr "Schemat kolorów"
msgid "Light"
msgstr "Światło"
msgstr "Jasny"
msgid "Dark"
msgstr "Ciemny"

View File

@@ -849,7 +849,7 @@ msgstr "Nenhum dispositivo PCap encontrado"
msgid "Invalid PCap device"
msgstr "Dispositivo PCap inválido"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Manche de voo de 3 botões com acelerador"
msgid "4-button flight yoke with throttle"
msgstr "Manche de voo de 4 botões com acelerador"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volante (3 eixos, 2 botões)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volante (3 eixos, 3 botões)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volante (3 eixos, 4 botões)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptador:"
msgid "VDE Socket:"
msgstr "Soquete VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Testador de unidade 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "Não foi encontrado um dispositivo PCap"
msgid "Invalid PCap device"
msgstr "Dispositivo PCap inválido"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Manípulo de voo de 3 botões com acelerador"
msgid "4-button flight yoke with throttle"
msgstr "Manípulo de voo de 4 botões com acelerador"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volante (de 3 eixos, 2 botões)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volante (de 3 eixos, 3 botões)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volante (de 3 eixos, 4 botões)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptador:"
msgid "VDE Socket:"
msgstr "Tomada VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Testador de unidades 86Box"

View File

@@ -849,8 +849,8 @@ msgstr "Устройства PCap не найдены"
msgid "Invalid PCap device"
msgstr "Неверное устройство PCap"
msgid "Generic Paddle Controller(s)"
msgstr ""
msgid "Generic paddle controller(s)"
msgstr "Стандартный контроллер-колесо"
msgid "2-axis, 1-button joystick(s)"
msgstr "2-осевой, 1-кнопочный джойстик"
@@ -904,30 +904,30 @@ msgid "Gravis PC GamePad"
msgstr "Gravis PC GamePad"
msgid "2-button flight yoke"
msgstr "2-кнопочный flight yoke"
msgstr "2-кнопочный штурвал"
msgid "3-button flight yoke"
msgstr "3-кнопочный flight yoke"
msgstr "3-кнопочный штурвал"
msgid "4-button flight yoke"
msgstr "4-кнопочный flight yoke"
msgstr "4-кнопочный штурвал"
msgid "2-button flight yoke with throttle"
msgstr "2-кнопочный flight yoke с дросселем"
msgstr "2-кнопочный штурвал с дросселем"
msgid "3-button flight yoke with throttle"
msgstr "3-кнопочный flight yoke с дросселем"
msgstr "3-кнопочный штурвал с дросселем"
msgid "4-button flight yoke with throttle"
msgstr "4-кнопочный flight yoke с дросселем"
msgstr "4-кнопочный штурвал с дросселем"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Руль (3-осевой, 2-кнопочный)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Руль (3-осевой, 3-кнопочный)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Руль (3-осевой, 4-кнопочный)"
msgid "CH Flightstick"
@@ -976,10 +976,10 @@ msgid "Thrustmaster FCS + Rudder Control System"
msgstr "Thrustmaster FCS + Система управления рулем"
msgid "Thrustmaster Formula T1/T2 with Adaptor"
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
msgstr "Thrustmaster Formula T1/T2 с адаптером"
msgid "Thrustmaster Formula T1/T2 without Adaptor"
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
msgstr "Thrustmaster Formula T1/T2 без адаптера"
msgid "None"
msgstr "Нет"
@@ -1854,6 +1854,9 @@ msgstr "Адаптер:"
msgid "VDE Socket:"
msgstr "VDE сокет:"
msgid "TAP Bridge Device:"
msgstr "Устройство моста TAP:"
msgid "86Box Unit Tester"
msgstr "Модульный Тестер 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "Neboli nájdené žiadne PCap zariadenia"
msgid "Invalid PCap device"
msgstr "Neplatné PCap zariadenie"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Letecký knipl s 3 tlačidlami a pákou"
msgid "4-button flight yoke with throttle"
msgstr "Letecký knipl s 4 tlačidlami a pákou"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volant (3 osy, 2 tlačítka)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volant (3 osy, 3 tlačítka)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volant (3 osy, 4 tlačítka)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptér:"
msgid "VDE Socket:"
msgstr "Zásuvka VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box Unit Tester"

View File

@@ -849,7 +849,7 @@ msgstr "Najdena ni bila nobena naprava PCap"
msgid "Invalid PCap device"
msgstr "Neveljavna naprava PCap"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Letalski krmilni drog s 3 gumbi z ročico za plin"
msgid "4-button flight yoke with throttle"
msgstr "Letalski krmilni drog s 4 gumbi z ročico za plin"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Volan s 3 osmi, 2 gumbi"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Volan s 3 osmi, 3 gumbi"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Volan s 3 osmi, 4 gumbi"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Mrežna kartica:"
msgid "VDE Socket:"
msgstr "Vtičnica VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Tester enote 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "Inga PCap-enheter hittade"
msgid "Invalid PCap device"
msgstr "Ogiltig PCap-enhet"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Styrspak med tre knappar och gas"
msgid "4-button flight yoke with throttle"
msgstr "Styrspak med fyra knappar och gas"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "ratt (tre axlar, två knappar)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "ratt (tre axlar, tre knappar)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "ratt (tre axlar, fyra knappar)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adapter:"
msgid "VDE Socket:"
msgstr "VDE-sockel:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box enhetsprövare"

View File

@@ -849,7 +849,7 @@ msgstr "Herhangi bir PCap cihazı bulunamadı"
msgid "Invalid PCap device"
msgstr "Geçersiz PCap cihazı"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3 düğmeli, gaz kollu uçuş dümeni"
msgid "4-button flight yoke with throttle"
msgstr "4 düğmeli, gaz kollu uçuş dümeni"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "direksiyonu (3 eksenli, 2 düğmeli)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "direksiyonu (3 eksenli, 3 düğmeli)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "direksiyonu (3 eksenli, 4 düğmeli)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Adaptör:"
msgid "VDE Socket:"
msgstr "VDE Soketi:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box Test Cihazı"

View File

@@ -849,7 +849,7 @@ msgstr "Пристрої PCap не знайдені"
msgid "Invalid PCap device"
msgstr "Невірний пристрій PCap"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3-кнопковий flight yoke з дроселем"
msgid "4-button flight yoke with throttle"
msgstr "4-кнопковий flight yoke з дроселем"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Кермо (3-осьове, 2-кнопкове)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Кермо (3-осьове, 3-кнопкове)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Кермо (3-осьове, 4-кнопкове)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Адаптер:"
msgid "VDE Socket:"
msgstr "VDE сокет:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Тестер блоків 86Box"

View File

@@ -849,7 +849,7 @@ msgstr "Không tìm thấy thiết bị PCap"
msgid "Invalid PCap device"
msgstr "Thiết bị PCap không hợp quy"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "Vô lăng máy bay ba nút có cần ga"
msgid "4-button flight yoke with throttle"
msgstr "Vô lăng máy bay bốn nút có cần ga"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "Vô lăng (ba trục, hai nút)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "Vô lăng (ba trục, ba nút)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "Vô lăng (ba trục, bốn nút)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "Bộ chuyển đổi:"
msgid "VDE Socket:"
msgstr "Ổ cắm VDE:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "Trình kiểm tra đơn vị 86box"

View File

@@ -849,7 +849,7 @@ msgstr "未找到 PCap 设备"
msgid "Invalid PCap device"
msgstr "无效 PCap 设备"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3 按钮带油门飞行摇杆"
msgid "4-button flight yoke with throttle"
msgstr "4 按钮带油门飞行摇杆"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "方向盘 (3 轴, 2 键)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "方向盘 (3 轴, 3 键)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "方向盘 (3 轴, 4 键)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "适配器:"
msgid "VDE Socket:"
msgstr "VDE 套接字:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box 装置测试仪"

View File

@@ -849,7 +849,7 @@ msgstr "未找到 PCap 裝置"
msgid "Invalid PCap device"
msgstr "無效 PCap 裝置"
msgid "Generic Paddle Controller(s)"
msgid "Generic paddle controller(s)"
msgstr ""
msgid "2-axis, 1-button joystick(s)"
@@ -921,13 +921,13 @@ msgstr "3 按鈕帶油門飛行搖桿"
msgid "4-button flight yoke with throttle"
msgstr "4 按鈕帶油門飛行搖桿"
msgid "Steering Wheel (3-axis, 2-button)"
msgid "Steering wheel (3-axis, 2-button)"
msgstr "方向盤 (3 軸, 2 鍵搖桿)"
msgid "Steering Wheel (3-axis, 3-button)"
msgid "Steering wheel (3-axis, 3-button)"
msgstr "方向盤 (3 軸, 3 鍵搖桿)"
msgid "Steering Wheel (3-axis, 4-button)"
msgid "Steering wheel (3-axis, 4-button)"
msgstr "方向盤 (3 軸, 4 鍵搖桿)"
msgid "CH Flightstick"
@@ -1854,6 +1854,9 @@ msgstr "配接器:"
msgid "VDE Socket:"
msgstr "VDE 插座:"
msgid "TAP Bridge Device:"
msgstr ""
msgid "86Box Unit Tester"
msgstr "86Box 單元測試器"

View File

@@ -27,6 +27,7 @@ OpenGLShaderConfig::OpenGLShaderConfig(QWidget *parent, glslp_t* shader)
for (int i = 0; i < currentShader->num_parameters; i++) {
auto spinBox = new QDoubleSpinBox;
spinBox->setDecimals(3);
spinBox->setObjectName(currentShader->parameters[i].id);
spinBox->setRange(currentShader->parameters[i].min, currentShader->parameters[i].max);
spinBox->setValue(currentShader->parameters[i].value);

View File

@@ -220,10 +220,12 @@ RendererCommon::eventDelegate(QEvent *event, bool &result)
case QEvent::MouseButtonPress:
case QEvent::MouseMove:
case QEvent::MouseButtonRelease:
#ifdef TOUCH_PR
case QEvent::TouchBegin:
case QEvent::TouchEnd:
case QEvent::TouchCancel:
case QEvent::TouchUpdate:
#endif
case QEvent::Wheel:
case QEvent::Enter:
case QEvent::Leave:

View File

@@ -35,7 +35,9 @@
#include <QScreen>
#include <QMessageBox>
#ifdef TOUCH_PR
#include <QTouchEvent>
#endif
#include <QStringBuilder>
#include <QPainter>
@@ -91,7 +93,9 @@ RendererStack::RendererStack(QWidget *parent, int monitor_index)
, ui(new Ui::RendererStack)
{
boxLayout->setContentsMargins(0, 0, 0, 0);
#ifdef TOUCH_PR
setAttribute(Qt::WA_AcceptTouchEvents, true);
#endif
#ifdef Q_OS_WINDOWS
setAttribute(Qt::WA_NativeWindow, true);
(void)winId();
@@ -520,12 +524,22 @@ RendererStack::event(QEvent* event)
if (m_monitor_index >= 1) {
if (mouse_input_mode >= 1) {
#ifdef TOUCH_PR
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
mouse_x_abs = (mouse_event->position().x()) / (double)width();
mouse_y_abs = (mouse_event->position().y()) / (double)height();
#else
mouse_x_abs = (mouse_event->localPos().x()) / (double)width();
mouse_y_abs = (mouse_event->localPos().y()) / (double)height();
#endif
#else
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
#else
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
#endif
#endif
if (!mouse_tablet_in_proximity)
mouse_tablet_in_proximity = mousedata.mouse_tablet_in_proximity;
@@ -544,6 +558,7 @@ RendererStack::event(QEvent* event)
return QWidget::event(event);
}
#ifdef TOUCH_PR
#ifdef Q_OS_WINDOWS
if (mouse_input_mode == 0) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
@@ -574,6 +589,39 @@ RendererStack::event(QEvent* event)
#else
mouse_x_abs = (mouse_event->localPos().x()) / (double)width();
mouse_y_abs = (mouse_event->localPos().y()) / (double)height();
#endif
#else
#ifdef Q_OS_WINDOWS
if (mouse_input_mode == 0) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
#else
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
#endif
mouse_x_abs -= rendererWindow->destinationF.left();
mouse_y_abs -= rendererWindow->destinationF.top();
if (mouse_x_abs < 0) mouse_x_abs = 0;
if (mouse_y_abs < 0) mouse_y_abs = 0;
mouse_x_abs /= rendererWindow->destinationF.width();
mouse_y_abs /= rendererWindow->destinationF.height();
if (mouse_x_abs > 1) mouse_x_abs = 1;
if (mouse_y_abs > 1) mouse_y_abs = 1;
return QWidget::event(event);
}
#endif
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
#else
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
#endif
#endif
mouse_x_abs -= rendererWindow->destinationF.left();
mouse_y_abs -= rendererWindow->destinationF.top();
@@ -587,6 +635,7 @@ RendererStack::event(QEvent* event)
if (mouse_x_abs > 1) mouse_x_abs = 1;
if (mouse_y_abs > 1) mouse_y_abs = 1;
mouse_tablet_in_proximity = mousedata.mouse_tablet_in_proximity;
#ifdef TOUCH_PR
} else switch (event->type()) {
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
@@ -685,6 +734,7 @@ RendererStack::event(QEvent* event)
default:
return QWidget::event(event);
#endif
}
return QWidget::event(event);

View File

@@ -30,7 +30,7 @@
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxKeyboard">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -43,7 +43,7 @@
</property>
</widget>
</item>
<item row="0" column="3">
<item row="0" column="2">
<widget class="QPushButton" name="pushButtonConfigureKeyboard">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
@@ -63,7 +63,7 @@
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<item row="1" column="1">
<widget class="QComboBox" name="comboBoxMouse">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -76,7 +76,7 @@
</property>
</widget>
</item>
<item row="1" column="3">
<item row="1" column="2">
<widget class="QPushButton" name="pushButtonConfigureMouse">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
@@ -96,40 +96,50 @@
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<item row="2" column="1">
<widget class="QComboBox" name="comboBoxJoystick0">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="pushButtonJoystick01">
<property name="text">
<string>Joystick 1...</string>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="pushButtonJoystick02">
<property name="text">
<string>Joystick 2...</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="pushButtonJoystick03">
<property name="text">
<string>Joystick 3...</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="pushButtonJoystick04">
<property name="text">
<string>Joystick 4...</string>
</property>
</widget>
<item row="3" column="0" colspan="3">
<layout class="QHBoxLayout" name="joystickButtonsLayout">
<item>
<widget class="QPushButton" name="pushButtonJoystick01">
<property name="text">
<string>Joystick 1...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonJoystick02">
<property name="text">
<string>Joystick 2...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonJoystick03">
<property name="text">
<string>Joystick 3...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonJoystick04">
<property name="text">
<string>Joystick 4...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelKeys">
@@ -138,7 +148,7 @@
</property>
</widget>
</item>
<item row="5" column="0" colspan="4">
<item row="5" column="0" colspan="3">
<widget class="QTableWidget" name="tableKeys">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
@@ -157,25 +167,54 @@
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="pushButtonClearBind">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Clear binding</string>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QPushButton" name="pushButtonBind">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Bind</string>
</property>
</widget>
<item row="6" column="0" colspan="3">
<layout class="QHBoxLayout" name="keybindButtonsLayout">
<item>
<spacer name="keybindButtonsHorizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButtonClearBind">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Clear binding</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonBind">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Bind</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>

View File

@@ -158,11 +158,11 @@
<item row="6" column="0">
<widget class="QLabel" name="labelBridgeTAPNIC1">
<property name="text">
<string>TAP Bridge Device</string>
<string>TAP Bridge Device:</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<item row="6" column="1">
<widget class="QLineEdit" name="bridgeTAPNIC1">
<property name="maxLength">
<number>127</number>
@@ -373,11 +373,11 @@
<item row="6" column="0">
<widget class="QLabel" name="labelBridgeTAPNIC2">
<property name="text">
<string>TAP Bridge Device</string>
<string>TAP Bridge Device:</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<item row="6" column="1">
<widget class="QLineEdit" name="bridgeTAPNIC2">
<property name="maxLength">
<number>127</number>
@@ -588,11 +588,11 @@
<item row="6" column="0">
<widget class="QLabel" name="labelBridgeTAPNIC3">
<property name="text">
<string>TAP Bridge Device</string>
<string>TAP Bridge Device:</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<item row="6" column="1">
<widget class="QLineEdit" name="bridgeTAPNIC3">
<property name="maxLength">
<number>127</number>
@@ -803,11 +803,11 @@
<item row="6" column="0">
<widget class="QLabel" name="labelBridgeTAPNIC4">
<property name="text">
<string>TAP Bridge Device</string>
<string>TAP Bridge Device:</string>
</property>
</widget>
</item>
<item row="6" column="1" colspan="2">
<item row="6" column="1">
<widget class="QLineEdit" name="bridgeTAPNIC4">
<property name="maxLength">
<number>127</number>

View File

@@ -228,6 +228,12 @@
<property name="text">
<string>Serial port passthrough 1</string>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="1">
@@ -242,6 +248,12 @@
<property name="text">
<string>Serial port passthrough 2</string>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="1">
@@ -256,6 +268,12 @@
<property name="text">
<string>Serial port passthrough 3</string>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="1">
@@ -270,6 +288,12 @@
<property name="text">
<string>Serial port passthrough 4</string>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="3" column="1">
@@ -279,20 +303,7 @@
</property>
</widget>
</item>
<item row="4" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>

View File

@@ -46,7 +46,7 @@
</property>
</widget>
</item>
<item row="0" column="3">
<item row="0" column="2">
<widget class="QPushButton" name="pushButtonConfigureSoundCard1">
<property name="text">
<string>Configure</string>
@@ -73,7 +73,7 @@
</property>
</widget>
</item>
<item row="1" column="3">
<item row="1" column="2">
<widget class="QPushButton" name="pushButtonConfigureSoundCard2">
<property name="text">
<string>Configure</string>
@@ -100,7 +100,7 @@
</property>
</widget>
</item>
<item row="2" column="3">
<item row="2" column="2">
<widget class="QPushButton" name="pushButtonConfigureSoundCard3">
<property name="text">
<string>Configure</string>
@@ -127,7 +127,7 @@
</property>
</widget>
</item>
<item row="3" column="3">
<item row="3" column="2">
<widget class="QPushButton" name="pushButtonConfigureSoundCard4">
<property name="text">
<string>Configure</string>
@@ -154,7 +154,7 @@
</property>
</widget>
</item>
<item row="4" column="3">
<item row="4" column="2">
<widget class="QPushButton" name="pushButtonConfigureMidiOut">
<property name="text">
<string>Configure</string>
@@ -181,35 +181,35 @@
</property>
</widget>
</item>
<item row="5" column="3">
<item row="5" column="2">
<widget class="QPushButton" name="pushButtonConfigureMidiIn">
<property name="text">
<string>Configure</string>
</property>
</widget>
</item>
<item row="6" column="0">
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="checkBoxMPU401">
<property name="text">
<string>Standalone MPU-401</string>
</property>
</widget>
</item>
<item row="6" column="3">
<item row="6" column="2">
<widget class="QPushButton" name="pushButtonConfigureMPU401">
<property name="text">
<string>Configure</string>
</property>
</widget>
</item>
<item row="10" column="0">
<item row="10" column="0" colspan="2">
<widget class="QCheckBox" name="checkBoxFloat32">
<property name="text">
<string>Use FLOAT32 sound</string>
</property>
</widget>
</item>
<item row="11" column="0">
<item row="11" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
@@ -238,7 +238,7 @@
</layout>
</widget>
</item>
<item row="12" column="0">
<item row="12" column="0" colspan="3">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>

View File

@@ -40,6 +40,12 @@
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="2">
@@ -61,6 +67,12 @@
<property name="maxVisibleItems">
<number>30</number>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="2">

View File

@@ -344,7 +344,7 @@ ad1848_write(uint16_t addr, uint8_t val, void *priv)
case 12:
if (ad1848->type >= AD1848_TYPE_CS4248) {
ad1848->regs[12] = 0x80 | (val & 0x70) | (ad1848->regs[12] & 0x0f);
ad1848->regs[12] = 0x80 | (val & 0x60) | (ad1848->regs[12] & 0x0f);
if ((ad1848->type >= AD1848_TYPE_CS4231) && (ad1848->type < AD1848_TYPE_CS4235)) {
if (val & 0x40)
ad1848->fmt_mask |= 0x80;
@@ -425,6 +425,19 @@ ad1848_write(uint16_t addr, uint8_t val, void *priv)
ad1848->fm_vol_r = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
}
}
if ((ad1848->type >= AD1848_TYPE_CS4232) && (ad1848->type <= AD1848_TYPE_CS4236)) {
if (ad1848->index == 18) {
if (val & 0x80)
ad1848->fm_vol_l = 0;
else
ad1848->fm_vol_l = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
} else {
if (val & 0x80)
ad1848->fm_vol_r = 0;
else
ad1848->fm_vol_r = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
}
}
break;
case 20 ... 21:
@@ -508,6 +521,8 @@ readonly_x:
}
if (ad1848->type == AD1848_TYPE_CS4231) /* I23 is reserved and read-only on CS4231 non-A */
goto readonly_i;
if ((ad1848->type >= AD1848_TYPE_CS4232) || (ad1848->type <= AD1848_TYPE_CS4236)) /* I23 bits 7-1 are read-only on CS4231A/4232/4236 non-B, Win2k relies on this for detection */
val = (val & 0x01);
break;
case 24:

View File

@@ -568,7 +568,11 @@ cs423x_ctxswitch_write(uint16_t addr, UNUSED(uint8_t val), void *priv)
{
cs423x_t *dev = (cs423x_t *) priv;
uint8_t ctx = (dev->regs[7] & 0x80);
uint8_t enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85);
uint8_t enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85); /* CS4236B+ */
/* CS4232/4236 (non-B) doesn't have an IFM bit, always enable the OPL on these chips */
if (dev->type <= CRYSTAL_CS4236)
enable_opl = 1;
/* Check if a context switch (WSS=1 <-> SBPro=0) occurred through the address being written. */
if ((dev->regs[7] & 0x80) ? ((addr & 0xfff0) == dev->sb_base) : ((addr & 0xfffc) == dev->wss_base)) {
@@ -1005,6 +1009,7 @@ cs423x_init(const device_t *info)
/* Initialize SBPro codec. The WSS codec is initialized later by cs423x_reset */
dev->sb = device_add_inst(&sb_pro_compat_device, 1);
sound_set_cd_audio_filter(sbpro_filter_cd_audio, dev->sb); /* CD audio filter for the default context */
music_add_handler(sb_get_music_buffer_sbpro, dev->sb); /* Init the SBPro OPL3 since sb_pro_compat_init does not */
/* Initialize RAM, registers and WSS codec. */
cs423x_reset(dev);

View File

@@ -6,7 +6,7 @@
*
* This file is part of the 86Box distribution.
*
* Yamaha YMF-71x (OPL3-SA2/3) audio controller emulation.
* Yamaha YMF71x (OPL3-SA2/3) audio controller emulation.
*
* Authors: Cacodemon345
* Eluan Costa Miranda <eluancm@gmail.com>
@@ -74,7 +74,7 @@ static const uint8_t ymf71x_init_key[32] = { 0xB1, 0xD8, 0x6C, 0x36, 0x9B, 0x4D,
0x33, 0x19, 0x8C, 0x46, 0xA3, 0x51, 0xA8, 0x54 };
/* Reversed attenuation values borrowed from snd_sb.c */
/* YMF-71x master volume attenuation is -30dB when all bits are 1, 0dB when all bits are 0 */
/* YMF71x master volume attenuation is -30dB when all bits are 1, 0dB when all bits are 0 */
static const double ymf71x_att_2dbstep_4bits[] = {
32767.0, 26027.0, 20674.0, 16422.0, 13044.0, 10362.0, 8230.0, 6537.0,
5192.0, 4125.0, 3276.0, 2602.0, 2067.0, 1641.0, 1304.0, 164.0
@@ -836,7 +836,7 @@ static const device_config_t ymf71x_config[] = {
};
const device_t ymf715_onboard_device = {
.name = "Yamaha YMF-715 Onboard (OPL3-SA3)",
.name = "Yamaha YMF715 (OPL3-SA3) (On-Board)",
.internal_name = "ymf715_onboard",
.flags = DEVICE_ISA16,
.local = 0x102,
@@ -850,7 +850,7 @@ const device_t ymf715_onboard_device = {
};
const device_t ymf718_device = {
.name = "Yamaha YMF-718 (OPL3-SA2)",
.name = "Yamaha YMF718 (OPL3-SA2)",
.internal_name = "ymf718",
.flags = DEVICE_ISA16,
.local = 0x01,
@@ -864,7 +864,7 @@ const device_t ymf718_device = {
};
const device_t ymf719_device = {
.name = "Yamaha YMF-719 (OPL3-SA3)",
.name = "Yamaha YMF719 (OPL3-SA3)",
.internal_name = "ymf719",
.flags = DEVICE_ISA16,
.local = 0x02,