From 421e9c6145659abbaae2d02c2e67c21ff7e73ad9 Mon Sep 17 00:00:00 2001 From: angelosa Date: Thu, 19 Jan 2023 23:01:12 +0100 Subject: pc/igspc.cpp: rearrange base setup, fix CPU class family --- src/mame/pc/igspc.cpp | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/mame/pc/igspc.cpp b/src/mame/pc/igspc.cpp index 0384a918fa4..673f2f68e23 100644 --- a/src/mame/pc/igspc.cpp +++ b/src/mame/pc/igspc.cpp @@ -4,13 +4,13 @@ IGS PC based hardware +TODO: +- Checks CPUID pretty soon that is a Geode processor at PC=f604d, jumps to lalaland + on next CPUID with EAX=1 if ecx is equal to 0x540/0x551/0x552 ... Speed Driver ------------- -TODO: -can't be emulated without proper mb bios - 4 boards 1x NV440 gfx card 1x sound card @@ -45,6 +45,7 @@ can't be emulated without proper mb bios #include "emu.h" #include "cpu/i386/i386.h" +#include "machine/pci.h" class speeddrv_state : public driver_device { @@ -59,24 +60,18 @@ public: void init_speeddrv(); private: - void speeddrv_io(address_map &map); void speeddrv_map(address_map &map); - // devices - required_device m_maincpu; -public: + required_device m_maincpu; }; void speeddrv_state::speeddrv_map(address_map &map) { + map(0x00000000, 0x0009ffff).ram(); + map(0x000e0000, 0x000fffff).rom().region("bios", 0x20000); map(0xfffc0000, 0xffffffff).rom().region("bios", 0); } -void speeddrv_state::speeddrv_io(address_map &map) -{ -} - - static INPUT_PORTS_START( speeddrv ) INPUT_PORTS_END @@ -84,10 +79,12 @@ INPUT_PORTS_END void speeddrv_state::speeddrv(machine_config &config) { - /* basic machine hardware */ - I486(config, m_maincpu, 40000000); // ?? at least a pentium + // TODO: AMD Geode, superset of MediaGX, clock is probably higher + MEDIAGX(config, m_maincpu, 40'000'000); m_maincpu->set_addrmap(AS_PROGRAM, &speeddrv_state::speeddrv_map); - m_maincpu->set_addrmap(AS_IO, &speeddrv_state::speeddrv_io); + + PCI_ROOT(config, "pci", 0); + // ... } -- cgit v1.2.3