summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mcatadv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mcatadv.cpp')
-rw-r--r--src/mame/drivers/mcatadv.cpp101
1 files changed, 53 insertions, 48 deletions
diff --git a/src/mame/drivers/mcatadv.cpp b/src/mame/drivers/mcatadv.cpp
index 6fe64f73259..9283ac03ed5 100644
--- a/src/mame/drivers/mcatadv.cpp
+++ b/src/mame/drivers/mcatadv.cpp
@@ -177,37 +177,38 @@ WRITE16_MEMBER(mcatadv_state::vram_w)
}
-ADDRESS_MAP_START(mcatadv_state::mcatadv_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x100000, 0x10ffff) AM_RAM
+void mcatadv_state::mcatadv_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x100000, 0x10ffff).ram();
// AM_RANGE(0x180018, 0x18001f) AM_READNOP // ?
- AM_RANGE(0x200000, 0x200005) AM_RAM AM_SHARE("scroll1")
- AM_RANGE(0x300000, 0x300005) AM_RAM AM_SHARE("scroll2")
+ map(0x200000, 0x200005).ram().share("scroll1");
+ map(0x300000, 0x300005).ram().share("scroll2");
- AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(vram_w<0>) AM_SHARE("vram_1") // Tilemap 0
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(vram_w<1>) AM_SHARE("vram_2") // Tilemap 1
+ map(0x400000, 0x401fff).ram().w(this, FUNC(mcatadv_state::vram_w<0>)).share("vram_1"); // Tilemap 0
+ map(0x500000, 0x501fff).ram().w(this, FUNC(mcatadv_state::vram_w<1>)).share("vram_2"); // Tilemap 1
- AM_RANGE(0x600000, 0x601fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x602000, 0x602fff) AM_RAM // Bigger than needs to be?
+ map(0x600000, 0x601fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
+ map(0x602000, 0x602fff).ram(); // Bigger than needs to be?
- AM_RANGE(0x700000, 0x707fff) AM_RAM AM_SHARE("spriteram") // Sprites, two halves for double buffering
- AM_RANGE(0x708000, 0x70ffff) AM_RAM // Tests more than is needed?
+ map(0x700000, 0x707fff).ram().share("spriteram"); // Sprites, two halves for double buffering
+ map(0x708000, 0x70ffff).ram(); // Tests more than is needed?
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("P1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("P2")
+ map(0x800000, 0x800001).portr("P1");
+ map(0x800002, 0x800003).portr("P2");
// AM_RANGE(0x900000, 0x900001) AM_WRITE(mcat_coin_w) // Lockout / Counter MCAT Only
- AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("DSW1")
- AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW2")
+ map(0xa00000, 0xa00001).portr("DSW1");
+ map(0xa00002, 0xa00003).portr("DSW2");
- AM_RANGE(0xb00000, 0xb0000f) AM_RAM AM_SHARE("vidregs")
+ map(0xb00000, 0xb0000f).ram().share("vidregs");
- AM_RANGE(0xb00018, 0xb00019) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) // NOST Only
- AM_RANGE(0xb0001e, 0xb0001f) AM_READ(mcat_wd_r) // MCAT Only
- AM_RANGE(0xc00000, 0xc00001) AM_DEVREAD8("soundlatch2", generic_latch_8_device, read, 0x00ff)
- AM_RANGE(0xc00000, 0xc00001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff).cswidth(16)
-ADDRESS_MAP_END
+ map(0xb00018, 0xb00019).w(m_watchdog, FUNC(watchdog_timer_device::reset16_w)); // NOST Only
+ map(0xb0001e, 0xb0001f).r(this, FUNC(mcatadv_state::mcat_wd_r)); // MCAT Only
+ map(0xc00001, 0xc00001).r("soundlatch2", FUNC(generic_latch_8_device::read));
+ map(0xc00000, 0xc00001).w("soundlatch", FUNC(generic_latch_8_device::write)).umask16(0x00ff).cswidth(16);
+}
/*** Sound ***/
@@ -217,33 +218,37 @@ WRITE8_MEMBER(mcatadv_state::mcatadv_sound_bw_w)
}
-ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM // ROM
- AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("soundbank") // ROM
- AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
- AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ymsnd", ym2610_device, read, write)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(mcatadv_sound_bw_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mcatadv_state::mcatadv_sound_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(mcatadv_state::nost_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
- AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") // ROM
- AM_RANGE(0xc000, 0xdfff) AM_RAM // RAM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mcatadv_state::nost_sound_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x03) AM_DEVWRITE("ymsnd", ym2610_device, write)
- AM_RANGE(0x04, 0x07) AM_DEVREAD("ymsnd", ym2610_device, read)
- AM_RANGE(0x40, 0x40) AM_WRITE(mcatadv_sound_bw_w)
- AM_RANGE(0x80, 0x80) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
-ADDRESS_MAP_END
+void mcatadv_state::mcatadv_sound_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom(); // ROM
+ map(0x4000, 0xbfff).bankr("soundbank"); // ROM
+ map(0xc000, 0xdfff).ram(); // RAM
+ map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write));
+ map(0xf000, 0xf000).w(this, FUNC(mcatadv_state::mcatadv_sound_bw_w));
+}
+
+void mcatadv_state::mcatadv_sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x80, 0x80).r("soundlatch", FUNC(generic_latch_8_device::read)).w("soundlatch2", FUNC(generic_latch_8_device::write));
+}
+
+
+void mcatadv_state::nost_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom(); // ROM
+ map(0x8000, 0xbfff).bankr("soundbank"); // ROM
+ map(0xc000, 0xdfff).ram(); // RAM
+}
+
+void mcatadv_state::nost_sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x03).w("ymsnd", FUNC(ym2610_device::write));
+ map(0x04, 0x07).r("ymsnd", FUNC(ym2610_device::read));
+ map(0x40, 0x40).w(this, FUNC(mcatadv_state::mcatadv_sound_bw_w));
+ map(0x80, 0x80).r("soundlatch", FUNC(generic_latch_8_device::read)).w("soundlatch2", FUNC(generic_latch_8_device::write));
+}
/*** Inputs ***/