summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/superchs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/superchs.cpp')
-rw-r--r--src/mame/drivers/superchs.cpp63
1 files changed, 33 insertions, 30 deletions
diff --git a/src/mame/drivers/superchs.cpp b/src/mame/drivers/superchs.cpp
index 4e80d9a643e..cbc6b5939e2 100644
--- a/src/mame/drivers/superchs.cpp
+++ b/src/mame/drivers/superchs.cpp
@@ -130,36 +130,39 @@ WRITE32_MEMBER(superchs_state::superchs_stick_w)
MEMORY STRUCTURES
***********************************************************/
-ADDRESS_MAP_START(superchs_state::superchs_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x11ffff) AM_RAM AM_SHARE("ram")
- AM_RANGE(0x140000, 0x141fff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x180000, 0x18ffff) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, long_r, long_w)
- AM_RANGE(0x1b0000, 0x1b002f) AM_DEVREADWRITE("tc0480scp", tc0480scp_device, ctrl_long_r, ctrl_long_w)
- AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("shared_ram")
- AM_RANGE(0x240000, 0x240003) AM_WRITE(cpua_ctrl_w)
- AM_RANGE(0x280000, 0x287fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
- AM_RANGE(0x2c0000, 0x2c07ff) AM_DEVREADWRITE8("taito_en:dpram", mb8421_device, left_r, left_w, 0xffffffff)
- AM_RANGE(0x300000, 0x300007) AM_DEVREADWRITE8("tc0510nio", tc0510nio_device, read, write, 0xffffffff)
- AM_RANGE(0x340000, 0x340003) AM_READWRITE(superchs_stick_r, superchs_stick_w) /* stick int request */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(superchs_state::superchs_cpub_map)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x600000, 0x60ffff) AM_DEVWRITE("tc0480scp", tc0480scp_device, word_w) /* Only written upon errors */
- AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(shared_ram_r, shared_ram_w)
- AM_RANGE(0xa00000, 0xa001ff) AM_RAM /* Extra road control?? */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(superchs_state::chase3_cpub_map)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM
- AM_RANGE(0x400000, 0x40ffff) AM_RAM
- AM_RANGE(0x600000, 0x60ffff) AM_DEVWRITE("tc0480scp", tc0480scp_device, word_w) /* Only written upon errors */
- AM_RANGE(0x800000, 0x80ffff) AM_READWRITE(shared_ram_r, shared_ram_w)
- AM_RANGE(0xa00000, 0xa001ff) AM_RAM /* Extra road control?? */
-ADDRESS_MAP_END
+void superchs_state::superchs_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x100000, 0x11ffff).ram().share("ram");
+ map(0x140000, 0x141fff).ram().share("spriteram");
+ map(0x180000, 0x18ffff).rw(m_tc0480scp, FUNC(tc0480scp_device::long_r), FUNC(tc0480scp_device::long_w));
+ map(0x1b0000, 0x1b002f).rw(m_tc0480scp, FUNC(tc0480scp_device::ctrl_long_r), FUNC(tc0480scp_device::ctrl_long_w));
+ map(0x200000, 0x20ffff).ram().share("shared_ram");
+ map(0x240000, 0x240003).w(this, FUNC(superchs_state::cpua_ctrl_w));
+ map(0x280000, 0x287fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
+ map(0x2c0000, 0x2c07ff).rw("taito_en:dpram", FUNC(mb8421_device::left_r), FUNC(mb8421_device::left_w));
+ map(0x300000, 0x300007).rw("tc0510nio", FUNC(tc0510nio_device::read), FUNC(tc0510nio_device::write));
+ map(0x340000, 0x340003).rw(this, FUNC(superchs_state::superchs_stick_r), FUNC(superchs_state::superchs_stick_w)); /* stick int request */
+}
+
+void superchs_state::superchs_cpub_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom();
+ map(0x200000, 0x20ffff).ram();
+ map(0x600000, 0x60ffff).w(m_tc0480scp, FUNC(tc0480scp_device::word_w)); /* Only written upon errors */
+ map(0x800000, 0x80ffff).rw(this, FUNC(superchs_state::shared_ram_r), FUNC(superchs_state::shared_ram_w));
+ map(0xa00000, 0xa001ff).ram(); /* Extra road control?? */
+}
+
+void superchs_state::chase3_cpub_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom();
+ map(0x200000, 0x20ffff).ram();
+ map(0x400000, 0x40ffff).ram();
+ map(0x600000, 0x60ffff).w(m_tc0480scp, FUNC(tc0480scp_device::word_w)); /* Only written upon errors */
+ map(0x800000, 0x80ffff).rw(this, FUNC(superchs_state::shared_ram_r), FUNC(superchs_state::shared_ram_w));
+ map(0xa00000, 0xa001ff).ram(); /* Extra road control?? */
+}
/***********************************************************/