diff options
Diffstat (limited to 'src/mame/drivers/stuntair.cpp')
-rw-r--r-- | src/mame/drivers/stuntair.cpp | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/src/mame/drivers/stuntair.cpp b/src/mame/drivers/stuntair.cpp index df3a34bf4f9..01655667c8c 100644 --- a/src/mame/drivers/stuntair.cpp +++ b/src/mame/drivers/stuntair.cpp @@ -320,34 +320,37 @@ WRITE8_MEMBER(stuntair_state::stuntair_sound_w) } // main Z80 -ADDRESS_MAP_START(stuntair_state::stuntair_map) - AM_RANGE(0x0000, 0x9fff) AM_ROM - AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") - AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(stuntair_bgattrram_w) AM_SHARE("bgattrram") - AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(stuntair_bgram_w) AM_SHARE("bgram") - AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("sprram") - AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSWB") AM_WRITE(stuntair_coin_w) - AM_RANGE(0xe800, 0xe800) AM_READ_PORT("DSWA") AM_WRITE(stuntair_bgxscroll_w) - AM_RANGE(0xf000, 0xf000) AM_READ_PORT("IN2") - AM_RANGE(0xf002, 0xf002) AM_READ_PORT("IN3") - AM_RANGE(0xf003, 0xf003) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) - AM_RANGE(0xf000, 0xf007) AM_DEVWRITE("mainlatch", ls259_device, write_d0) - AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(stuntair_fgram_w) AM_SHARE("fgram") - AM_RANGE(0xfc03, 0xfc03) AM_WRITE(stuntair_sound_w) -ADDRESS_MAP_END +void stuntair_state::stuntair_map(address_map &map) +{ + map(0x0000, 0x9fff).rom(); + map(0xc000, 0xc7ff).ram().share("nvram"); + map(0xc800, 0xcbff).ram().w(this, FUNC(stuntair_state::stuntair_bgattrram_w)).share("bgattrram"); + map(0xd000, 0xd3ff).ram().w(this, FUNC(stuntair_state::stuntair_bgram_w)).share("bgram"); + map(0xd800, 0xdfff).ram().share("sprram"); + map(0xe000, 0xe000).portr("DSWB").w(this, FUNC(stuntair_state::stuntair_coin_w)); + map(0xe800, 0xe800).portr("DSWA").w(this, FUNC(stuntair_state::stuntair_bgxscroll_w)); + map(0xf000, 0xf000).portr("IN2"); + map(0xf002, 0xf002).portr("IN3"); + map(0xf003, 0xf003).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + map(0xf000, 0xf007).w("mainlatch", FUNC(ls259_device::write_d0)); + map(0xf800, 0xfbff).ram().w(this, FUNC(stuntair_state::stuntair_fgram_w)).share("fgram"); + map(0xfc03, 0xfc03).w(this, FUNC(stuntair_state::stuntair_sound_w)); +} // sound Z80 -ADDRESS_MAP_START(stuntair_state::stuntair_sound_map) - AM_RANGE(0x0000, 0x1fff) AM_ROM - AM_RANGE(0x4000, 0x43ff) AM_RAM -ADDRESS_MAP_END - -ADDRESS_MAP_START(stuntair_state::stuntair_sound_portmap) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x03, 0x03) AM_DEVWRITE("ay2", ay8910_device, address_w) - AM_RANGE(0x07, 0x07) AM_DEVWRITE("ay2", ay8910_device, data_w) - AM_RANGE(0x0c, 0x0d) AM_DEVREADWRITE("ay1", ay8910_device, data_r, address_data_w) -ADDRESS_MAP_END +void stuntair_state::stuntair_sound_map(address_map &map) +{ + map(0x0000, 0x1fff).rom(); + map(0x4000, 0x43ff).ram(); +} + +void stuntair_state::stuntair_sound_portmap(address_map &map) +{ + map.global_mask(0xff); + map(0x03, 0x03).w("ay2", FUNC(ay8910_device::address_w)); + map(0x07, 0x07).w("ay2", FUNC(ay8910_device::data_w)); + map(0x0c, 0x0d).rw("ay1", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w)); +} |