pc/igspc.cpp: rearrange base setup, fix CPU class family

This commit is contained in:
angelosa 2023-01-19 23:01:12 +01:00
parent 3d3b6b20c0
commit 421e9c6145

View File

@ -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<cpu_device> m_maincpu;
public:
required_device<mediagx_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);
// ...
}