diff options
Diffstat (limited to 'src/mame/drivers/superchs.cpp')
-rw-r--r-- | src/mame/drivers/superchs.cpp | 63 |
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?? */ +} /***********************************************************/ |