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

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