From 0a5d2d314b1991c4443845ce9474f01708f82a5e Mon Sep 17 00:00:00 2001 From: tiseno100 <58827426+tiseno100@users.noreply.github.com> Date: Thu, 27 Aug 2020 12:28:23 +0300 Subject: [PATCH 1/7] Removed various machines of no use --- src/include/86box/chipset.h | 3 +- src/include/86box/machine.h | 14 ++++--- src/machine/m_at_misc.c | 77 ++++++++++++++++++++++++++++++++++++ src/machine/m_at_slot1.c | 40 ------------------- src/machine/m_at_socket4_5.c | 61 ---------------------------- src/machine/machine_table.c | 15 +++---- 6 files changed, 95 insertions(+), 115 deletions(-) create mode 100644 src/machine/m_at_misc.c diff --git a/src/include/86box/chipset.h b/src/include/86box/chipset.h index 2b4fff78d..36be94044 100644 --- a/src/include/86box/chipset.h +++ b/src/include/86box/chipset.h @@ -74,7 +74,6 @@ extern const device_t piix4e_device; extern const device_t slc90e66_device; extern const device_t ioapic_device; -extern const device_t vpc2007_device; /* OPTi */ extern const device_t opti283_device; @@ -128,5 +127,7 @@ extern const device_t vlsi_scamp_device; /* WD */ extern const device_t wd76c10_device; +/* Miscellaneous Hardware */ +extern const device_t vpc2007_device; #endif /*EMU_CHIPSET_H*/ diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index bae2e0965..7f36db0bb 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -81,6 +81,9 @@ enum { MACHINE_TYPE_SLOT1, MACHINE_TYPE_SLOT2, MACHINE_TYPE_SOCKET370, +#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) + MACHINE_TYPE_MISC, +#endif MACHINE_TYPE_MAX }; @@ -323,7 +326,6 @@ extern int machine_at_batman_init(const machine_t *); extern int machine_at_ambradp60_init(const machine_t *); extern int machine_at_valuepointp60_init(const machine_t *); #if defined(DEV_BRANCH) && defined(USE_DELLS4) -extern int machine_at_opti560l_init(const machine_t *); extern int machine_at_dellxp60_init(const machine_t *); #endif extern int machine_at_p5mp3_init(const machine_t *); @@ -337,7 +339,6 @@ extern int machine_at_430nx_init(const machine_t *); extern int machine_at_p54tp4xe_init(const machine_t *); extern int machine_at_endeavor_init(const machine_t *); extern int machine_at_zappa_init(const machine_t *); -extern int machine_at_gw2kzp_init(const machine_t *); extern int machine_at_mb500n_init(const machine_t *); #if defined(DEV_BRANCH) && defined(USE_VECTRA54) extern int machine_at_vectra54_init(const machine_t *); @@ -399,7 +400,6 @@ extern int machine_at_mvp3_init(const machine_t *); extern int machine_at_686nx_init(const machine_t *); extern int machine_at_v60n_init(const machine_t *); extern int machine_at_vs440fx_init(const machine_t *); -extern int machine_at_gw2kvs_init(const machine_t *); extern int machine_at_ap440fx_init(const machine_t *); extern int machine_at_mb600n_init(const machine_t *); extern int machine_at_8500ttc_init(const machine_t *); @@ -424,9 +424,6 @@ extern int machine_at_ax6bc_init(const machine_t *); extern int machine_at_atc6310bxii_init(const machine_t *); extern int machine_at_tsunamiatx_init(const machine_t *); extern int machine_at_p6sba_init(const machine_t *); -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) -extern int machine_at_vpc2007_init(const machine_t *); -#endif #ifdef EMU_DEVICE_H extern const device_t *at_tsunamiatx_get_device(void); @@ -448,6 +445,11 @@ extern int machine_at_63a_init(const machine_t *); extern int machine_at_s370sba_init(const machine_t *); extern int machine_at_apas3_init(const machine_t *); +/* m_at_misc.c */ +#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) +extern int machine_at_vpc2007_init(const machine_t *); +#endif + /* m_at_t3100e.c */ extern int machine_at_t3100e_init(const machine_t *); diff --git a/src/machine/m_at_misc.c b/src/machine/m_at_misc.c new file mode 100644 index 000000000..e2359f52e --- /dev/null +++ b/src/machine/m_at_misc.c @@ -0,0 +1,77 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Implementation of Miscellaneous, Fake, Hypervisor machines. + * + * + * + * Authors: Miran Grca, + * + * Copyright 2016-2019 Miran Grca. + */ +#include +#include +#include +#include +#include +#include <86box/86box.h> +#include <86box/mem.h> +#include <86box/io.h> +#include <86box/rom.h> +#include <86box/pci.h> +#include <86box/device.h> +#include <86box/chipset.h> +#include <86box/hdc.h> +#include <86box/hdc_ide.h> +#include <86box/keyboard.h> +#include <86box/flash.h> +#include <86box/sio.h> +#include <86box/hwm.h> +#include <86box/spd.h> +#include <86box/video.h> +#include "cpu.h" +#include <86box/machine.h> +#include <86box/sound.h> + +#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) +int +machine_at_vpc2007_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear(L"roms/machines/vpc2007/13500.bin", + 0x000c0000, 262144, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init_ex(model, 2); + is_vpc = 1; + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4); + pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0A, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4); + pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4); + device_add(&i440bx_device); + device_add(&piix4e_device); + device_add(&w83977tf_device); + device_add(&keyboard_ps2_ami_pci_device); + device_add(&intel_flash_bxt_device); + device_add(&vpc2007_device); + spd_register(SPD_TYPE_SDRAM, 0xF, 256); /* real VPC provides invalid SPD data */ + + return ret; +} +#endif diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 1a172536f..e8de77f8e 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -136,7 +136,6 @@ machine_at_lx6_init(const machine_t *model) return ret; } - int machine_at_p6i440e2_init(const machine_t *model) { @@ -528,42 +527,3 @@ at_tsunamiatx_get_device(void) { return &es1371_onboard_device; } - - -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) -int -machine_at_vpc2007_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear(L"roms/machines/vpc2007/13500.bin", - 0x000c0000, 262144, 0); - - if (bios_only || !ret) - return ret; - - machine_at_common_init_ex(model, 2); - is_vpc = 1; - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4); - pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0A, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4); - device_add(&i440bx_device); - device_add(&piix4e_device); - device_add(&w83977tf_device); - device_add(&keyboard_ps2_ami_pci_device); - device_add(&intel_flash_bxt_device); - device_add(&vpc2007_device); - spd_register(SPD_TYPE_SDRAM, 0xF, 256); /* real VPC provides invalid SPD data */ - - return ret; -} -#endif diff --git a/src/machine/m_at_socket4_5.c b/src/machine/m_at_socket4_5.c index b61d4c44e..e457e1449 100644 --- a/src/machine/m_at_socket4_5.c +++ b/src/machine/m_at_socket4_5.c @@ -216,37 +216,6 @@ at_pb520r_get_device(void) #if defined(DEV_BRANCH) && defined(USE_DELLS4) -int -machine_at_opti560l_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear(L"roms/machines/opti560l/560L_A06.ROM", - 0x000e0000, 131072, 0); - - if (bios_only || !ret) - return ret; - - machine_at_common_init(model); - device_add(&ide_pci_2ch_device); - - pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x01, PCI_CARD_SPECIAL, 0, 0, 0, 0); - pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4); - pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4); - pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4); - pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - device_add(&i430lx_device); - device_add(&keyboard_ps2_pci_device); - device_add(&sio_device); - device_add(&fdc37c665_device); - device_add(&intel_flash_bxt_device); - - return ret; -} - - int machine_at_dellxp60_init(const machine_t *model) { @@ -491,36 +460,6 @@ machine_at_zappa_init(const machine_t *model) return ret; } - -int -machine_at_gw2kzp_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear_combined(L"roms/machines/gw2k_zp/1011bs0t.bio", - L"roms/machines/gw2k_zp/1011bs0t.bi1", 0x20000, 128); - - if (bios_only || !ret) - return ret; - - machine_at_common_init(model); - - pci_init(PCI_CONFIG_TYPE_1); - pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); - pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); - pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1); - pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2); - pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); - device_add(&keyboard_ps2_intel_ami_pci_device); - device_add(&i430fx_device); - device_add(&piix_device); - device_add(&pc87306_device); - device_add(&intel_flash_bxt_ami_device); - - return ret; -} - - int machine_at_mb500n_init(const machine_t *model) { diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 6c3d5dfc0..a0f2ea95e 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -81,6 +81,9 @@ const machine_type_t machine_types[] = { { "Slot 1", MACHINE_TYPE_SLOT1 }, { "Slot 2", MACHINE_TYPE_SLOT2 }, { "Socket 370", MACHINE_TYPE_SOCKET370 }, +#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) + { "Miscellaneous", MACHINE_TYPE_MISC }, +#endif }; @@ -256,7 +259,6 @@ const machine_t machines[] = { { "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_valuepointp60_init, NULL }, { "[i430LX] Intel Premiere/PCI", "revenge", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_batman_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_DELLS4) - { "[i430LX] Dell OptiPlex 560/L", "opti560l", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_opti560l_init, NULL }, { "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 128, 2, 127, machine_at_dellxp60_init, NULL }, #endif { "[i430LX] ASUS P/I-P5MP3", "p5mp3", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 2, 192, 2, 127, machine_at_p5mp3_init, NULL }, @@ -271,7 +273,6 @@ const machine_t machines[] = { /* 430FX */ { "[i430FX] Acer V30", "acerv30", MACHINE_TYPE_SOCKET5, MACHINE_CPUS_PENTIUM_S5, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_acerv30_init, NULL }, - { "[i430FX] Gateway 2000 Zappa", "gw2kzp", MACHINE_TYPE_SOCKET5, MACHINE_CPUS_PENTIUM_S5, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_gw2kzp_init, NULL }, #if defined(DEV_BRANCH) && defined(USE_VECTRA54) { "[i430FX] HP Vectra VL 5 Series 4", "vectra54", MACHINE_TYPE_SOCKET5, MACHINE_CPUS_PENTIUM_S5, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_HDC | MACHINE_PS2, 8, 128, 8, 511, machine_at_vectra54_init, NULL }, #endif @@ -283,7 +284,7 @@ const machine_t machines[] = { /* 430FX */ { "[i430FX-3V] ASUS P/I-P54TP4XE", "p54tp4xe", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_p54tp4xe_init, NULL }, { "[i430FX-3V] ASUS P/I-P54TP4XE (MR BIOS)","mr586", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_HDC | MACHINE_PS2, 8, 128, 8, 127, machine_at_mr586_init, NULL }, - { "[i430FX-3V] Gateway 2000 Thor", "gw2katx", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_gw2katx_init, NULL }, + { "[i430FX-3V] Gateway 2000 P5-xxx", "gw2katx", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_gw2katx_init, NULL }, { "[i430FX-3V] Intel Advanced/ATX", "thor", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_thor_init, NULL }, { "[i430FX-3V] Intel Advanced/ATX (MR BIOS)","mrthor", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_mrthor_init, NULL }, { "[i430FX-3V] Intel Advanced/EV", "endeavor", MACHINE_TYPE_SOCKET7_3V, MACHINE_CPUS_PENTIUM_S73V, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC | MACHINE_VIDEO, 8, 128, 8, 127, machine_at_endeavor_init, at_endeavor_get_device }, @@ -334,7 +335,6 @@ const machine_t machines[] = { /* 440FX */ { "[i440FX] ASUS P/I-P65UP5 (C-P6ND)", "p65up5_cp6nd", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 127, machine_at_p65up5_cp6nd_init, NULL }, { "[i440FX] Biostar MB-8600TTC", "8600ttc", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 127, machine_at_8500ttc_init, NULL }, - { "[i440FX] Gateway 2000 Venus", "gw2kvs", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 127, machine_at_gw2kvs_init, NULL }, { "[i440FX] Gigabyte GA-686NX", "686nx", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 127, machine_at_686nx_init, NULL }, { "[i440FX] Acer V60N", "v60n", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 127, machine_at_v60n_init, NULL }, { "[i440FX] Intel AP440FX", "ap440fx", MACHINE_TYPE_SOCKET8, {{"Intel", cpus_PentiumPro}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 128, 8, 127, machine_at_ap440fx_init, NULL }, @@ -361,9 +361,6 @@ const machine_t machines[] = { { "[i440BX] A-Trend ATC6310BXII", "atc6310bxii", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 255, machine_at_atc6310bxii_init, NULL }, { "[i440BX] Tyan Tsunami ATX", "tsunamiatx", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC | MACHINE_SOUND, 8, 1024, 8, 255, machine_at_tsunamiatx_init, at_tsunamiatx_get_device }, { "[i440BX] SuperMicro Super P6SBA", "p6sba", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 255, machine_at_p6sba_init, NULL }, -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) - { "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumIID}, {"Intel/PGA370", cpus_Celeron},{"", NULL}, {"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 255, machine_at_vpc2007_init, NULL }, -#endif /* Slot 2 machines(Including Slot 1/2 Hybrids) */ /* 440GX */ @@ -387,6 +384,10 @@ const machine_t machines[] = { /* VIA Apollo Pro */ { "[VIA Apollo Pro] PC Partner APAS3", "apas3", MACHINE_TYPE_SOCKET370, {{"Intel", cpus_Celeron}, {"VIA", cpus_Cyrix3}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 255, machine_at_apas3_init, NULL }, +#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) + { "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_MISC, {{"Intel", cpus_PentiumIID}, {"Intel/PGA370", cpus_Celeron},{"", NULL}, {"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 255, machine_at_vpc2007_init, NULL }, +#endif + { NULL, NULL, MACHINE_TYPE_NONE, {{"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}}, 0, 0, 0, 0, 0, NULL, NULL } }; From 0950814d409c1c8effbf7ced207ead204b93948f Mon Sep 17 00:00:00 2001 From: tiseno100 <58827426+tiseno100@users.noreply.github.com> Date: Thu, 27 Aug 2020 17:15:02 +0300 Subject: [PATCH 2/7] Added misc machines on makefile. Fix compile bug --- src/win/Makefile.mingw | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 84cd3750e..29ff499c9 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -657,7 +657,8 @@ MCHOBJ := machine.o machine_table.o \ m_at_compaq.o \ m_at_286_386sx.o m_at_386dx_486.o \ m_at_socket4_5.o m_at_socket7_s7.o m_at_sockets7.o \ - m_at_socket8.o m_at_slot1.o m_at_slot2.o m_at_socket370.o + m_at_socket8.o m_at_slot1.o m_at_slot2.o m_at_socket370.o \ + m_at_misc.o DEVOBJ := bugger.o hwm.o hwm_lm75.o hwm_lm78.o hwm_gl518sm.o ibm_5161.o isamem.o isartc.o lpt.o postcard.o serial.o \ smbus.o smbus_piix4.o \ From 082f99ef058cd03df15b7de684745858977dca6b Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Thu, 27 Aug 2020 12:48:02 -0300 Subject: [PATCH 3/7] Remove vpc2007 from devbranch, part 1 --- src/machine/m_at_slot1.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 1a172536f..746577e38 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -530,7 +530,6 @@ at_tsunamiatx_get_device(void) } -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) int machine_at_vpc2007_init(const machine_t *model) { @@ -558,7 +557,7 @@ machine_at_vpc2007_init(const machine_t *model) pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4); device_add(&i440bx_device); device_add(&piix4e_device); - device_add(&w83977tf_device); + device_add(&w83977f_370_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&intel_flash_bxt_device); device_add(&vpc2007_device); @@ -566,4 +565,3 @@ machine_at_vpc2007_init(const machine_t *model) return ret; } -#endif From 37ce51ffb741a8a418e29a85422b6fd3eceda01c Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Thu, 27 Aug 2020 13:50:01 -0300 Subject: [PATCH 4/7] Remove vpc2007 from devbranch, part 2 --- src/include/86box/machine.h | 2 -- src/machine/machine_table.c | 2 -- src/win/Makefile.mingw | 13 +------------ 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index bae2e0965..f8929ed9f 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -424,9 +424,7 @@ extern int machine_at_ax6bc_init(const machine_t *); extern int machine_at_atc6310bxii_init(const machine_t *); extern int machine_at_tsunamiatx_init(const machine_t *); extern int machine_at_p6sba_init(const machine_t *); -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) extern int machine_at_vpc2007_init(const machine_t *); -#endif #ifdef EMU_DEVICE_H extern const device_t *at_tsunamiatx_get_device(void); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 6c3d5dfc0..12826d6e2 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -361,9 +361,7 @@ const machine_t machines[] = { { "[i440BX] A-Trend ATC6310BXII", "atc6310bxii", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 255, machine_at_atc6310bxii_init, NULL }, { "[i440BX] Tyan Tsunami ATX", "tsunamiatx", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC | MACHINE_SOUND, 8, 1024, 8, 255, machine_at_tsunamiatx_init, at_tsunamiatx_get_device }, { "[i440BX] SuperMicro Super P6SBA", "p6sba", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII}, {"Intel/PGA370", cpus_Celeron},{"VIA", cpus_Cyrix3},{"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 768, 8, 255, machine_at_p6sba_init, NULL }, -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) { "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumIID}, {"Intel/PGA370", cpus_Celeron},{"", NULL}, {"", NULL},{"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 255, machine_at_vpc2007_init, NULL }, -#endif /* Slot 2 machines(Including Slot 1/2 Hybrids) */ /* 440GX */ diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 84cd3750e..74b1e8f01 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -87,9 +87,6 @@ ifeq ($(DEV_BUILD), y) ifndef VGAWONDER VGAWONDER := y endif - ifndef VIRTUALPC - VIRTUALPC := y - endif ifndef VNC VNC := y endif @@ -169,9 +166,6 @@ else ifndef VGAWONDER VGAWONDER := n endif - ifndef VIRTUALPC - VIRTUALPC := y - endif ifndef VNC VNC := n endif @@ -582,11 +576,6 @@ ifeq ($(VGAWONDER), y) OPTS += -DUSE_VGAWONDER endif -ifeq ($(VIRTUALPC), y) -OPTS += -DUSE_VIRTUALPC -DEVBROBJ += vpc2007.o -endif - ifeq ($(WIN471), y) OPTS += -DUSE_WIN471 endif @@ -659,7 +648,7 @@ MCHOBJ := machine.o machine_table.o \ m_at_socket4_5.o m_at_socket7_s7.o m_at_sockets7.o \ m_at_socket8.o m_at_slot1.o m_at_slot2.o m_at_socket370.o -DEVOBJ := bugger.o hwm.o hwm_lm75.o hwm_lm78.o hwm_gl518sm.o ibm_5161.o isamem.o isartc.o lpt.o postcard.o serial.o \ +DEVOBJ := bugger.o hwm.o hwm_lm75.o hwm_lm78.o hwm_gl518sm.o ibm_5161.o isamem.o isartc.o lpt.o postcard.o serial.o vpc2007.o \ smbus.o smbus_piix4.o \ keyboard.o \ keyboard_xt.o keyboard_at.o \ From 15362f45826363c81ee8c832e7dd4474d2d6c4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Thu, 27 Aug 2020 19:40:37 +0200 Subject: [PATCH 5/7] Update m_at_misc.c --- src/machine/m_at_misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/machine/m_at_misc.c b/src/machine/m_at_misc.c index e2359f52e..5573f4adc 100644 --- a/src/machine/m_at_misc.c +++ b/src/machine/m_at_misc.c @@ -66,7 +66,7 @@ machine_at_vpc2007_init(const machine_t *model) pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4); device_add(&i440bx_device); device_add(&piix4e_device); - device_add(&w83977tf_device); + device_add(&w83977f_370_device); device_add(&keyboard_ps2_ami_pci_device); device_add(&intel_flash_bxt_device); device_add(&vpc2007_device); From 0950d5188bcfe484c5644abe77602085d58c9d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miran=20Gr=C4=8Da?= Date: Thu, 27 Aug 2020 19:41:40 +0200 Subject: [PATCH 6/7] Update m_at_misc.c --- src/machine/m_at_misc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/machine/m_at_misc.c b/src/machine/m_at_misc.c index 5573f4adc..2ac1630e1 100644 --- a/src/machine/m_at_misc.c +++ b/src/machine/m_at_misc.c @@ -38,7 +38,6 @@ #include <86box/machine.h> #include <86box/sound.h> -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) int machine_at_vpc2007_init(const machine_t *model) { @@ -74,4 +73,3 @@ machine_at_vpc2007_init(const machine_t *model) return ret; } -#endif From eca3d62be8815d9f51e46ef6b06b5acd1cab48e8 Mon Sep 17 00:00:00 2001 From: tiseno100 <58827426+tiseno100@users.noreply.github.com> Date: Thu, 27 Aug 2020 22:08:53 +0300 Subject: [PATCH 7/7] Added the Micronics Spitfire Some 440LX Phoenix board --- src/include/86box/machine.h | 3 +-- src/machine/m_at_slot1.c | 46 +++++++++++++++++++++++++++++++++++++ src/machine/machine_table.c | 3 +-- 3 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 37fffe771..c68108d42 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -81,9 +81,7 @@ enum { MACHINE_TYPE_SLOT1, MACHINE_TYPE_SLOT2, MACHINE_TYPE_SOCKET370, -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) MACHINE_TYPE_MISC, -#endif MACHINE_TYPE_MAX }; @@ -414,6 +412,7 @@ extern int machine_at_p65up5_cpknd_init(const machine_t *); extern int machine_at_kn97_init(const machine_t *); extern int machine_at_lx6_init(const machine_t *); +extern int machine_at_spitfire_init(const machine_t *); extern int machine_at_p6i440e2_init(const machine_t *); diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index 21a30011b..18893c0c6 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -136,6 +136,52 @@ machine_at_lx6_init(const machine_t *model) return ret; } +int +machine_at_spitfire_init(const machine_t *model) +{ + int ret; + + ret = bios_load_linear(L"roms/machines/spitfire/SPIHM.02", + 0x000c0000, 262144, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init_ex(model, 2); + + pci_init(PCI_CONFIG_TYPE_1); + pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0); + pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); + device_add(&i440lx_device); + device_add(&piix4e_device); + device_add(&keyboard_ps2_pci_device); + device_add(&fdc37c935_device); + device_add(&intel_flash_bxt_device); + spd_register(SPD_TYPE_SDRAM, 0xF, 256); + + hwm_values_t machine_hwm = { + { /* fan speeds (incorrect divisor for some reason) */ + 6000, /* Chassis */ + 6000, /* CPU */ + 6000 /* Power */ + }, { /* temperatures */ + 30 /* MB */ + }, { /* voltages */ + 2800, /* VCORE (2.8V by default) */ + 0, /* unused */ + 3300, /* +3.3V */ + RESISTOR_DIVIDER(5000, 11, 16), /* +5V (divider values bruteforced) */ + RESISTOR_DIVIDER(12000, 28, 10), /* +12V (28K/10K divider suggested in the W83781D datasheet) */ + RESISTOR_DIVIDER(12000, 853, 347), /* -12V (divider values bruteforced) */ + RESISTOR_DIVIDER(5000, 1, 2) /* -5V (divider values bruteforced) */ + } + }; + hwm_set_values(machine_hwm); + device_add(&lm78_device); + + return ret; +} + int machine_at_p6i440e2_init(const machine_t *model) { diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index dd3796670..2543c5251 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -81,9 +81,7 @@ const machine_type_t machine_types[] = { { "Slot 1", MACHINE_TYPE_SLOT1 }, { "Slot 2", MACHINE_TYPE_SLOT2 }, { "Socket 370", MACHINE_TYPE_SOCKET370 }, -#if defined(DEV_BRANCH) && defined(USE_VIRTUALPC) { "Miscellaneous", MACHINE_TYPE_MISC }, -#endif }; @@ -349,6 +347,7 @@ const machine_t machines[] = { /* 440LX */ { "[i440LX] ABIT LX6", "lx6", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII66}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 255, machine_at_lx6_init, NULL }, + { "[i440LX] Micronics Spitfire", "spitfire", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII66}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 1024, 8, 255, machine_at_spitfire_init, NULL }, /* 440EX */ { "[i440EX] QDI EXCELLENT II", "p6i440e2", MACHINE_TYPE_SLOT1, {{"Intel", cpus_PentiumII66}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 8, 512, 8, 255, machine_at_p6i440e2_init, NULL },