From 246ec0c16892038ceb3fc74e88be73e896862197 Mon Sep 17 00:00:00 2001 From: amdk6 <38372778+SauceJustSauce@users.noreply.github.com> Date: Thu, 15 Oct 2020 21:38:11 +0300 Subject: [PATCH] Added the IBM PS/ValuePoint 433DX/Si, and the HP Vectra 486VL Albeit, the Vectra 486VL will be dev branched because of HDC related issues. --- src/include/86box/machine.h | 11 ++++++-- src/include/86box/video.h | 2 +- src/machine/m_at_386dx_486.c | 53 ++++++++++++++++++++++++++++++++++-- src/machine/m_at_socket4_5.c | 34 ----------------------- src/machine/machine_table.c | 11 ++++---- src/video/vid_cl54xx.c | 6 ++-- src/win/Makefile.mingw | 12 ++++---- 7 files changed, 75 insertions(+), 54 deletions(-) diff --git a/src/include/86box/machine.h b/src/include/86box/machine.h index 0e70ae7f7..501756471 100644 --- a/src/include/86box/machine.h +++ b/src/include/86box/machine.h @@ -293,10 +293,15 @@ extern int machine_at_opti495_init(const machine_t *); extern int machine_at_opti495_ami_init(const machine_t *); extern int machine_at_opti495_mr_init(const machine_t *); +#if defined(DEV_BRANCH) && defined(USE_VECT486VL) +extern int machine_at_vect486vl_init(const machine_t *); +#endif + extern int machine_at_403tg_init(const machine_t *); extern int machine_at_pc330_6571_init(const machine_t *); extern int machine_at_sis401_init(const machine_t *); +extern int machine_at_valuepoint433_init(const machine_t *); extern int machine_at_vli486sv2g_init(const machine_t *); extern int machine_at_ami471_init(const machine_t *); @@ -327,6 +332,9 @@ extern int machine_at_pcm5330_init(const machine_t *); #ifdef EMU_DEVICE_H extern const device_t *at_acera1g_get_device(void); +#if defined(DEV_BRANCH) && defined(USE_VECT486VL) +extern const device_t *at_vect486vl_get_device(void); +#endif #endif /* m_at_commodore.c */ @@ -346,9 +354,6 @@ extern int machine_at_excalibur_init(const machine_t *); 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_dellxp60_init(const machine_t *); -#endif extern int machine_at_p5mp3_init(const machine_t *); extern int machine_at_pb520r_init(const machine_t *); extern int machine_at_586mc1_init(const machine_t *); diff --git a/src/include/86box/video.h b/src/include/86box/video.h index 99a7072eb..4deb2d4e5 100644 --- a/src/include/86box/video.h +++ b/src/include/86box/video.h @@ -225,7 +225,7 @@ extern const device_t gd5426_onboard_device; extern const device_t gd5428_isa_device; extern const device_t gd5428_vlb_device; extern const device_t gd5428_mca_device; -extern const device_t gd5428_a1g_device; +extern const device_t gd5428_onboard_device; extern const device_t gd5429_isa_device; extern const device_t gd5429_vlb_device; extern const device_t gd5430_vlb_device; diff --git a/src/machine/m_at_386dx_486.c b/src/machine/m_at_386dx_486.c index 027312717..fa4abc57a 100644 --- a/src/machine/m_at_386dx_486.c +++ b/src/machine/m_at_386dx_486.c @@ -102,6 +102,24 @@ machine_at_sis401_init(const machine_t *model) return ret; } +int +machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2 mouse +{ + int ret; + + ret = bios_load_linear(L"roms/machines/valuepoint433/$IMAGEP.FLH", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_ide_init(model); + device_add(&sis_85c461_device); + device_add(&keyboard_ps2_device); + device_add(&fdc_at_device); + + return ret; +} int machine_at_ecs386_init(const machine_t *model) @@ -229,6 +247,37 @@ machine_at_pb410a_init(const machine_t *model) return ret; } +#if defined(DEV_BRANCH) && defined(USE_VECT486VL) +int +machine_at_vect486vl_init(const machine_t *model) // has HDC problems +{ + int ret; + + ret = bios_load_linear(L"roms/machines/vect486vl/aa0500.ami", + 0x000e0000, 131072, 0); + + if (bios_only || !ret) + return ret; + + machine_at_common_init(model); + + device_add(&vl82c480_device); + device_add(&keyboard_ps2_ami_device); + device_add(&fdc37c661_device); // presumably SMC FDC37C651 + device_add(&ide_isa_2ch_device); + + if (gfxcard == VID_INTERNAL) + device_add(&gd5428_onboard_device); + + return ret; +} + +const device_t * +at_vect486vl_get_device(void) +{ + return &gd5428_onboard_device; +} +#endif int machine_at_acera1g_init(const machine_t *model) @@ -244,7 +293,7 @@ machine_at_acera1g_init(const machine_t *model) machine_at_common_init(model); if (gfxcard == VID_INTERNAL) - device_add(&gd5428_a1g_device); + device_add(&gd5428_onboard_device); device_add(&ali1429_device); device_add(&keyboard_ps2_acer_pci_device); @@ -257,7 +306,7 @@ machine_at_acera1g_init(const machine_t *model) const device_t * at_acera1g_get_device(void) { - return &gd5428_a1g_device; + return &gd5428_onboard_device; } diff --git a/src/machine/m_at_socket4_5.c b/src/machine/m_at_socket4_5.c index e457e1449..3ae081dbb 100644 --- a/src/machine/m_at_socket4_5.c +++ b/src/machine/m_at_socket4_5.c @@ -207,7 +207,6 @@ machine_at_pb520r_init(const machine_t *model) return ret; } - const device_t * at_pb520r_get_device(void) { @@ -215,39 +214,6 @@ at_pb520r_get_device(void) } -#if defined(DEV_BRANCH) && defined(USE_DELLS4) -int -machine_at_dellxp60_init(const machine_t *model) -{ - int ret; - - ret = bios_load_linear(L"roms/machines/dellxp60/XP60-A08.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; -} -#endif - - int machine_at_p5mp3_init(const machine_t *model) { diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 24c2994ee..2f45c11e7 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -216,7 +216,8 @@ const machine_t machines[] = { { "[OPTi 802G] IBM PC 330 (type 6571)", "pc330_6571", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_BUS_PS2 | MACHINE_IDE, 1, 64, 1, 127, machine_at_pc330_6571_init, NULL }, { "[CS4031] AMI 486 CS4031", "cs4031", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_VLB, 1, 64, 1, 127, machine_at_cs4031_init, NULL }, { "[SiS 401] AMI 486 Clone", "sis401", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_AT | MACHINE_IDE, 1, 64, 1, 127, machine_at_sis401_init, NULL }, - { "[SiS 471] ASUS VL/I-486SV2G (GX4)", "vli486sv2g", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE_DUAL, 1, 64, 1, 127, machine_at_vli486sv2g_init, NULL }, + { "[SiS 461] IBM PS/ValuePoint 433DX/Si", "valuepoint433", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1, 64, 1, 127, machine_at_valuepoint433_init, NULL }, + { "[SiS 471] ASUS VL/I-486SV2G (GX4)", "vli486sv2g", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE_DUAL, 1, 64, 1, 127, machine_at_vli486sv2g_init, NULL }, { "[SiS 471] AMI 486 Clone", "ami471", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE, 1, 64, 1, 127, machine_at_ami471_init, NULL }, { "[SiS 471] AMI WinBIOS 486 clone", "win471", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE, 1, 64, 1, 127, machine_at_win471_init, NULL }, { "[SiS 471] AOpen Vi15G", "vi15g", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE, 1, 64, 1, 127, machine_at_vi15g_init, NULL }, @@ -226,7 +227,10 @@ const machine_t machines[] = { { "[ALi M1429] Olystar LIL1429", "ali1429", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE, 1, 32, 1, 127, machine_at_ali1429_init, NULL }, { "[ALi M1429] AMI WinBIOS 486", "win486", MACHINE_TYPE_486, {{"Intel", cpus_i486}, {"AMD", cpus_Am486}, {"Cyrix", cpus_Cx486}, {"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_IDE, 1, 32, 1, 127, machine_at_winbios1429_init, NULL }, { "[VLSI 82C480] IBM PS/1 model 2133", "ibmps1_2133", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_VLB | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_NONMI | MACHINE_VIDEO, 2, 32, 1, 127, machine_ps1_m2133_init, ps1_m2133_get_device }, - { "[VIA VT82C495] FIC 486-VC-HD", "486vchd", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_AT, 1, 32, 1, 127, machine_at_486vchd_init, NULL }, +#if defined(DEV_BRANCH) && defined(USE_VECT486VL) + { "[VLSI 82C480] HP Vectra 486VL", "vect486vl", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE | MACHINE_VIDEO, 2, 64, 1, 127, machine_at_vect486vl_init, at_vect486vl_get_device }, +#endif + { "[VIA VT82C495] FIC 486-VC-HD", "486vchd", MACHINE_TYPE_486, {{"Intel", cpus_i486S1}, {"AMD", cpus_Am486S1}, {"Cyrix", cpus_Cx486S1},{"", NULL}, {"", NULL}}, MACHINE_AT, 1, 32, 1, 127, machine_at_486vchd_init, NULL }, /* 486 machines with utilize the MCA bus */ #if defined(DEV_BRANCH) && defined(USE_PS2M70T4) @@ -262,9 +266,6 @@ const machine_t machines[] = { { "[i430LX] IBM Ambra DP60 PCI", "ambradp60", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_ambradp60_init, NULL }, { "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 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_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_batman_init, NULL }, -#if defined(DEV_BRANCH) && defined(USE_DELLS4) - { "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 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_BUS_PS2 | MACHINE_IDE, 2, 192, 2, 127, machine_at_p5mp3_init, NULL }, { "[i430LX] Micro Star 586MC1", "586mc1", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2, 128, 2, 127, machine_at_586mc1_init, NULL }, { "[i430LX] Packard Bell PB520R", "pb520r", MACHINE_TYPE_SOCKET4, {{"Intel", cpus_Pentium5V}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8, 136, 2, 127, machine_at_pb520r_init, at_pb520r_get_device }, diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 7c6014199..4938f4656 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -3431,7 +3431,7 @@ static const device_config_t gd5428_config[] = } }; -static const device_config_t gd5428_a1g_config[] = +static const device_config_t gd5428_onboard_config[] = { { .name = "memory", @@ -3660,7 +3660,7 @@ const device_t gd5428_mca_device = NULL }; -const device_t gd5428_a1g_device = +const device_t gd5428_onboard_device = { "Cirrus Logic CL-GD 5428 (On-Board)", DEVICE_AT | DEVICE_ISA, @@ -3671,7 +3671,7 @@ const device_t gd5428_a1g_device = gd5428_isa_available, gd54xx_speed_changed, gd54xx_force_redraw, - gd5428_a1g_config + gd5428_onboard_config }; const device_t gd5429_isa_device = diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index fd05954c2..11cfe4168 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -105,8 +105,8 @@ ifeq ($(DEV_BUILD), y) ifndef GUSMAX GUSMAX := y endif - ifndef DELLS4 - DELLS4 := y + ifndef USE_VECT486VL + USE_VECT486VL := y endif else ifndef DEBUG @@ -187,8 +187,8 @@ else ifndef GUSMAX GUSMAX := n endif - ifndef DELLS4 - DELLS4 := n + ifndef USE_VECT486VL + USE_VECT486VL := n endif endif @@ -603,8 +603,8 @@ ifeq ($(GUSMAX), y) OPTS += -DUSE_GUSMAX endif -ifeq ($(DELLS4), y) -OPTS += -DUSE_DELLS4 +ifeq ($(USE_VECT486VL), y) +OPTS += -DUSE_VECT486VL endif endif