pc/pcipc.cpp: add pcimga target (i430HX + MGA2064W), add QA notes

This commit is contained in:
angelosa 2023-09-07 21:42:43 +02:00
parent 44eb5ea3c6
commit 224045e8ef
2 changed files with 20 additions and 4 deletions

View File

@ -35543,6 +35543,7 @@ streetgr3 // (c) 1993
@source:pc/pcipc.cpp
pciagp //
pcimga //
pcinv3 //
pcipc //
pcipctx //

View File

@ -60,6 +60,7 @@ public:
void pcipc(machine_config &config);
void pcipctx(machine_config &config);
void pcinv3(machine_config &config);
void pcimga(machine_config &config);
void pciagp(machine_config &config);
pcipc_state(const machine_config &mconfig, device_type type, const char *tag);
@ -605,6 +606,7 @@ void pcipc_state::pcipctx(machine_config &config)
i82371sb_isa_device &isa(I82371SB_ISA(config, "pci:07.0", 0, "maincpu"));
isa.boot_state_hook().set(FUNC(pcipc_state::boot_state_award_w));
// IDE_PCI(config, "pci:07.1", 0, 0x80867010, 0x03, 0x00000000);
// TODO: eventually change this to something else
MGA2064W(config, "pci:12.0", 0);
}
@ -614,6 +616,12 @@ void pcipc_state::pcinv3(machine_config &config)
RIVA128(config.replace(), "pci:12.0", 0);
}
void pcipc_state::pcimga(machine_config &config)
{
pcipc_state::pcipc(config);
MGA2064W(config.replace(), "pci:12.0", 0);
}
void pcipc_state::pciagp(machine_config &config)
{
// TODO: starts at 233'000'000
@ -695,6 +703,12 @@ ROM_START(pcinv3)
ROMX_LOAD("m55-04ns.rom", 0x20000, 0x20000, CRC(0116b2b0) SHA1(19b0203decfd4396695334517488d488aec3ccde), ROM_BIOS(0))
ROM_END
ROM_START(pcimga)
ROM_REGION32_LE(0x40000, "pci:07.0", 0) /* PC bios */
ROM_SYSTEM_BIOS(0, "m55ns04", "m55ns04") // Micronics M55HI-Plus with no sound
ROMX_LOAD("m55-04ns.rom", 0x20000, 0x20000, CRC(0116b2b0) SHA1(19b0203decfd4396695334517488d488aec3ccde), ROM_BIOS(0))
ROM_END
ROM_START(pciagp)
ROM_REGION32_LE(0x40000, "pci:07.0", 0) /* PC bios */
// a.k.a. the BIOS present in savquest.cpp
@ -708,7 +722,8 @@ INPUT_PORTS_END
} // anonymous namespace
COMP(1998, pcipc, 0, 0, pcipc, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430HX)", MACHINE_NO_SOUND)
COMP(1998, pcinv3, pcipc, 0, pcinv3, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430HX with Riva 128)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
COMP(1998, pcipctx, 0, 0, pcipctx, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430TX)", MACHINE_NO_SOUND)
COMP(1999, pciagp, 0, 0, pciagp, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI/AGP PC (440BX)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING)
COMP(1998, pcipc, 0, 0, pcipc, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430HX)", MACHINE_NO_SOUND )
COMP(1998, pcinv3, pcipc, 0, pcinv3, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430HX with nVidia Riva 128)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // Windows 98 doesn't recognize video card, may need AGP BIOS instead
COMP(1998, pcimga, pcipc, 0, pcimga, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430HX with Matrox Millennium)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) // cfr. MGA2064W emulation
COMP(1998, pcipctx, 0, 0, pcipctx, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI PC (430TX)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // unemulated super I/O
COMP(1999, pciagp, 0, 0, pciagp, pcipc, pcipc_state, empty_init, "Hack Inc.", "Sandbox PCI/AGP PC (440BX)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING) // errors out with ISA state 0x05 (keyboard), does stuff if bypassed but eventually PnP breaks OS booting