From b63a20c1093d53d64e783f70871f595355e3ee77 Mon Sep 17 00:00:00 2001 From: Panagiotis <58827426+tiseno100@users.noreply.github.com> Date: Tue, 16 Mar 2021 13:55:43 +0200 Subject: [PATCH] Added the ECS Elite UM8810PAIO A Phoenix based UMC 486 PCI board --- src/include/86box/machine.h | 1 + src/machine/m_at_386dx_486.c | 31 ++++++++++++++++++++++++++++++- src/machine/machine_table.c | 1 + 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 9d48f4f4d..db0a6363c 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -350,6 +350,7 @@ extern int machine_at_win486pci_init(const machine_t *); #endif extern int machine_at_atc1415_init(const machine_t *); +extern int machine_at_ecs486_init(const machine_t *); extern int machine_at_hot433_init(const machine_t *); extern int machine_at_itoxstar_init(const machine_t *); diff --git a/src/machine/m_at_386dx_486.c b/src/machine/m_at_386dx_486.c index b7baa0556..4c7081410 100644 --- a/src/machine/m_at_386dx_486.c +++ b/src/machine/m_at_386dx_486.c @@ -1044,6 +1044,35 @@ machine_at_atc1415_init(const machine_t *model) return ret; } +int +machine_at_ecs486_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear(L"roms/machines/ecs486/8810AIO.32J", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x10, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x12, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); + pci_register_slot(0x0c, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0d, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x0e, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_slot(0x0f, PCI_CARD_IDE, 0, 0, 0, 0); + + device_add(&umc_hb4_early_device); + device_add(&ide_cmd640_pci_legacy_only_device); + device_add(&fdc37c665_device); + device_add(&keyboard_at_ami_device); + + return ret; +} + int machine_at_hot433_init(const machine_t *model) { @@ -1062,7 +1091,7 @@ machine_at_hot433_init(const machine_t *model) pci_register_slot(0x12, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); pci_register_slot(0x0c, PCI_CARD_NORMAL, 1, 2, 3, 4); pci_register_slot(0x0d, PCI_CARD_NORMAL, 4, 1, 2, 3); - pci_register_slot(0x0e, PCI_CARD_NORMAL, 3, 4, 1, 4); + pci_register_slot(0x0e, PCI_CARD_NORMAL, 3, 4, 1, 2); pci_register_slot(0x0f, PCI_CARD_NORMAL, 2, 3, 4, 1); device_add(&umc_hb4_device); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 5ddf438c2..1844d79d3 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -241,6 +241,7 @@ const machine_t machines[] = { { "[SiS 496] Soyo 4SA2", "4sa2", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 261120, 1024, 255, machine_at_4sa2_init, NULL }, { "[SiS 496] Zida Tomato 4DP", "4dps", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 261120, 1024, 255, machine_at_4dps_init, NULL }, { "[UMC 8881F/8886BF] Atrend ATC-1415", "atc1415", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 65536, 1024, 255, machine_at_atc1415_init, NULL }, + { "[UMC 8881F/8886F] ECS Elite UM8810PAIO", "ecs486", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 131072, 1024, 255, machine_at_ecs486_init, NULL }, { "[UMC 8881F/8886BF] Shuttle HOT-433A", "hot433", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_PCI | MACHINE_IDE_DUAL, 1024, 262144, 1024, 255, machine_at_hot433_init, NULL }, { "[STPC Client] ITOX STAR", "itoxstar", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 75000000, 0, 0, 1.0, 1.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 255, machine_at_itoxstar_init, NULL }, { "[STPC Consumer-II] Acrosser AR-B1479", "arb1479", MACHINE_TYPE_486, CPU_PKG_STPC, 0, 66666667, 66666667, 0, 0, 2.0, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 32768, 163840, 8192, 255, machine_at_arb1479_init, NULL },