summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/klax.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/klax.cpp')
-rw-r--r--src/mame/drivers/klax.cpp73
1 files changed, 38 insertions, 35 deletions
diff --git a/src/mame/drivers/klax.cpp b/src/mame/drivers/klax.cpp
index 85cbfd53d50..ff805f32276 100644
--- a/src/mame/drivers/klax.cpp
+++ b/src/mame/drivers/klax.cpp
@@ -79,39 +79,41 @@ void klax_state::machine_reset()
*
*************************************/
-ADDRESS_MAP_START(klax_state::klax_map)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
- AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w)
- AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2")
- AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x2e0000, 0x2e0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
- AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
- AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
- AM_RANGE(0x3f2000, 0x3f27ff) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(klax_state::klax2bl_map)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x0e0000, 0x0e0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x1f0000, 0x1fffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
- AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w)
- AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2")
+void klax_state::klax_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom();
+ map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
+ map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
+ map(0x260000, 0x260001).portr("P1").w(this, FUNC(klax_state::klax_latch_w));
+ map(0x260002, 0x260003).portr("P2");
+ map(0x270001, 0x270001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0x2e0000, 0x2e0001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
+ map(0x360000, 0x360001).w(this, FUNC(klax_state::interrupt_ack_w));
+ map(0x3e0000, 0x3e07ff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
+ map(0x3f0000, 0x3f0f7f).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
+ map(0x3f0f80, 0x3f0fff).ram().share("mob:slip");
+ map(0x3f1000, 0x3f1fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");
+ map(0x3f2000, 0x3f27ff).ram().share("mob");
+ map(0x3f2800, 0x3f3fff).ram();
+}
+
+void klax_state::klax2bl_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom();
+ map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
+ map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
+ map(0x260000, 0x260001).portr("P1").w(this, FUNC(klax_state::klax_latch_w));
+ map(0x260002, 0x260003).portr("P2");
// AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff) // no OKI here
- AM_RANGE(0x2e0000, 0x2e0001) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
- AM_RANGE(0x3e0000, 0x3e07ff) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
- AM_RANGE(0x3f0000, 0x3f0f7f) AM_RAM_DEVWRITE("playfield", tilemap_device, write16) AM_SHARE("playfield")
- AM_RANGE(0x3f0f80, 0x3f0fff) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3f1000, 0x3f1fff) AM_RAM_DEVWRITE("playfield", tilemap_device, write16_ext) AM_SHARE("playfield_ext")
- AM_RANGE(0x3f2000, 0x3f27ff) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x3f2800, 0x3f3fff) AM_RAM
-ADDRESS_MAP_END
+ map(0x2e0000, 0x2e0001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
+ map(0x360000, 0x360001).w(this, FUNC(klax_state::interrupt_ack_w));
+ map(0x3e0000, 0x3e07ff).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
+ map(0x3f0000, 0x3f0f7f).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
+ map(0x3f0f80, 0x3f0fff).ram().share("mob:slip");
+ map(0x3f1000, 0x3f1fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");
+ map(0x3f2000, 0x3f27ff).ram().share("mob");
+ map(0x3f2800, 0x3f3fff).ram();
+}
/*************************************
*
@@ -228,9 +230,10 @@ MACHINE_CONFIG_START(klax_state::klax)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
-ADDRESS_MAP_START(klax_state::bootleg_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
-ADDRESS_MAP_END
+void klax_state::bootleg_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+}
MACHINE_CONFIG_START(klax_state::klax2bl)
klax(config);