summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/jailbrek.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/jailbrek.cpp')
-rw-r--r--src/mame/drivers/jailbrek.cpp60
1 files changed, 31 insertions, 29 deletions
diff --git a/src/mame/drivers/jailbrek.cpp b/src/mame/drivers/jailbrek.cpp
index b486b5185f2..52154e471ca 100644
--- a/src/mame/drivers/jailbrek.cpp
+++ b/src/mame/drivers/jailbrek.cpp
@@ -136,35 +136,37 @@ WRITE8_MEMBER(jailbrek_state::speech_w)
m_vlm->rst((data >> 2) & 1);
}
-ADDRESS_MAP_START(jailbrek_state::jailbrek_map)
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x1000, 0x10bf) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x10c0, 0x14ff) AM_RAM /* ??? */
- AM_RANGE(0x1500, 0x1fff) AM_RAM /* work ram */
- AM_RANGE(0x2000, 0x203f) AM_RAM AM_SHARE("scroll_x")
- AM_RANGE(0x2040, 0x2040) AM_WRITENOP /* ??? */
- AM_RANGE(0x2041, 0x2041) AM_WRITENOP /* ??? */
- AM_RANGE(0x2042, 0x2042) AM_RAM AM_SHARE("scroll_dir") /* bit 2 = scroll direction */
- AM_RANGE(0x2043, 0x2043) AM_WRITENOP /* ??? */
- AM_RANGE(0x2044, 0x2044) AM_WRITE(ctrl_w) /* irq, nmi enable, screen flip */
- AM_RANGE(0x3000, 0x3000) AM_WRITE(coin_w)
- AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW2") AM_DEVWRITE("snsnd", sn76489a_device, write)
- AM_RANGE(0x3200, 0x3200) AM_READ_PORT("DSW3") AM_WRITENOP /* mirror of the previous? */
- AM_RANGE(0x3300, 0x3300) AM_READ_PORT("SYSTEM") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0x3301, 0x3301) AM_READ_PORT("P1")
- AM_RANGE(0x3302, 0x3302) AM_READ_PORT("P2")
- AM_RANGE(0x3303, 0x3303) AM_READ_PORT("DSW1")
- AM_RANGE(0x4000, 0x4000) AM_WRITE(speech_w) /* speech pins */
- AM_RANGE(0x5000, 0x5000) AM_DEVWRITE("vlm", vlm5030_device, data_w) /* speech data */
- AM_RANGE(0x6000, 0x6000) AM_READ(speech_r)
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(jailbrek_state::vlm_map)
- ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x1fff) AM_ROM
-ADDRESS_MAP_END
+void jailbrek_state::jailbrek_map(address_map &map)
+{
+ map(0x0000, 0x07ff).ram().w(this, FUNC(jailbrek_state::colorram_w)).share("colorram");
+ map(0x0800, 0x0fff).ram().w(this, FUNC(jailbrek_state::videoram_w)).share("videoram");
+ map(0x1000, 0x10bf).ram().share("spriteram");
+ map(0x10c0, 0x14ff).ram(); /* ??? */
+ map(0x1500, 0x1fff).ram(); /* work ram */
+ map(0x2000, 0x203f).ram().share("scroll_x");
+ map(0x2040, 0x2040).nopw(); /* ??? */
+ map(0x2041, 0x2041).nopw(); /* ??? */
+ map(0x2042, 0x2042).ram().share("scroll_dir"); /* bit 2 = scroll direction */
+ map(0x2043, 0x2043).nopw(); /* ??? */
+ map(0x2044, 0x2044).w(this, FUNC(jailbrek_state::ctrl_w)); /* irq, nmi enable, screen flip */
+ map(0x3000, 0x3000).w(this, FUNC(jailbrek_state::coin_w));
+ map(0x3100, 0x3100).portr("DSW2").w("snsnd", FUNC(sn76489a_device::write));
+ map(0x3200, 0x3200).portr("DSW3").nopw(); /* mirror of the previous? */
+ map(0x3300, 0x3300).portr("SYSTEM").w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0x3301, 0x3301).portr("P1");
+ map(0x3302, 0x3302).portr("P2");
+ map(0x3303, 0x3303).portr("DSW1");
+ map(0x4000, 0x4000).w(this, FUNC(jailbrek_state::speech_w)); /* speech pins */
+ map(0x5000, 0x5000).w(m_vlm, FUNC(vlm5030_device::data_w)); /* speech data */
+ map(0x6000, 0x6000).r(this, FUNC(jailbrek_state::speech_r));
+ map(0x8000, 0xffff).rom();
+}
+
+void jailbrek_state::vlm_map(address_map &map)
+{
+ map.global_mask(0x1fff);
+ map(0x0000, 0x1fff).rom();
+}