summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/misc/ez2d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/misc/ez2d.cpp')
-rw-r--r--src/mame/misc/ez2d.cpp46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/mame/misc/ez2d.cpp b/src/mame/misc/ez2d.cpp
index 2ff2fbef230..2fae2399864 100644
--- a/src/mame/misc/ez2d.cpp
+++ b/src/mame/misc/ez2d.cpp
@@ -6,8 +6,7 @@ TODO:
- Jumps to PC=0xfb000 after the first 2 PCI dword configs, which points to empty 0xff opcodes.
$3a000 contains an "= Award Decompression BIOS =" header.
Original ASUS CUBX BIOSes actually have valid opcodes in that range, the dump should be bad.
-- ASUS CUBX fails reading RTC, oddly tries to access stuff outside ISA 10-bit address map
- (mirror by default?)
+- Needs AS99127F emulation on SMBus/ACPI to proceed;
- In pcipc ez2d2m HDD boots to a Korean Windows 98SE, it will error out with a
"Error 7 : Set up the system correctly." after driver installation. Follows dump heuristics:
@@ -116,9 +115,6 @@ void ez2d_state::ez2d_io(address_map &map)
map.unmap_value_high();
}
-static INPUT_PORTS_START( ez2d )
-INPUT_PORTS_END
-
static void isa_internal_devices(device_slot_interface &device)
{
device.option_add("w83977tf", W83977TF);
@@ -131,8 +127,8 @@ void ez2d_state::winbond_superio_config(device_t *device)
// fdc.set_sysopt_pin(1);
fdc.gp20_reset().set_inputline(":maincpu", INPUT_LINE_RESET);
fdc.gp25_gatea20().set_inputline(":maincpu", INPUT_LINE_A20);
- fdc.irq1().set(":pci:07.0", FUNC(i82371eb_isa_device::pc_irq1_w));
- fdc.irq8().set(":pci:07.0", FUNC(i82371eb_isa_device::pc_irq8n_w));
+ fdc.irq1().set(":pci:04.0", FUNC(i82371eb_isa_device::pc_irq1_w));
+ fdc.irq8().set(":pci:04.0", FUNC(i82371eb_isa_device::pc_irq8n_w));
// fdc.txd1().set(":serport0", FUNC(rs232_port_device::write_txd));
// fdc.ndtr1().set(":serport0", FUNC(rs232_port_device::write_dtr));
// fdc.nrts1().set(":serport0", FUNC(rs232_port_device::write_rts));
@@ -147,7 +143,7 @@ void ez2d_state::cubx(machine_config &config)
PENTIUM2(config, m_maincpu, 90'000'000);
m_maincpu->set_addrmap(AS_PROGRAM, &ez2d_state::ez2d_map);
m_maincpu->set_addrmap(AS_IO, &ez2d_state::ez2d_io);
- m_maincpu->set_irq_acknowledge_callback("pci:07.0:pic8259_master", FUNC(pic8259_device::inta_cb));
+ m_maincpu->set_irq_acknowledge_callback("pci:04.0:pic8259_master", FUNC(pic8259_device::inta_cb));
m_maincpu->smiact().set("pci:00.0", FUNC(i82443bx_host_device::smi_act_w));
PCI_ROOT(config, "pci", 0);
@@ -155,23 +151,25 @@ void ez2d_state::cubx(machine_config &config)
I82443BX_BRIDGE(config, "pci:01.0", 0 ); //"pci:01.0:00.0");
//I82443BX_AGP (config, "pci:01.0:00.0");
- i82371eb_isa_device &isa(I82371EB_ISA(config, "pci:07.0", 0, "maincpu", true));
+ // NOTE: at 04.x instead of 07.x as other BX targets
+ i82371eb_isa_device &isa(I82371EB_ISA(config, "pci:04.0", 0, "maincpu", true));
isa.boot_state_hook().set([](u8 data) { /* printf("%02x\n", data); */ });
isa.smi().set_inputline("maincpu", INPUT_LINE_SMI);
- i82371eb_ide_device &ide(I82371EB_IDE(config, "pci:07.1", 0, "maincpu"));
- ide.irq_pri().set("pci:07.0", FUNC(i82371eb_isa_device::pc_irq14_w));
- ide.irq_sec().set("pci:07.0", FUNC(i82371eb_isa_device::pc_mirq0_w));
+ // TODO: CMD PCI0648 UDMA4 IDE (replaces or maps on its own?)
+ i82371eb_ide_device &ide(I82371EB_IDE(config, "pci:04.1", 0, "maincpu"));
+ ide.irq_pri().set("pci:04.0", FUNC(i82371eb_isa_device::pc_irq14_w));
+ ide.irq_sec().set("pci:04.0", FUNC(i82371eb_isa_device::pc_mirq0_w));
- I82371EB_USB (config, "pci:07.2", 0);
- I82371EB_ACPI(config, "pci:07.3", 0);
- ACPI_PIIX4 (config, "pci:07.3:acpi", 0);
- SMBUS (config, "pci:07.3:smbus", 0);
+ I82371EB_USB (config, "pci:04.2", 0);
+ I82371EB_ACPI(config, "pci:04.3", 0);
+ ACPI_PIIX4 (config, "pci:04.3:acpi", 0);
+ SMBUS (config, "pci:04.3:smbus", 0);
- ISA16_SLOT(config, "board4", 0, "pci:07.0:isabus", isa_internal_devices, "w83977tf", true).set_option_machine_config("w83977tf", winbond_superio_config);
- ISA16_SLOT(config, "isa1", 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false);
- ISA16_SLOT(config, "isa2", 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false);
- ISA16_SLOT(config, "isa3", 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false);
+ ISA16_SLOT(config, "board4", 0, "pci:04.0:isabus", isa_internal_devices, "w83977tf", true).set_option_machine_config("w83977tf", winbond_superio_config);
+ ISA16_SLOT(config, "isa1", 0, "pci:04.0:isabus", pc_isa16_cards, nullptr, false);
+ ISA16_SLOT(config, "isa2", 0, "pci:04.0:isabus", pc_isa16_cards, nullptr, false);
+ ISA16_SLOT(config, "isa3", 0, "pci:04.0:isabus", pc_isa16_cards, nullptr, false);
#if 0
rs232_port_device& serport0(RS232_PORT(config, "serport0", isa_com, nullptr)); // "microsoft_mouse"));
@@ -207,12 +205,12 @@ void ez2d_state::ez2d(machine_config &config)
***************************************************************************/
ROM_START( asuscubx )
- ROM_REGION32_LE(0x40000, "pci:07.0", 0)
+ ROM_REGION32_LE(0x40000, "pci:04.0", 0)
ROM_LOAD("cubx1007.awd", 0x00000, 0x40000, CRC(42a35507) SHA1(4e428e8419e533424d9564b290e2d7f4931744ff) )
ROM_END
ROM_START( ez2d2m )
- ROM_REGION32_LE(0x40000, "pci:07.0", 0)
+ ROM_REGION32_LE(0x40000, "pci:04.0", 0)
ROM_SYSTEM_BIOS( 0, "1006cu", "OEM" )
// From HDD "C:\Install\Bios1006"
ROMX_LOAD("1006cu.awd", 0x00000, 0x40000, CRC(086c320a) SHA1(4b4c07e594602c467e678187f80e3a5c1445bd30), ROM_BIOS(0) )
@@ -226,6 +224,6 @@ ROM_END
} // anonymous namespace
-COMP( 2000, asuscubx, 0, 0, cubx, 0, ez2d_state, empty_init, "ASUS", "CUBX", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
+COMP( 2000, asuscubx, 0, 0, cubx, 0, ez2d_state, empty_init, "ASUS", "CUBX", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
-GAME( 2001, ez2d2m, 0, ez2d, ez2d, ez2d_state, empty_init, ROT0, "Amuse World", "Ez2dancer 2nd Move", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
+GAME( 2001, ez2d2m, 0, ez2d, 0, ez2d_state, empty_init, ROT0, "Amuse World", "Ez2dancer 2nd Move", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )