diff options
Diffstat (limited to 'src/mame/drivers/tmc1800.cpp')
-rw-r--r-- | src/mame/drivers/tmc1800.cpp | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/src/mame/drivers/tmc1800.cpp b/src/mame/drivers/tmc1800.cpp index 795f9969896..22c218d0645 100644 --- a/src/mame/drivers/tmc1800.cpp +++ b/src/mame/drivers/tmc1800.cpp @@ -253,54 +253,62 @@ WRITE8_MEMBER( tmc1800_state::dispoff_w ) // Telmac 1800 -ADDRESS_MAP_START(tmc1800_state::tmc1800_map) - AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x7800) AM_RAM - AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0) -ADDRESS_MAP_END +void tmc1800_state::tmc1800_map(address_map &map) +{ + map(0x0000, 0x07ff).mirror(0x7800).ram(); + map(0x8000, 0x81ff).mirror(0x7e00).rom().region(CDP1802_TAG, 0); +} -ADDRESS_MAP_START(tmc1800_state::tmc1800_io_map) - AM_RANGE(0x01, 0x01) AM_READWRITE(dispon_r, dispoff_w) - AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w) -ADDRESS_MAP_END +void tmc1800_state::tmc1800_io_map(address_map &map) +{ + map(0x01, 0x01).rw(this, FUNC(tmc1800_state::dispon_r), FUNC(tmc1800_state::dispoff_w)); + map(0x02, 0x02).w(this, FUNC(tmc1800_state::keylatch_w)); +} // OSCOM 1000B -ADDRESS_MAP_START(osc1000b_state::osc1000b_map) - AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x7800) AM_RAM - AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0) -ADDRESS_MAP_END +void osc1000b_state::osc1000b_map(address_map &map) +{ + map(0x0000, 0x07ff).mirror(0x7800).ram(); + map(0x8000, 0x81ff).mirror(0x7e00).rom().region(CDP1802_TAG, 0); +} -ADDRESS_MAP_START(osc1000b_state::osc1000b_io_map) - AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w) -ADDRESS_MAP_END +void osc1000b_state::osc1000b_io_map(address_map &map) +{ + map(0x02, 0x02).w(this, FUNC(osc1000b_state::keylatch_w)); +} // Telmac 2000 -ADDRESS_MAP_START(tmc2000_state::tmc2000_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x7fff) // RAM / monitor ROM - AM_RANGE(0x8000, 0xffff) // color RAM / monitor ROM -ADDRESS_MAP_END +void tmc2000_state::tmc2000_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x7fff); // RAM / monitor ROM + map(0x8000, 0xffff); // color RAM / monitor ROM +} -ADDRESS_MAP_START(tmc2000_state::tmc2000_io_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w) - AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w) - AM_RANGE(0x04, 0x04) AM_DEVREAD(CDP1864_TAG, cdp1864_device, dispoff_r) AM_WRITE(bankswitch_w) -ADDRESS_MAP_END +void tmc2000_state::tmc2000_io_map(address_map &map) +{ + map.unmap_value_high(); + map(0x01, 0x01).rw(m_cti, FUNC(cdp1864_device::dispon_r), FUNC(cdp1864_device::step_bgcolor_w)); + map(0x02, 0x02).w(this, FUNC(tmc2000_state::keylatch_w)); + map(0x04, 0x04).r(m_cti, FUNC(cdp1864_device::dispoff_r)).w(this, FUNC(tmc2000_state::bankswitch_w)); +} // OSCOM Nano -ADDRESS_MAP_START(nano_state::nano_map) - AM_RANGE(0x0000, 0x7fff) // RAM / monitor ROM - AM_RANGE(0x8000, 0x81ff) AM_MIRROR(0x7e00) AM_ROM AM_REGION(CDP1802_TAG, 0) -ADDRESS_MAP_END +void nano_state::nano_map(address_map &map) +{ + map(0x0000, 0x7fff); // RAM / monitor ROM + map(0x8000, 0x81ff).mirror(0x7e00).rom().region(CDP1802_TAG, 0); +} -ADDRESS_MAP_START(nano_state::nano_io_map) - AM_RANGE(0x01, 0x01) AM_DEVREADWRITE(CDP1864_TAG, cdp1864_device, dispon_r, step_bgcolor_w) - AM_RANGE(0x02, 0x02) AM_WRITE(keylatch_w) - AM_RANGE(0x04, 0x04) AM_DEVREAD(CDP1864_TAG, cdp1864_device, dispoff_r) AM_WRITE(bankswitch_w) -ADDRESS_MAP_END +void nano_state::nano_io_map(address_map &map) +{ + map(0x01, 0x01).rw(m_cti, FUNC(cdp1864_device::dispon_r), FUNC(cdp1864_device::step_bgcolor_w)); + map(0x02, 0x02).w(this, FUNC(nano_state::keylatch_w)); + map(0x04, 0x04).r(m_cti, FUNC(cdp1864_device::dispoff_r)).w(this, FUNC(nano_state::bankswitch_w)); +} /* Input Ports */ |