summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/cidelsa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cidelsa.cpp')
-rw-r--r--src/mame/drivers/cidelsa.cpp104
1 files changed, 56 insertions, 48 deletions
diff --git a/src/mame/drivers/cidelsa.cpp b/src/mame/drivers/cidelsa.cpp
index 7864d3a5985..3927d2c605e 100644
--- a/src/mame/drivers/cidelsa.cpp
+++ b/src/mame/drivers/cidelsa.cpp
@@ -141,61 +141,69 @@ WRITE8_MEMBER( draco_state::out1_w )
// Destroyer
-ADDRESS_MAP_START(cidelsa_state::destryer_map)
- AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
- AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(cidelsa_state::destryera_map)
- AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
- AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(cidelsa_state::destryer_io_map)
- AM_RANGE(0x01, 0x01) AM_READ_PORT("IN0") AM_WRITE(destryer_out1_w)
- AM_RANGE(0x02, 0x02) AM_READ_PORT("IN1")
- AM_RANGE(0x03, 0x07) AM_WRITE(cdp1869_w)
-ADDRESS_MAP_END
+void cidelsa_state::destryer_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x2000, 0x20ff).ram().share("nvram");
+ map(0xf400, 0xf7ff).m(m_vis, FUNC(cdp1869_device::char_map));
+ map(0xf800, 0xffff).m(m_vis, FUNC(cdp1869_device::page_map));
+}
+
+void cidelsa_state::destryera_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x3000, 0x30ff).ram().share("nvram");
+ map(0xf400, 0xf7ff).m(m_vis, FUNC(cdp1869_device::char_map));
+ map(0xf800, 0xffff).m(m_vis, FUNC(cdp1869_device::page_map));
+}
+
+void cidelsa_state::destryer_io_map(address_map &map)
+{
+ map(0x01, 0x01).portr("IN0").w(this, FUNC(cidelsa_state::destryer_out1_w));
+ map(0x02, 0x02).portr("IN1");
+ map(0x03, 0x07).w(this, FUNC(cidelsa_state::cdp1869_w));
+}
// Altair
-ADDRESS_MAP_START(cidelsa_state::altair_map)
- AM_RANGE(0x0000, 0x2fff) AM_ROM
- AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
- AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
-ADDRESS_MAP_END
+void cidelsa_state::altair_map(address_map &map)
+{
+ map(0x0000, 0x2fff).rom();
+ map(0x3000, 0x30ff).ram().share("nvram");
+ map(0xf400, 0xf7ff).m(m_vis, FUNC(cdp1869_device::char_map));
+ map(0xf800, 0xffff).m(m_vis, FUNC(cdp1869_device::page_map));
+}
-ADDRESS_MAP_START(cidelsa_state::altair_io_map)
- AM_RANGE(0x01, 0x01) AM_DEVREAD("ic23", cdp1852_device, read) AM_DEVWRITE("ic26", cdp1852_device, write)
- AM_RANGE(0x02, 0x02) AM_DEVREAD("ic24", cdp1852_device, read)
- AM_RANGE(0x04, 0x04) AM_DEVREAD("ic25", cdp1852_device, read)
- AM_RANGE(0x03, 0x07) AM_WRITE(cdp1869_w)
-ADDRESS_MAP_END
+void cidelsa_state::altair_io_map(address_map &map)
+{
+ map(0x01, 0x01).r("ic23", FUNC(cdp1852_device::read)).w("ic26", FUNC(cdp1852_device::write));
+ map(0x02, 0x02).r("ic24", FUNC(cdp1852_device::read));
+ map(0x04, 0x04).r("ic25", FUNC(cdp1852_device::read));
+ map(0x03, 0x07).w(this, FUNC(cidelsa_state::cdp1869_w));
+}
// Draco
-ADDRESS_MAP_START(draco_state::draco_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("nvram")
- AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
- AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(draco_state::draco_io_map)
- AM_RANGE(0x01, 0x01) AM_DEVREAD("ic29", cdp1852_device, read) AM_DEVWRITE("ic32", cdp1852_device, write)
- AM_RANGE(0x02, 0x02) AM_DEVREAD("ic30", cdp1852_device, read)
- AM_RANGE(0x04, 0x04) AM_DEVREAD("ic31", cdp1852_device, read)
- AM_RANGE(0x03, 0x07) AM_WRITE(cdp1869_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(draco_state::draco_sound_map)
- AM_RANGE(0x000, 0x3ff) AM_ROMBANK("bank1")
-ADDRESS_MAP_END
+void draco_state::draco_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x8000, 0x83ff).ram().share("nvram");
+ map(0xf400, 0xf7ff).m(m_vis, FUNC(cdp1869_device::char_map));
+ map(0xf800, 0xffff).m(m_vis, FUNC(cdp1869_device::page_map));
+}
+
+void draco_state::draco_io_map(address_map &map)
+{
+ map(0x01, 0x01).r("ic29", FUNC(cdp1852_device::read)).w("ic32", FUNC(cdp1852_device::write));
+ map(0x02, 0x02).r("ic30", FUNC(cdp1852_device::read));
+ map(0x04, 0x04).r("ic31", FUNC(cdp1852_device::read));
+ map(0x03, 0x07).w(this, FUNC(draco_state::cdp1869_w));
+}
+
+void draco_state::draco_sound_map(address_map &map)
+{
+ map(0x000, 0x3ff).bankr("bank1");
+}
/* Input Ports */