diff options
Diffstat (limited to 'src/mame/drivers/a6809.cpp')
-rw-r--r-- | src/mame/drivers/a6809.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mame/drivers/a6809.cpp b/src/mame/drivers/a6809.cpp index a8438792beb..5d242f43b42 100644 --- a/src/mame/drivers/a6809.cpp +++ b/src/mame/drivers/a6809.cpp @@ -103,16 +103,17 @@ private: }; -ADDRESS_MAP_START(a6809_state::a6809_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000,0x03ff) AM_RAM - AM_RANGE(0x0400,0x07ff) AM_RAM AM_SHARE("videoram") - AM_RANGE(0x0800,0x0800) AM_DEVREAD("mc6845", mc6845_device, status_r) AM_WRITE(a6809_address_w) - AM_RANGE(0x0801,0x0801) AM_DEVREAD("mc6845", mc6845_device, register_r) AM_WRITE(a6809_register_w) - AM_RANGE(0x0900,0x090f) AM_MIRROR(0xf0) AM_DEVREADWRITE("via", via6522_device, read, write) - AM_RANGE(0xf000,0xf7ff) // optional ROM - AM_RANGE(0xf800,0xffff) AM_ROM AM_REGION("maincpu", 0) -ADDRESS_MAP_END +void a6809_state::a6809_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x03ff).ram(); + map(0x0400, 0x07ff).ram().share("videoram"); + map(0x0800, 0x0800).r(m_crtc, FUNC(mc6845_device::status_r)).w(this, FUNC(a6809_state::a6809_address_w)); + map(0x0801, 0x0801).r(m_crtc, FUNC(mc6845_device::register_r)).w(this, FUNC(a6809_state::a6809_register_w)); + map(0x0900, 0x090f).mirror(0xf0).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0xf000, 0xf7ff); // optional ROM + map(0xf800, 0xffff).rom().region("maincpu", 0); +} /* Input ports */ static INPUT_PORTS_START( a6809 ) |