summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/atarigx2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/atarigx2.cpp')
-rw-r--r--src/mame/drivers/atarigx2.cpp47
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();
+}