diff options
Diffstat (limited to 'src/mame/misc/ez2d.cpp')
| -rw-r--r-- | src/mame/misc/ez2d.cpp | 46 |
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 ) |
