summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cybstorm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cybstorm.cpp')
-rw-r--r--src/mame/drivers/cybstorm.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/mame/drivers/cybstorm.cpp b/src/mame/drivers/cybstorm.cpp
index d11b2907bae..256fc0d4b71 100644
--- a/src/mame/drivers/cybstorm.cpp
+++ b/src/mame/drivers/cybstorm.cpp
@@ -88,32 +88,34 @@ WRITE32_MEMBER(cybstorm_state::latch_w)
*
*************************************/
-ADDRESS_MAP_START(cybstorm_state::main_map)
- AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x200000, 0x20ffff) AM_RAM_DEVWRITE("palette", palette_device, write32) AM_SHARE("palette")
- AM_RANGE(0x3effc0, 0x3effff) AM_DEVREADWRITE16("vad", atari_vad_device, control_read, control_write, 0xffffffff)
- AM_RANGE(0x3f0000, 0x3fffff) AM_DEVICE16("vadbank", address_map_bank_device, amap16, 0xffffffff)
- AM_RANGE(0x9f0000, 0x9f0003) AM_READ_PORT("9F0000")
- AM_RANGE(0x9f0010, 0x9f0013) AM_READ(special_port1_r)
- AM_RANGE(0x9f0030, 0x9f0033) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff0000)
- AM_RANGE(0x9f0040, 0x9f0043) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff0000)
- AM_RANGE(0x9f0050, 0x9f0053) AM_WRITE(latch_w)
- AM_RANGE(0xfb0000, 0xfb0003) AM_DEVWRITE("watchdog", watchdog_timer_device, reset32_w)
- AM_RANGE(0xfc0000, 0xfc0003) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write32)
- AM_RANGE(0xfd0000, 0xfd0fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xff00ff00)
- AM_RANGE(0xfe0000, 0xffffff) AM_RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(cybstorm_state::vadbank_map)
- AM_RANGE(0x000000, 0x001fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield2_latched_msb_w) AM_SHARE("vad:playfield2")
- AM_RANGE(0x002000, 0x003fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_latched_lsb_w) AM_SHARE("vad:playfield")
- AM_RANGE(0x004000, 0x005fff) AM_RAM_DEVWRITE("vad", atari_vad_device, playfield_upper_w) AM_SHARE("vad:playfield_ext")
- AM_RANGE(0x006000, 0x007fff) AM_RAM AM_SHARE("vad:mob")
- AM_RANGE(0x008000, 0x008eff) AM_DEVWRITE("vad", atari_vad_device, alpha_w) AM_SHARE("vad:alpha")
- AM_RANGE(0x008f00, 0x008f7f) AM_RAM AM_SHARE("vad:eof")
- AM_RANGE(0x008f80, 0x008fff) AM_RAM AM_SHARE("vad:mob:slip")
- AM_RANGE(0x009000, 0x00ffff) AM_RAM
-ADDRESS_MAP_END
+void cybstorm_state::main_map(address_map &map)
+{
+ map(0x000000, 0x1fffff).rom();
+ map(0x200000, 0x20ffff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
+ map(0x3effc0, 0x3effff).rw(m_vad, FUNC(atari_vad_device::control_read), FUNC(atari_vad_device::control_write));
+ map(0x3f0000, 0x3fffff).m(m_vadbank, FUNC(address_map_bank_device::amap16));
+ map(0x9f0000, 0x9f0003).portr("9F0000");
+ map(0x9f0010, 0x9f0013).r(this, FUNC(cybstorm_state::special_port1_r));
+ map(0x9f0031, 0x9f0031).r(m_jsa, FUNC(atari_jsa_iii_device::main_response_r));
+ map(0x9f0041, 0x9f0041).w(m_jsa, FUNC(atari_jsa_iii_device::main_command_w));
+ map(0x9f0050, 0x9f0053).w(this, FUNC(cybstorm_state::latch_w));
+ map(0xfb0000, 0xfb0003).w("watchdog", FUNC(watchdog_timer_device::reset32_w));
+ map(0xfc0000, 0xfc0003).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write32));
+ map(0xfd0000, 0xfd0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask32(0xff00ff00);
+ map(0xfe0000, 0xffffff).ram();
+}
+
+void cybstorm_state::vadbank_map(address_map &map)
+{
+ map(0x000000, 0x001fff).ram().w(m_vad, FUNC(atari_vad_device::playfield2_latched_msb_w)).share("vad:playfield2");
+ map(0x002000, 0x003fff).ram().w(m_vad, FUNC(atari_vad_device::playfield_latched_lsb_w)).share("vad:playfield");
+ map(0x004000, 0x005fff).ram().w(m_vad, FUNC(atari_vad_device::playfield_upper_w)).share("vad:playfield_ext");
+ map(0x006000, 0x007fff).ram().share("vad:mob");
+ map(0x008000, 0x008eff).w(m_vad, FUNC(atari_vad_device::alpha_w)).share("vad:alpha");
+ map(0x008f00, 0x008f7f).ram().share("vad:eof");
+ map(0x008f80, 0x008fff).ram().share("vad:mob:slip");
+ map(0x009000, 0x00ffff).ram();
+}