From 24b764d63ae6be173a7b6a5f524b4cab7b1ec1ac Mon Sep 17 00:00:00 2001 From: tiseno100 <58827426+tiseno100@users.noreply.github.com> Date: Tue, 7 Jan 2020 13:38:18 +0200 Subject: [PATCH] Added the Toshiba Equium 5200D, PCemified the Unknown Headland board names Added the Toshiba Equium 5200D. A CU430HX board. Presents the same issues as the TC430HX. The unknown Headland board names received their respective PCem-like clone names (Phoenix 286 clone, Quadtel 286 clone). --- src/machine/m_at_286_386sx.c | 22 +++++++++++---------- src/machine/m_at_socket7_s7.c | 35 +++++++++++++++++++++++++++++++++ src/machine/machine.h | 7 ++++--- src/machine/machine_table.c | 5 +++-- src/machine/machine_table_new.c | 5 +++-- 5 files changed, 57 insertions(+), 17 deletions(-) diff --git a/src/machine/m_at_286_386sx.c b/src/machine/m_at_286_386sx.c index c18d35066..52193d402 100644 --- a/src/machine/m_at_286_386sx.c +++ b/src/machine/m_at_286_386sx.c @@ -123,39 +123,41 @@ machine_at_ama932j_init(const machine_t *model) } int -machine_at_headlandpho_init(const machine_t *model) +machine_at_px286_init(const machine_t *model) { int ret; - ret = bios_load_interleaved(L"roms/machines/headlandpho/286-Headland-LO.BIN", - L"roms/machines/headlandpho/286-Headland-HI.BIN", + ret = bios_load_interleaved(L"roms/machines/px286/286-Headland-LO.BIN", + L"roms/machines/px286/286-Headland-HI.BIN", 0x000f0000, 131072, 0); if (bios_only || !ret) return ret; machine_at_common_ide_init(model); - - machine_at_headland_common_init(1); + device_add(&keyboard_at_device); + device_add(&fdc_at_device); + device_add(&headland_device); return ret; } int -machine_at_headlandquadtel_init(const machine_t *model) +machine_at_quadt286_init(const machine_t *model) { int ret; - ret = bios_load_interleaved(L"roms/machines/headlandquadtel/Amiht-l.BIN", - L"roms/machines/headlandquadtel/AMIHT-H.BIN", + ret = bios_load_interleaved(L"roms/machines/quadt286/QUADT89L.ROM", + L"roms/machines/quadt286/QUADT89H.ROM", 0x000f0000, 65536, 0); if (bios_only || !ret) return ret; machine_at_common_ide_init(model); - - machine_at_headland_common_init(1); + device_add(&keyboard_at_device); + device_add(&fdc_at_device); + device_add(&headland_device); return ret; } diff --git a/src/machine/m_at_socket7_s7.c b/src/machine/m_at_socket7_s7.c index 377a37bd5..e97bc5c74 100644 --- a/src/machine/m_at_socket7_s7.c +++ b/src/machine/m_at_socket7_s7.c @@ -331,6 +331,41 @@ machine_at_tc430hx_init(const machine_t *model) return ret; } + +int +machine_at_equium5200_init(const machine_t *model) // Information about that machine on machine.h +{ + int ret; + + ret = bios_load_linear_combined2(L"roms/machines/equium5200/1003DK08.BIO", + L"roms/machines/equium5200/1003DK08.BI1", + L"roms/machines/equium5200/1003DK08.BI2", + L"roms/machines/equium5200/1003DK08.BI3", + L"roms/machines/equium5200/1003DK08.RCV", + 0x3a000, 128); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0); + pci_register_slot(0x08, PCI_CARD_ONBOARD, 4, 0, 0, 0); + pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1); + pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2); + pci_register_slot(0x07, PCI_CARD_SPECIAL, 0, 0, 0, 0); + pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 0, 0, 0); // riser + device_add(&i430hx_device); + device_add(&piix3_device); + device_add(&keyboard_ps2_ami_pci_device); + device_add(&pc87306_device); + device_add(&intel_flash_bxtw_ami_device); + + return ret; +} + #endif diff --git a/src/machine/machine.h b/src/machine/machine.h index 5c9e71f2d..b04d997e9 100644 --- a/src/machine/machine.h +++ b/src/machine/machine.h @@ -183,8 +183,8 @@ extern int machine_at_headland_init(const machine_t *); #endif extern int machine_at_tg286m_init(const machine_t *); extern int machine_at_ama932j_init(const machine_t *); -extern int machine_at_headlandpho_init(const machine_t *); -extern int machine_at_headlandquadtel_init(const machine_t *); +extern int machine_at_px286_init(const machine_t *); +extern int machine_at_quadt286_init(const machine_t *); extern int machine_at_neat_init(const machine_t *); extern int machine_at_neat_ami_init(const machine_t *); @@ -274,7 +274,8 @@ extern int machine_at_p55t2p4_init(const machine_t *); extern int machine_at_p55t2s_init(const machine_t *); #if defined(DEV_BRANCH) && defined(USE_TC430HX) extern int machine_at_tc430hx_init(const machine_t *); -#endif +extern int machine_at_equium5200_init(const machine_t *); //Toshiba branded CU430HX. Presents same issues as the TC430HX. +#endif //Other than that, works as intended(No need to set an MPU too). extern int machine_at_p55tvp4_init(const machine_t *); extern int machine_at_i430vx_init(const machine_t *); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 56e413f71..30b044ecd 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -112,8 +112,8 @@ const machine_t machines[] = { { "[286 ISA] Toshiba T3100e", "t3100e", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_VIDEO | MACHINE_VIDEO_FIXED | MACHINE_HDC, 1024, 5120, 256, 63, machine_at_t3100e_init, NULL }, { "[286 ISA] Trigem 286M", "tg286m", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_HDC, 512, 8192, 128, 127, machine_at_tg286m_init, NULL }, - { "[286 ISA] Unknown Phoenix Headland", "headlandpho", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_headlandpho_init, NULL }, - { "[286 ISA] Unknown Quadtel Headland", "headlandquadtel", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_headlandquadtel_init, NULL }, + { "[286 ISA] Phoenix 286 clone", "px286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_px286_init, NULL }, + { "[286 ISA] Quadtel 286 clone", "quadt286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_quadt286_init, NULL }, { "[286 ISA] Samsung Deskmaster 286", "deskmaster286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512,16384, 128, 127, machine_at_deskmaster286_init, NULL }, { "[286 MCA] IBM PS/2 model 50", "ibmps2_m50", {{"", cpus_ps2_m30_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_MCA | MACHINE_AT | MACHINE_PS2 | MACHINE_VIDEO, 1, 10, 1, 63, machine_ps2_model_50_init, NULL }, @@ -200,6 +200,7 @@ const machine_t machines[] = { { "[Socket 7 HX] SuperMicro Super P55T2S", "p55t2s", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 127, machine_at_p55t2s_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_TC430HX) { "[Socket 7 HX] TC430HX", "tc430hx", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_tc430hx_init, NULL }, + { "[Socket 7 HX] Toshiba Equium 5200D", "equium5200", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_equium5200_init, NULL }, #endif { "[Socket 7 VX] ASUS P/I-P55TVP4", "p55tvp4", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL }, diff --git a/src/machine/machine_table_new.c b/src/machine/machine_table_new.c index 8d8c7c57e..2c41cfb97 100644 --- a/src/machine/machine_table_new.c +++ b/src/machine/machine_table_new.c @@ -99,8 +99,8 @@ const machine_t machines[] = { { "[286 ISA] Toshiba T3100e", "t3100e", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_VIDEO | MACHINE_VIDEO_FIXED | MACHINE_HDC, 1024, 5120, 256, 63, machine_at_t3100e_init, NULL }, { "[286 ISA] Trigem 286M", "tg286m", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_HDC, 512, 8192, 128, 127, machine_at_tg286m_init, NULL }, - { "[286 ISA] Unknown Phoenix Headland", "headlandpho", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_headlandpho_init, NULL }, - { "[286 ISA] Unknown Quadtel Headland", "headlandquadtel", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_headlandquadtel_init, NULL }, + { "[286 ISA] Phoenix 286 clone", "px286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_px286_init, NULL }, + { "[286 ISA] Quadtel 286 clone", "quadt286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_quadt286_init, NULL }, { "[286 ISA] Samsung Deskmaster 286", "deskmaster286", {{"", cpus_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512,16384, 128, 127, machine_at_deskmaster286_init, NULL }, { "[286 MCA] IBM PS/2 model 50", "ibmps2_m50", {{"", cpus_ps2_m30_286}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_MCA | MACHINE_AT | MACHINE_PS2 | MACHINE_VIDEO, 1, 10, 1, 63, machine_ps2_model_50_init, NULL }, @@ -187,6 +187,7 @@ const machine_t machines[] = { { "[Socket 7 HX] SuperMicro Super P55T2S", "p55t2s", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 127, machine_at_p55t2s_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_TC430HX) { "[Socket 7 HX] TC430HX", "tc430hx", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_tc430hx_init, NULL }, + { "[Socket 7 HX] Toshiba Equium 5200D", "equium5200", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_equium5200_init, NULL }, #endif { "[Socket 7 VX] ASUS P/I-P55TVP4", "p55tvp4", MACHINE_CPUS_PENTIUM_S7, MACHINE_PCI | MACHINE_ISA | MACHINE_VLB | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p55tvp4_init, NULL },