diff options
Diffstat (limited to 'src/mame/drivers/gts3a.cpp')
-rw-r--r-- | src/mame/drivers/gts3a.cpp | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/mame/drivers/gts3a.cpp b/src/mame/drivers/gts3a.cpp index d882b2f0ef6..ddfb348e1a3 100644 --- a/src/mame/drivers/gts3a.cpp +++ b/src/mame/drivers/gts3a.cpp @@ -72,25 +72,27 @@ private: }; -ADDRESS_MAP_START(gts3a_state::gts3a_map) - AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") - AM_RANGE(0x2000, 0x200f) AM_DEVREADWRITE("u4", via6522_device, read, write) - AM_RANGE(0x2010, 0x201f) AM_DEVREADWRITE("u5", via6522_device, read, write) - AM_RANGE(0x2020, 0x2023) AM_MIRROR(0x0c) AM_WRITE(segbank_w) - AM_RANGE(0x4000, 0xffff) AM_ROM -ADDRESS_MAP_END - -ADDRESS_MAP_START(gts3a_state::gts3a_dmd_map) - AM_RANGE(0x0000, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x2000) AM_DEVREAD("crtc", mc6845_device, status_r) - AM_RANGE(0x2001, 0x2001) AM_DEVREAD("crtc", mc6845_device, register_r) - AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("crtc", mc6845_device, address_w) - AM_RANGE(0x2801, 0x2801) AM_DEVWRITE("crtc", mc6845_device, register_w) - AM_RANGE(0x3000, 0x3000) AM_READ(dmd_r) - AM_RANGE(0x3800, 0x3800) AM_WRITE(dmd_w) - AM_RANGE(0x4000, 0x7fff) AM_READ_BANK("bank1") - AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("dmdcpu", 0x78000) -ADDRESS_MAP_END +void gts3a_state::gts3a_map(address_map &map) +{ + map(0x0000, 0x1fff).ram().share("nvram"); + map(0x2000, 0x200f).rw(m_u4, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x2010, 0x201f).rw(m_u5, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x2020, 0x2023).mirror(0x0c).w(this, FUNC(gts3a_state::segbank_w)); + map(0x4000, 0xffff).rom(); +} + +void gts3a_state::gts3a_dmd_map(address_map &map) +{ + map(0x0000, 0x1fff).ram(); + map(0x2000, 0x2000).r("crtc", FUNC(mc6845_device::status_r)); + map(0x2001, 0x2001).r("crtc", FUNC(mc6845_device::register_r)); + map(0x2800, 0x2800).w("crtc", FUNC(mc6845_device::address_w)); + map(0x2801, 0x2801).w("crtc", FUNC(mc6845_device::register_w)); + map(0x3000, 0x3000).r(this, FUNC(gts3a_state::dmd_r)); + map(0x3800, 0x3800).w(this, FUNC(gts3a_state::dmd_w)); + map(0x4000, 0x7fff).bankr("bank1"); + map(0x8000, 0xffff).rom().region("dmdcpu", 0x78000); +} static INPUT_PORTS_START( gts3a ) PORT_START("TTS") |