summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/irobot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/irobot.cpp')
-rw-r--r--src/mame/drivers/irobot.cpp47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/mame/drivers/irobot.cpp b/src/mame/drivers/irobot.cpp
index b4410383fa4..78c98bf00ea 100644
--- a/src/mame/drivers/irobot.cpp
+++ b/src/mame/drivers/irobot.cpp
@@ -149,29 +149,30 @@ WRITE8_MEMBER(irobot_state::quad_pokeyn_w)
*
*************************************/
-ADDRESS_MAP_START(irobot_state::irobot_map)
- AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x0800, 0x0fff) AM_RAMBANK("bank2")
- AM_RANGE(0x1000, 0x103f) AM_READ_PORT("IN0")
- AM_RANGE(0x1040, 0x1040) AM_READ_PORT("IN1")
- AM_RANGE(0x1080, 0x1080) AM_READ(irobot_status_r)
- AM_RANGE(0x10c0, 0x10c0) AM_READ_PORT("DSW1")
- AM_RANGE(0x1100, 0x1100) AM_WRITE(irobot_clearirq_w)
- AM_RANGE(0x1140, 0x1140) AM_WRITE(irobot_statwr_w)
- AM_RANGE(0x1180, 0x1180) AM_WRITE(irobot_out0_w)
- AM_RANGE(0x11c0, 0x11c0) AM_WRITE(irobot_rom_banksel_w)
- AM_RANGE(0x1200, 0x12ff) AM_RAM_WRITE(irobot_nvram_w) AM_SHARE("nvram")
- AM_RANGE(0x1300, 0x13ff) AM_READ(irobot_control_r)
- AM_RANGE(0x1400, 0x143f) AM_READWRITE(quad_pokeyn_r, quad_pokeyn_w)
- AM_RANGE(0x1800, 0x18ff) AM_WRITE(irobot_paletteram_w)
- AM_RANGE(0x1900, 0x19ff) AM_WRITEONLY /* Watchdog reset */
- AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w)
- AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w)
- AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0x2000, 0x3fff) AM_READWRITE(irobot_sharedmem_r, irobot_sharedmem_w)
- AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
- AM_RANGE(0x6000, 0xffff) AM_ROM
-ADDRESS_MAP_END
+void irobot_state::irobot_map(address_map &map)
+{
+ map(0x0000, 0x07ff).ram();
+ map(0x0800, 0x0fff).bankrw("bank2");
+ map(0x1000, 0x103f).portr("IN0");
+ map(0x1040, 0x1040).portr("IN1");
+ map(0x1080, 0x1080).r(this, FUNC(irobot_state::irobot_status_r));
+ map(0x10c0, 0x10c0).portr("DSW1");
+ map(0x1100, 0x1100).w(this, FUNC(irobot_state::irobot_clearirq_w));
+ map(0x1140, 0x1140).w(this, FUNC(irobot_state::irobot_statwr_w));
+ map(0x1180, 0x1180).w(this, FUNC(irobot_state::irobot_out0_w));
+ map(0x11c0, 0x11c0).w(this, FUNC(irobot_state::irobot_rom_banksel_w));
+ map(0x1200, 0x12ff).ram().w(this, FUNC(irobot_state::irobot_nvram_w)).share("nvram");
+ map(0x1300, 0x13ff).r(this, FUNC(irobot_state::irobot_control_r));
+ map(0x1400, 0x143f).rw(this, FUNC(irobot_state::quad_pokeyn_r), FUNC(irobot_state::quad_pokeyn_w));
+ map(0x1800, 0x18ff).w(this, FUNC(irobot_state::irobot_paletteram_w));
+ map(0x1900, 0x19ff).writeonly(); /* Watchdog reset */
+ map(0x1a00, 0x1a00).w(this, FUNC(irobot_state::irobot_clearfirq_w));
+ map(0x1b00, 0x1bff).w(this, FUNC(irobot_state::irobot_control_w));
+ map(0x1c00, 0x1fff).ram().share("videoram");
+ map(0x2000, 0x3fff).rw(this, FUNC(irobot_state::irobot_sharedmem_r), FUNC(irobot_state::irobot_sharedmem_w));
+ map(0x4000, 0x5fff).bankr("bank1");
+ map(0x6000, 0xffff).rom();
+}