summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rollerg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rollerg.cpp')
-rw-r--r--src/mame/drivers/rollerg.cpp60
1 files changed, 31 insertions, 29 deletions
diff --git a/src/mame/drivers/rollerg.cpp b/src/mame/drivers/rollerg.cpp
index 980abd2a129..231dd47e2a1 100644
--- a/src/mame/drivers/rollerg.cpp
+++ b/src/mame/drivers/rollerg.cpp
@@ -77,35 +77,37 @@ READ8_MEMBER(rollerg_state::pip_r)
return 0x7f;
}
-ADDRESS_MAP_START(rollerg_state::rollerg_map)
- AM_RANGE(0x0010, 0x0010) AM_WRITE(rollerg_0010_w)
- AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE("watchdog", watchdog_timer_device, reset_r, reset_w)
- AM_RANGE(0x0030, 0x0031) AM_DEVREADWRITE("k053260", k053260_device, main_read, main_write)
- AM_RANGE(0x0040, 0x0040) AM_WRITE(soundirq_w)
- AM_RANGE(0x0050, 0x0050) AM_READ_PORT("P1")
- AM_RANGE(0x0051, 0x0051) AM_READ_PORT("P2")
- AM_RANGE(0x0052, 0x0052) AM_READ_PORT("DSW3")
- AM_RANGE(0x0053, 0x0053) AM_READ_PORT("DSW1")
- AM_RANGE(0x0060, 0x0060) AM_READ_PORT("DSW2")
- AM_RANGE(0x0061, 0x0061) AM_READ(pip_r) /* ????? */
- AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE("k053252", k053252_device, read, write) /* 053252? */
- AM_RANGE(0x0200, 0x020f) AM_DEVWRITE("k051316", k051316_device, ctrl_w)
- AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE("k053244", k05324x_device, k053244_r, k053244_w)
- AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE("k051316", k051316_device, write)
- AM_RANGE(0x1000, 0x17ff) AM_DEVREADWRITE("k053244", k05324x_device, k053245_r, k053245_w)
- AM_RANGE(0x1800, 0x1fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x2000, 0x3aff) AM_RAM
- AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(rollerg_state::rollerg_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0xa000, 0xa02f) AM_DEVREADWRITE("k053260", k053260_device, read, write)
- AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
- AM_RANGE(0xfc00, 0xfc00) AM_WRITE(sound_arm_nmi_w)
-ADDRESS_MAP_END
+void rollerg_state::rollerg_map(address_map &map)
+{
+ map(0x0010, 0x0010).w(this, FUNC(rollerg_state::rollerg_0010_w));
+ map(0x0020, 0x0020).rw("watchdog", FUNC(watchdog_timer_device::reset_r), FUNC(watchdog_timer_device::reset_w));
+ map(0x0030, 0x0031).rw("k053260", FUNC(k053260_device::main_read), FUNC(k053260_device::main_write));
+ map(0x0040, 0x0040).w(this, FUNC(rollerg_state::soundirq_w));
+ map(0x0050, 0x0050).portr("P1");
+ map(0x0051, 0x0051).portr("P2");
+ map(0x0052, 0x0052).portr("DSW3");
+ map(0x0053, 0x0053).portr("DSW1");
+ map(0x0060, 0x0060).portr("DSW2");
+ map(0x0061, 0x0061).r(this, FUNC(rollerg_state::pip_r)); /* ????? */
+ map(0x0100, 0x010f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)); /* 053252? */
+ map(0x0200, 0x020f).w(m_k051316, FUNC(k051316_device::ctrl_w));
+ map(0x0300, 0x030f).rw(m_k053244, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w));
+ map(0x0800, 0x0fff).r(this, FUNC(rollerg_state::rollerg_k051316_r)).w(m_k051316, FUNC(k051316_device::write));
+ map(0x1000, 0x17ff).rw(m_k053244, FUNC(k05324x_device::k053245_r), FUNC(k05324x_device::k053245_w));
+ map(0x1800, 0x1fff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
+ map(0x2000, 0x3aff).ram();
+ map(0x4000, 0x7fff).bankr("bank1");
+ map(0x8000, 0xffff).rom();
+}
+
+void rollerg_state::rollerg_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+ map(0xa000, 0xa02f).rw("k053260", FUNC(k053260_device::read), FUNC(k053260_device::write));
+ map(0xc000, 0xc001).rw("ymsnd", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
+ map(0xfc00, 0xfc00).w(this, FUNC(rollerg_state::sound_arm_nmi_w));
+}
/***************************************************************************