From e6269019f4b5c1f562e10925f5d0a56252e7f28b Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:06:54 -0500 Subject: [PATCH 1/6] Add missing onboard IDE to the Commodore SL386SX-16 --- src/machine/m_at_386sx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/machine/m_at_386sx.c b/src/machine/m_at_386sx.c index e225ba0e7..f48b8977a 100644 --- a/src/machine/m_at_386sx.c +++ b/src/machine/m_at_386sx.c @@ -408,6 +408,7 @@ machine_at_cmdsl386sx16_init(const machine_t *model) device_add(&fdc_at_device); device_add(&neat_device); + device_add(&ide_isa_device); /* Two serial ports - on the real hardware SL386SX-16, they are on the single UMC UM82C452. */ device_add_inst(&ns16450_device, 1); device_add_inst(&ns16450_device, 2); From 4b3965a2c914a9f1c5dcea77e8bdbcf8e14abf88 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:16:28 -0500 Subject: [PATCH 2/6] Add missing FDC init to the Silicon Valley Computer 486WB --- src/machine/m_at_socket1.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/machine/m_at_socket1.c b/src/machine/m_at_socket1.c index f2d75fd72..ab0fadb1a 100644 --- a/src/machine/m_at_socket1.c +++ b/src/machine/m_at_socket1.c @@ -115,6 +115,9 @@ machine_at_svc486wb_init(const machine_t *model) device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); device_add(&ide_isa_device); + if (fdc_current[0] == FDC_INTERNAL) + device_add(&fdc_at_device); + return ret; } From 788611075ce99ec81edc5fe567ac6bd08cb48831 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:32:04 -0500 Subject: [PATCH 3/6] Fix i82091AA SIO I/O port on the ICS SB486P, fixes resource conflict --- src/machine/m_at_socket3_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/machine/m_at_socket3_pci.c b/src/machine/m_at_socket3_pci.c index 3182537c1..687952e76 100644 --- a/src/machine/m_at_socket3_pci.c +++ b/src/machine/m_at_socket3_pci.c @@ -588,7 +588,7 @@ machine_at_sb486p_init(const machine_t *model) device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); - device_add_params(&i82091aa_device, (void *) I82091AA_022); + device_add_params(&i82091aa_device, (void *) I82091AA_26E); device_add(&i420ex_device); return ret; From f86a898ee1d7a59ff26fc7fe2bd4d8e34404c908 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:41:32 -0500 Subject: [PATCH 4/6] Add missing machine_force_ps2 call to the ECS UM8810P, fixes keyboard in BIOS --- src/machine/m_at_socket3_pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/machine/m_at_socket3_pci.c b/src/machine/m_at_socket3_pci.c index 687952e76..fc17cacfb 100644 --- a/src/machine/m_at_socket3_pci.c +++ b/src/machine/m_at_socket3_pci.c @@ -1211,6 +1211,7 @@ machine_at_ecs486_init(const machine_t *model) device_add_params(&fdc37c6xx_device, (void *) FDC37C665); device_add(&intel_flash_bxt_device); + machine_force_ps2(1); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); return ret; From 7eebb6e3cab1c6cdca28e88ecfc803d3cf15d505 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 21:48:07 -0500 Subject: [PATCH 5/6] Fix is_award check on the Shuttle HOT-433A, fixes FDC failure on POST and PS/2 mouse --- src/machine/m_at_socket3_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/machine/m_at_socket3_pci.c b/src/machine/m_at_socket3_pci.c index fc17cacfb..74060ea03 100644 --- a/src/machine/m_at_socket3_pci.c +++ b/src/machine/m_at_socket3_pci.c @@ -1388,7 +1388,7 @@ machine_at_hot433a_init(const machine_t *model) return ret; device_context(model->device); - int is_award = !strcmp(device_get_config_bios("bios"), "hot433a_award"); + int is_award = !strcmp(device_get_config_bios("bios"), "hot433a_v451pg"); fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0); ret = bios_load_linear(fn, 0x000e0000, 131072, 0); device_context_restore(); From a9ca61589b850610d137fce5a65a7ec77b61af64 Mon Sep 17 00:00:00 2001 From: win2kgamer <47463859+win2kgamer@users.noreply.github.com> Date: Fri, 29 Aug 2025 22:07:59 -0500 Subject: [PATCH 6/6] The Teknor TEK-932 has a PS/2 KBC but an AT keyboard port --- src/machine/m_at_socket5.c | 1 + src/machine/machine_table.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/machine/m_at_socket5.c b/src/machine/m_at_socket5.c index ebe565b6e..a55e2bc2d 100644 --- a/src/machine/m_at_socket5.c +++ b/src/machine/m_at_socket5.c @@ -249,6 +249,7 @@ machine_at_tek932_init(const machine_t *model) pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2); pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3); pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4); + machine_force_ps2(1); device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params); device_add(&i430nx_device); device_add(&sio_zb_device); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 1498c3b1c..7648c7888 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -12053,7 +12053,7 @@ const machine_t machines[] = { .max_multi = 1.5 }, .bus_flags = MACHINE_PCI, - .flags = MACHINE_IDE | MACHINE_APM, + .flags = MACHINE_PS2_KBC | MACHINE_IDE | MACHINE_APM, .ram = { .min = 2048, .max = 262144,