summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rampart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rampart.cpp')
-rw-r--r--src/mame/drivers/rampart.cpp51
1 files changed, 26 insertions, 25 deletions
diff --git a/src/mame/drivers/rampart.cpp b/src/mame/drivers/rampart.cpp
index 9ffb6401fd6..bce638b62d0 100644
--- a/src/mame/drivers/rampart.cpp
+++ b/src/mame/drivers/rampart.cpp
@@ -127,31 +127,32 @@ WRITE16_MEMBER(rampart_state::latch_w)
*************************************/
/* full memory map deduced from schematics and GALs */
-ADDRESS_MAP_START(rampart_state::main_map)
- ADDRESS_MAP_GLOBAL_MASK(0x7fffff)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x140000, 0x147fff) AM_MIRROR(0x438000) AM_ROM /* slapstic goes here */
- AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_SHARE("bitmap")
- AM_RANGE(0x220000, 0x3bffff) AM_WRITENOP /* the code blasts right through this when initializing */
- AM_RANGE(0x3c0000, 0x3c07ff) AM_MIRROR(0x019800) AM_DEVREADWRITE8("palette", palette_device, read8, write8, 0xff00) AM_SHARE("palette")
- AM_RANGE(0x3e0000, 0x3e07ff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob")
- AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
- AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM AM_SHARE("mob:slip")
- AM_RANGE(0x3e3f80, 0x3effff) AM_MIRROR(0x010000) AM_RAM
- AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
- AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00)
- AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
- AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_DEVWRITE("eeprom", eeprom_parallel_28xx_device, unlock_write16)
- AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffe) AM_WRITE(latch_w)
- AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffc) AM_READ_PORT("IN0")
- AM_RANGE(0x640002, 0x640003) AM_MIRROR(0x019ffc) AM_READ_PORT("IN1")
- AM_RANGE(0x6c0000, 0x6c0001) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK0")
- AM_RANGE(0x6c0002, 0x6c0003) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK1")
- AM_RANGE(0x6c0004, 0x6c0005) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK2")
- AM_RANGE(0x6c0006, 0x6c0007) AM_MIRROR(0x019ff8) AM_READ_PORT("TRACK3")
- AM_RANGE(0x726000, 0x726001) AM_MIRROR(0x019ffe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w)
- AM_RANGE(0x7e6000, 0x7e6001) AM_MIRROR(0x019ffe) AM_WRITE(scanline_int_ack_w)
-ADDRESS_MAP_END
+void rampart_state::main_map(address_map &map)
+{
+ map.global_mask(0x7fffff);
+ map(0x000000, 0x0fffff).rom();
+ map(0x140000, 0x147fff).mirror(0x438000).rom(); /* slapstic goes here */
+ map(0x200000, 0x21ffff).ram().share("bitmap");
+ map(0x220000, 0x3bffff).nopw(); /* the code blasts right through this when initializing */
+ map(0x3c0000, 0x3c07ff).mirror(0x019800).rw(m_palette, FUNC(palette_device::read8), FUNC(palette_device::write8)).umask16(0xff00).share("palette");
+ map(0x3e0000, 0x3e07ff).mirror(0x010000).ram().share("mob");
+ map(0x3e0800, 0x3e3f3f).mirror(0x010000).ram();
+ map(0x3e3f40, 0x3e3f7f).mirror(0x010000).ram().share("mob:slip");
+ map(0x3e3f80, 0x3effff).mirror(0x010000).ram();
+ map(0x460000, 0x460000).mirror(0x019ffe).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0x480000, 0x480003).mirror(0x019ffc).w(m_ym2413, FUNC(ym2413_device::write)).umask16(0xff00);
+ map(0x500000, 0x500fff).mirror(0x019000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
+ map(0x5a6000, 0x5a6001).mirror(0x019ffe).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
+ map(0x640000, 0x640001).mirror(0x019ffe).w(this, FUNC(rampart_state::latch_w));
+ map(0x640000, 0x640001).mirror(0x019ffc).portr("IN0");
+ map(0x640002, 0x640003).mirror(0x019ffc).portr("IN1");
+ map(0x6c0000, 0x6c0001).mirror(0x019ff8).portr("TRACK0");
+ map(0x6c0002, 0x6c0003).mirror(0x019ff8).portr("TRACK1");
+ map(0x6c0004, 0x6c0005).mirror(0x019ff8).portr("TRACK2");
+ map(0x6c0006, 0x6c0007).mirror(0x019ff8).portr("TRACK3");
+ map(0x726000, 0x726001).mirror(0x019ffe).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
+ map(0x7e6000, 0x7e6001).mirror(0x019ffe).w(this, FUNC(rampart_state::scanline_int_ack_w));
+}