diff options
Diffstat (limited to 'src/mame/drivers/aliens.cpp')
-rw-r--r-- | src/mame/drivers/aliens.cpp | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/src/mame/drivers/aliens.cpp b/src/mame/drivers/aliens.cpp index 64f9d1928f7..57c96356273 100644 --- a/src/mame/drivers/aliens.cpp +++ b/src/mame/drivers/aliens.cpp @@ -85,33 +85,36 @@ WRITE8_MEMBER(aliens_state::k052109_051960_w) m_k051960->k051960_w(space, offset - 0x3c00, data); } -ADDRESS_MAP_START(aliens_state::aliens_map) - AM_RANGE(0x0000, 0x03ff) AM_DEVICE("bank0000", address_map_bank_device, amap8) - AM_RANGE(0x0400, 0x1fff) AM_RAM - AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("rombank") /* banked ROM */ - AM_RANGE(0x4000, 0x7fff) AM_READWRITE(k052109_051960_r, k052109_051960_w) - AM_RANGE(0x5f80, 0x5f80) AM_READ_PORT("DSW3") - AM_RANGE(0x5f81, 0x5f81) AM_READ_PORT("P1") - AM_RANGE(0x5f82, 0x5f82) AM_READ_PORT("P2") - AM_RANGE(0x5f83, 0x5f83) AM_READ_PORT("DSW2") - AM_RANGE(0x5f84, 0x5f84) AM_READ_PORT("DSW1") - AM_RANGE(0x5f88, 0x5f88) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) AM_WRITE(aliens_coin_counter_w) /* coin counters */ - AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(aliens_sh_irqtrigger_w) /* cause interrupt on audio CPU */ - AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x28000) /* ROM e24_j02.bin */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(aliens_state::bank0000_map) - AM_RANGE(0x0000, 0x03ff) AM_RAM - AM_RANGE(0x0400, 0x07ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") -ADDRESS_MAP_END - -ADDRESS_MAP_START(aliens_state::aliens_sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM g04_b03.bin */ - AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */ - AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) - AM_RANGE(0xc000, 0xc000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) - AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE("k007232", k007232_device, read, write) -ADDRESS_MAP_END +void aliens_state::aliens_map(address_map &map) +{ + map(0x0000, 0x03ff).m(m_bank0000, FUNC(address_map_bank_device::amap8)); + map(0x0400, 0x1fff).ram(); + map(0x2000, 0x3fff).bankr("rombank"); /* banked ROM */ + map(0x4000, 0x7fff).rw(this, FUNC(aliens_state::k052109_051960_r), FUNC(aliens_state::k052109_051960_w)); + map(0x5f80, 0x5f80).portr("DSW3"); + map(0x5f81, 0x5f81).portr("P1"); + map(0x5f82, 0x5f82).portr("P2"); + map(0x5f83, 0x5f83).portr("DSW2"); + map(0x5f84, 0x5f84).portr("DSW1"); + map(0x5f88, 0x5f88).r("watchdog", FUNC(watchdog_timer_device::reset_r)).w(this, FUNC(aliens_state::aliens_coin_counter_w)); /* coin counters */ + map(0x5f8c, 0x5f8c).w(this, FUNC(aliens_state::aliens_sh_irqtrigger_w)); /* cause interrupt on audio CPU */ + map(0x8000, 0xffff).rom().region("maincpu", 0x28000); /* ROM e24_j02.bin */ +} + +void aliens_state::bank0000_map(address_map &map) +{ + map(0x0000, 0x03ff).ram(); + map(0x0400, 0x07ff).ram().w("palette", FUNC(palette_device::write8)).share("palette"); +} + +void aliens_state::aliens_sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); /* ROM g04_b03.bin */ + map(0x8000, 0x87ff).ram(); /* RAM */ + map(0xa000, 0xa001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); + map(0xc000, 0xc000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); + map(0xe000, 0xe00d).rw(m_k007232, FUNC(k007232_device::read), FUNC(k007232_device::write)); +} /*************************************************************************** |