summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/tmc1800.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tmc1800.cpp')
-rw-r--r--src/mame/drivers/tmc1800.cpp78
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 */