summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rallyx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rallyx.cpp')
-rw-r--r--src/mame/drivers/rallyx.cpp77
1 files changed, 40 insertions, 37 deletions
diff --git a/src/mame/drivers/rallyx.cpp b/src/mame/drivers/rallyx.cpp
index b2f4c929312..b430f91495f 100644
--- a/src/mame/drivers/rallyx.cpp
+++ b/src/mame/drivers/rallyx.cpp
@@ -283,43 +283,46 @@ WRITE_LINE_MEMBER(rallyx_state::coin_counter_2_w)
*
*************************************/
-ADDRESS_MAP_START(rallyx_state::rallyx_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(rallyx_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9800, 0x9fff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
- AM_RANGE(0xa080, 0xa080) AM_READ_PORT("P2")
- AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW")
- AM_RANGE(0xa000, 0xa00f) AM_WRITEONLY AM_SHARE("radarattr")
- AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0xa100, 0xa11f) AM_DEVWRITE("namco", namco_device, pacman_sound_w)
- AM_RANGE(0xa130, 0xa130) AM_WRITE(rallyx_scrollx_w)
- AM_RANGE(0xa140, 0xa140) AM_WRITE(rallyx_scrolly_w)
- AM_RANGE(0xa170, 0xa170) AM_WRITENOP /* ? */
- AM_RANGE(0xa180, 0xa187) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(rallyx_state::io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0, 0) AM_WRITE(rallyx_interrupt_vector_w)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(rallyx_state::jungler_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(rallyx_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9800, 0x9fff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
- AM_RANGE(0xa080, 0xa080) AM_READ_PORT("P2")
- AM_RANGE(0xa100, 0xa100) AM_READ_PORT("DSW1")
- AM_RANGE(0xa180, 0xa180) AM_READ_PORT("DSW2")
- AM_RANGE(0xa000, 0xa00f) AM_MIRROR(0x00f0) AM_WRITEONLY AM_SHARE("radarattr") // jungler writes to a03x
- AM_RANGE(0xa080, 0xa080) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0xa100, 0xa100) AM_DEVWRITE("timeplt_audio", timeplt_audio_device, sound_data_w)
- AM_RANGE(0xa130, 0xa130) AM_WRITE(rallyx_scrollx_w) /* only jungler and tactcian */
- AM_RANGE(0xa140, 0xa140) AM_WRITE(rallyx_scrolly_w) /* only jungler and tactcian */
- AM_RANGE(0xa180, 0xa187) AM_DEVWRITE("mainlatch", ls259_device, write_d0)
-ADDRESS_MAP_END
+void rallyx_state::rallyx_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x8000, 0x8fff).ram().w(this, FUNC(rallyx_state::rallyx_videoram_w)).share("videoram");
+ map(0x9800, 0x9fff).ram();
+ map(0xa000, 0xa000).portr("P1");
+ map(0xa080, 0xa080).portr("P2");
+ map(0xa100, 0xa100).portr("DSW");
+ map(0xa000, 0xa00f).writeonly().share("radarattr");
+ map(0xa080, 0xa080).w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0xa100, 0xa11f).w(m_namco_sound, FUNC(namco_device::pacman_sound_w));
+ map(0xa130, 0xa130).w(this, FUNC(rallyx_state::rallyx_scrollx_w));
+ map(0xa140, 0xa140).w(this, FUNC(rallyx_state::rallyx_scrolly_w));
+ map(0xa170, 0xa170).nopw(); /* ? */
+ map(0xa180, 0xa187).w("mainlatch", FUNC(ls259_device::write_d0));
+}
+
+void rallyx_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0, 0).w(this, FUNC(rallyx_state::rallyx_interrupt_vector_w));
+}
+
+
+void rallyx_state::jungler_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x8fff).ram().w(this, FUNC(rallyx_state::rallyx_videoram_w)).share("videoram");
+ map(0x9800, 0x9fff).ram();
+ map(0xa000, 0xa000).portr("P1");
+ map(0xa080, 0xa080).portr("P2");
+ map(0xa100, 0xa100).portr("DSW1");
+ map(0xa180, 0xa180).portr("DSW2");
+ map(0xa000, 0xa00f).mirror(0x00f0).writeonly().share("radarattr"); // jungler writes to a03x
+ map(0xa080, 0xa080).w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0xa100, 0xa100).w(m_timeplt_audio, FUNC(timeplt_audio_device::sound_data_w));
+ map(0xa130, 0xa130).w(this, FUNC(rallyx_state::rallyx_scrollx_w)); /* only jungler and tactcian */
+ map(0xa140, 0xa140).w(this, FUNC(rallyx_state::rallyx_scrolly_w)); /* only jungler and tactcian */
+ map(0xa180, 0xa187).w("mainlatch", FUNC(ls259_device::write_d0));
+}
/*************************************