diff options
Diffstat (limited to 'src/mame/drivers/cidelsa.cpp')
-rw-r--r-- | src/mame/drivers/cidelsa.cpp | 104 |
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 */ |