summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/funkball.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/funkball.cpp')
-rw-r--r--src/mame/drivers/funkball.cpp77
1 files changed, 40 insertions, 37 deletions
diff --git a/src/mame/drivers/funkball.cpp b/src/mame/drivers/funkball.cpp
index 0a2906ad092..40a9f166d05 100644
--- a/src/mame/drivers/funkball.cpp
+++ b/src/mame/drivers/funkball.cpp
@@ -326,52 +326,55 @@ READ8_MEMBER( funkball_state::in_r )
return m_inputs[offset]->read();
}
-ADDRESS_MAP_START(funkball_state::funkball_map)
- AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
- AM_RANGE(0x000a0000, 0x000affff) AM_RAM
- AM_RANGE(0x000b0000, 0x000bffff) AM_DEVICE("flashbank", address_map_bank_device, amap32)
- AM_RANGE(0x000c0000, 0x000cffff) AM_RAM
- AM_RANGE(0x000d0000, 0x000dffff) AM_RAM
- AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1")
- AM_RANGE(0x000e4000, 0x000e7fff) AM_ROMBANK("bios_ext2")
- AM_RANGE(0x000e8000, 0x000ebfff) AM_ROMBANK("bios_ext3")
- AM_RANGE(0x000ec000, 0x000effff) AM_ROMBANK("bios_ext4")
- AM_RANGE(0x000f0000, 0x000f3fff) AM_ROMBANK("bios_bank1")
- AM_RANGE(0x000f4000, 0x000f7fff) AM_ROMBANK("bios_bank2")
- AM_RANGE(0x000f8000, 0x000fbfff) AM_ROMBANK("bios_bank3")
- AM_RANGE(0x000fc000, 0x000fffff) AM_ROMBANK("bios_bank4")
- AM_RANGE(0x000e0000, 0x000fffff) AM_WRITE8(bios_ram_w,0xffffffff)
- AM_RANGE(0x00100000, 0x07ffffff) AM_RAM
+void funkball_state::funkball_map(address_map &map)
+{
+ map(0x00000000, 0x0009ffff).ram();
+ map(0x000a0000, 0x000affff).ram();
+ map(0x000b0000, 0x000bffff).m(m_flashbank, FUNC(address_map_bank_device::amap32));
+ map(0x000c0000, 0x000cffff).ram();
+ map(0x000d0000, 0x000dffff).ram();
+ map(0x000e0000, 0x000e3fff).bankr("bios_ext1");
+ map(0x000e4000, 0x000e7fff).bankr("bios_ext2");
+ map(0x000e8000, 0x000ebfff).bankr("bios_ext3");
+ map(0x000ec000, 0x000effff).bankr("bios_ext4");
+ map(0x000f0000, 0x000f3fff).bankr("bios_bank1");
+ map(0x000f4000, 0x000f7fff).bankr("bios_bank2");
+ map(0x000f8000, 0x000fbfff).bankr("bios_bank3");
+ map(0x000fc000, 0x000fffff).bankr("bios_bank4");
+ map(0x000e0000, 0x000fffff).w(this, FUNC(funkball_state::bios_ram_w));
+ map(0x00100000, 0x07ffffff).ram();
// AM_RANGE(0x08000000, 0x0fffffff) AM_NOP
- AM_RANGE(0x40008000, 0x400080ff) AM_READWRITE(biu_ctrl_r, biu_ctrl_w)
- AM_RANGE(0x40010e00, 0x40010eff) AM_RAM AM_SHARE("unk_ram")
- AM_RANGE(0xff000000, 0xfffdffff) AM_DEVREADWRITE("voodoo_0", voodoo_device, voodoo_r, voodoo_w)
- AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("bios", 0) /* System BIOS */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(funkball_state::flashbank_map)
- AM_RANGE(0x00000000, 0x003fffff) AM_DEVREADWRITE16("u29", intel_28f320j5_device, read, write, 0xffffffff ) // needed to boot
- AM_RANGE(0x00400000, 0x007fffff) AM_DEVREADWRITE16("u30", intel_28f320j5_device, read, write, 0xffffffff ) // i assume it maps directly after
+ map(0x40008000, 0x400080ff).rw(this, FUNC(funkball_state::biu_ctrl_r), FUNC(funkball_state::biu_ctrl_w));
+ map(0x40010e00, 0x40010eff).ram().share("unk_ram");
+ map(0xff000000, 0xfffdffff).rw(m_voodoo, FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0xfffe0000, 0xffffffff).rom().region("bios", 0); /* System BIOS */
+}
+
+void funkball_state::flashbank_map(address_map &map)
+{
+ map(0x00000000, 0x003fffff).rw("u29", FUNC(intel_28f320j5_device::read), FUNC(intel_28f320j5_device::write)); // needed to boot
+ map(0x00400000, 0x007fffff).rw("u30", FUNC(intel_28f320j5_device::read), FUNC(intel_28f320j5_device::write)); // i assume it maps directly after
// AM_RANGE(0x02000000, 0x023fffff) AM_DEVREADWRITE16("u3", intel_28f320j5_device, read, write, 0xffffffff ) // sound program, don't think it matters where we map it, might not even be visible in this space
/* it checks for 64MBit chips at 0x80000000 the way things are set up, they must return an intel Flash ID of 0x15 */
-ADDRESS_MAP_END
+}
-ADDRESS_MAP_START(funkball_state::funkball_io)
- AM_IMPORT_FROM(pcat32_io_common)
- AM_RANGE(0x0020, 0x0023) AM_READWRITE8(io20_r, io20_w, 0xffff0000)
- AM_RANGE(0x00e8, 0x00ef) AM_NOP
+void funkball_state::funkball_io(address_map &map)
+{
+ pcat32_io_common(map);
+ map(0x0022, 0x0023).rw(this, FUNC(funkball_state::io20_r), FUNC(funkball_state::io20_w));
+ map(0x00e8, 0x00ef).noprw();
- AM_RANGE(0x01f0, 0x01f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs0, write_cs0, 0xffffffff)
- AM_RANGE(0x03f0, 0x03f7) AM_DEVREADWRITE16("ide", ide_controller_device, read_cs1, write_cs1, 0xffffffff)
- AM_RANGE(0x03f8, 0x03ff) AM_READWRITE8(serial_r,serial_w,0xffffffff)
+ map(0x01f0, 0x01f7).rw("ide", FUNC(ide_controller_device::read_cs0), FUNC(ide_controller_device::write_cs0));
+ map(0x03f0, 0x03f7).rw("ide", FUNC(ide_controller_device::read_cs1), FUNC(ide_controller_device::write_cs1));
+ map(0x03f8, 0x03ff).rw(this, FUNC(funkball_state::serial_r), FUNC(funkball_state::serial_w));
- AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
+ map(0x0cf8, 0x0cff).rw("pcibus", FUNC(pci_bus_legacy_device::read), FUNC(pci_bus_legacy_device::write));
- AM_RANGE(0x0360, 0x0363) AM_WRITE(flash_w)
+ map(0x0360, 0x0363).w(this, FUNC(funkball_state::flash_w));
// AM_RANGE(0x0320, 0x0323) AM_READ(test_r)
- AM_RANGE(0x0360, 0x036f) AM_READ8(in_r,0xffffffff) // inputs
-ADDRESS_MAP_END
+ map(0x0360, 0x036f).r(this, FUNC(funkball_state::in_r)); // inputs
+}
static INPUT_PORTS_START( funkball )
PORT_START("IN.0")