summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/momoko.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/momoko.cpp')
-rw-r--r--src/mame/drivers/momoko.cpp66
1 files changed, 34 insertions, 32 deletions
diff --git a/src/mame/drivers/momoko.cpp b/src/mame/drivers/momoko.cpp
index 58189b59db3..dd8b384e52e 100644
--- a/src/mame/drivers/momoko.cpp
+++ b/src/mame/drivers/momoko.cpp
@@ -63,38 +63,40 @@ WRITE8_MEMBER(momoko_state::momoko_bg_read_bank_w)
/****************************************************************************/
-ADDRESS_MAP_START(momoko_state::momoko_map)
- AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd064, 0xd0ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xd400, 0xd400) AM_READ_PORT("IN0") AM_WRITENOP /* interrupt ack? */
- AM_RANGE(0xd402, 0xd402) AM_READ_PORT("IN1") AM_WRITE(momoko_flipscreen_w)
- AM_RANGE(0xd404, 0xd404) AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0xd406, 0xd406) AM_READ_PORT("DSW0") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xd407, 0xd407) AM_READ_PORT("DSW1")
- AM_RANGE(0xd800, 0xdbff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0xdc00, 0xdc00) AM_WRITE(momoko_fg_scrolly_w)
- AM_RANGE(0xdc01, 0xdc01) AM_WRITE(momoko_fg_scrollx_w)
- AM_RANGE(0xdc02, 0xdc02) AM_WRITE(momoko_fg_select_w)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0xe800, 0xe800) AM_WRITE(momoko_text_scrolly_w)
- AM_RANGE(0xe801, 0xe801) AM_WRITE(momoko_text_mode_w)
- AM_RANGE(0xf000, 0xffff) AM_ROMBANK("bank1")
- AM_RANGE(0xf000, 0xf001) AM_WRITE(momoko_bg_scrolly_w) AM_SHARE("bg_scrolly")
- AM_RANGE(0xf002, 0xf003) AM_WRITE(momoko_bg_scrollx_w) AM_SHARE("bg_scrollx")
- AM_RANGE(0xf004, 0xf004) AM_WRITE(momoko_bg_read_bank_w)
- AM_RANGE(0xf006, 0xf006) AM_WRITE(momoko_bg_select_w)
- AM_RANGE(0xf007, 0xf007) AM_WRITE(momoko_bg_priority_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(momoko_state::momoko_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x9000, 0x9000) AM_WRITENOP /* unknown */
- AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
- AM_RANGE(0xb000, 0xb000) AM_WRITENOP /* unknown */
- AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym2", ym2203_device, read, write)
-ADDRESS_MAP_END
+void momoko_state::momoko_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom();
+ map(0xc000, 0xcfff).ram();
+ map(0xd064, 0xd0ff).ram().share("spriteram");
+ map(0xd400, 0xd400).portr("IN0").nopw(); /* interrupt ack? */
+ map(0xd402, 0xd402).portr("IN1").w(this, FUNC(momoko_state::momoko_flipscreen_w));
+ map(0xd404, 0xd404).w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0xd406, 0xd406).portr("DSW0").w("soundlatch", FUNC(generic_latch_8_device::write));
+ map(0xd407, 0xd407).portr("DSW1");
+ map(0xd800, 0xdbff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
+ map(0xdc00, 0xdc00).w(this, FUNC(momoko_state::momoko_fg_scrolly_w));
+ map(0xdc01, 0xdc01).w(this, FUNC(momoko_state::momoko_fg_scrollx_w));
+ map(0xdc02, 0xdc02).w(this, FUNC(momoko_state::momoko_fg_select_w));
+ map(0xe000, 0xe3ff).ram().share("videoram");
+ map(0xe800, 0xe800).w(this, FUNC(momoko_state::momoko_text_scrolly_w));
+ map(0xe801, 0xe801).w(this, FUNC(momoko_state::momoko_text_mode_w));
+ map(0xf000, 0xffff).bankr("bank1");
+ map(0xf000, 0xf001).w(this, FUNC(momoko_state::momoko_bg_scrolly_w)).share("bg_scrolly");
+ map(0xf002, 0xf003).w(this, FUNC(momoko_state::momoko_bg_scrollx_w)).share("bg_scrollx");
+ map(0xf004, 0xf004).w(this, FUNC(momoko_state::momoko_bg_read_bank_w));
+ map(0xf006, 0xf006).w(this, FUNC(momoko_state::momoko_bg_select_w));
+ map(0xf007, 0xf007).w(this, FUNC(momoko_state::momoko_bg_priority_w));
+}
+
+void momoko_state::momoko_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+ map(0x9000, 0x9000).nopw(); /* unknown */
+ map(0xa000, 0xa001).rw("ym1", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
+ map(0xb000, 0xb000).nopw(); /* unknown */
+ map(0xc000, 0xc001).rw("ym2", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
+}
/****************************************************************************/