summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/amspdwy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/amspdwy.cpp')
-rw-r--r--src/mame/drivers/amspdwy.cpp53
1 files changed, 28 insertions, 25 deletions
diff --git a/src/mame/drivers/amspdwy.cpp b/src/mame/drivers/amspdwy.cpp
index 62afe73e49e..3d1d26ca1d0 100644
--- a/src/mame/drivers/amspdwy.cpp
+++ b/src/mame/drivers/amspdwy.cpp
@@ -71,26 +71,28 @@ READ8_MEMBER(amspdwy_state::amspdwy_sound_r)
return (m_ym2151->status_r(space, 0) & ~0x30) | ioport("IN0")->read();
}
-ADDRESS_MAP_START(amspdwy_state::amspdwy_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x801f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(amspdwy_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(amspdwy_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x9c00, 0x9fff) AM_RAM // unused?
+void amspdwy_state::amspdwy_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x801f).w(m_palette, FUNC(palette_device::write8)).share("palette");
+ map(0x9000, 0x93ff).mirror(0x0400).ram().w(this, FUNC(amspdwy_state::amspdwy_videoram_w)).share("videoram");
+ map(0x9800, 0x9bff).ram().w(this, FUNC(amspdwy_state::amspdwy_colorram_w)).share("colorram");
+ map(0x9c00, 0x9fff).ram(); // unused?
// AM_RANGE(0xa000, 0xa000) AM_WRITENOP // ?
- AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1")
- AM_RANGE(0xa400, 0xa400) AM_READ_PORT("DSW2") AM_WRITE(amspdwy_flipscreen_w)
- AM_RANGE(0xa800, 0xa800) AM_READ(amspdwy_wheel_0_r)
- AM_RANGE(0xac00, 0xac00) AM_READ(amspdwy_wheel_1_r)
- AM_RANGE(0xb000, 0xb000) AM_WRITENOP // irq ack?
- AM_RANGE(0xb400, 0xb400) AM_READ(amspdwy_sound_r) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xe000, 0xe7ff) AM_RAM
-ADDRESS_MAP_END
+ map(0xa000, 0xa000).portr("DSW1");
+ map(0xa400, 0xa400).portr("DSW2").w(this, FUNC(amspdwy_state::amspdwy_flipscreen_w));
+ map(0xa800, 0xa800).r(this, FUNC(amspdwy_state::amspdwy_wheel_0_r));
+ map(0xac00, 0xac00).r(this, FUNC(amspdwy_state::amspdwy_wheel_1_r));
+ map(0xb000, 0xb000).nopw(); // irq ack?
+ map(0xb400, 0xb400).r(this, FUNC(amspdwy_state::amspdwy_sound_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xc000, 0xc0ff).ram().share("spriteram");
+ map(0xe000, 0xe7ff).ram();
+}
-ADDRESS_MAP_START(amspdwy_state::amspdwy_portmap)
- AM_RANGE(0x0000, 0x7fff) AM_ROM AM_REGION("tracks", 0)
-ADDRESS_MAP_END
+void amspdwy_state::amspdwy_portmap(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().region("tracks", 0);
+}
@@ -102,14 +104,15 @@ ADDRESS_MAP_END
***************************************************************************/
-ADDRESS_MAP_START(amspdwy_state::amspdwy_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
+void amspdwy_state::amspdwy_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP // ? writes 0 at start
- AM_RANGE(0x9000, 0x9000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xc000, 0xdfff) AM_RAM
- AM_RANGE(0xffff, 0xffff) AM_READNOP // ??? IY = FFFF at the start ?
-ADDRESS_MAP_END
+ map(0x9000, 0x9000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+ map(0xa000, 0xa001).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
+ map(0xc000, 0xdfff).ram();
+ map(0xffff, 0xffff).nopr(); // ??? IY = FFFF at the start ?
+}