diff options
Diffstat (limited to 'src/mame/drivers/atarigx2.cpp')
-rw-r--r-- | src/mame/drivers/atarigx2.cpp | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/src/mame/drivers/atarigx2.cpp b/src/mame/drivers/atarigx2.cpp index 9da879d7545..019cc84bfce 100644 --- a/src/mame/drivers/atarigx2.cpp +++ b/src/mame/drivers/atarigx2.cpp @@ -1196,29 +1196,30 @@ READ32_MEMBER( atarigx2_state::rrreveng_prot_r ) * *************************************/ -ADDRESS_MAP_START(atarigx2_state::main_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x000000, 0x07ffff) AM_ROM - AM_RANGE(0xc80000, 0xc80fff) AM_RAM - AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r) - AM_RANGE(0xd20000, 0xd20fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00) - AM_RANGE(0xd40000, 0xd40fff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette") - AM_RANGE(0xd70000, 0xd7ffff) AM_RAM - AM_RANGE(0xd72000, 0xd75fff) AM_DEVWRITE("playfield", tilemap_device, write32) AM_SHARE("playfield") - AM_RANGE(0xd76000, 0xd76fff) AM_DEVWRITE("alpha", tilemap_device, write32) AM_SHARE("alpha") - AM_RANGE(0xd78000, 0xd78fff) AM_RAM AM_SHARE("rle") - AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command") - AM_RANGE(0xd80000, 0xd9ffff) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32) - AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("jsa", atari_jsa_iiis_device, main_command_w, 0xff000000) - AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w) - AM_RANGE(0xe0c000, 0xe0c003) AM_WRITE16(video_int_ack_w, 0xffffffff) - AM_RANGE(0xe0e000, 0xe0e003) AM_WRITENOP//watchdog_reset_w }, - AM_RANGE(0xe80000, 0xe80003) AM_READ_PORT("P1_P2") - AM_RANGE(0xe82000, 0xe82003) AM_READ(special_port2_r) - AM_RANGE(0xe82004, 0xe82007) AM_READ(special_port3_r) - AM_RANGE(0xe86000, 0xe86003) AM_DEVREAD8("jsa", atari_jsa_iiis_device, main_response_r, 0xff000000) - AM_RANGE(0xff8000, 0xffffff) AM_RAM -ADDRESS_MAP_END +void atarigx2_state::main_map(address_map &map) +{ + map.unmap_value_high(); + map(0x000000, 0x07ffff).rom(); + map(0xc80000, 0xc80fff).ram(); + map(0xd00000, 0xd1ffff).r(this, FUNC(atarigx2_state::a2d_data_r)); + map(0xd20000, 0xd20fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask32(0xff00ff00); + map(0xd40000, 0xd40fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette"); + map(0xd70000, 0xd7ffff).ram(); + map(0xd72000, 0xd75fff).w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield"); + map(0xd76000, 0xd76fff).w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha"); + map(0xd78000, 0xd78fff).ram().share("rle"); + map(0xd7a200, 0xd7a203).w(this, FUNC(atarigx2_state::mo_command_w)).share("mo_command"); + map(0xd80000, 0xd9ffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write32)); + map(0xe06000, 0xe06000).w(m_jsa, FUNC(atari_jsa_iiis_device::main_command_w)); + map(0xe08000, 0xe08003).w(this, FUNC(atarigx2_state::latch_w)); + map(0xe0c000, 0xe0c003).w(this, FUNC(atarigx2_state::video_int_ack_w)); + map(0xe0e000, 0xe0e003).nopw();//watchdog_reset_w }, + map(0xe80000, 0xe80003).portr("P1_P2"); + map(0xe82000, 0xe82003).r(this, FUNC(atarigx2_state::special_port2_r)); + map(0xe82004, 0xe82007).r(this, FUNC(atarigx2_state::special_port3_r)); + map(0xe86000, 0xe86000).r(m_jsa, FUNC(atari_jsa_iiis_device::main_response_r)); + map(0xff8000, 0xffffff).ram(); +} |