summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/gberet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/gberet.cpp')
-rw-r--r--src/mame/drivers/gberet.cpp123
1 files changed, 63 insertions, 60 deletions
diff --git a/src/mame/drivers/gberet.cpp b/src/mame/drivers/gberet.cpp
index e84e83e2635..ec354030674 100644
--- a/src/mame/drivers/gberet.cpp
+++ b/src/mame/drivers/gberet.cpp
@@ -154,46 +154,48 @@ WRITE8_MEMBER(gberet_state::gberet_sound_w)
m_sn->write(space, 0, *m_soundlatch);
}
-ADDRESS_MAP_START(gberet_state::gberet_map)
- AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xd200, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe03f) AM_RAM_WRITE(gberet_scroll_w) AM_SHARE("scrollram")
- AM_RANGE(0xe040, 0xe042) AM_WRITENOP // ???
- AM_RANGE(0xe043, 0xe043) AM_WRITE(gberet_sprite_bank_w)
- AM_RANGE(0xe044, 0xe044) AM_WRITE(gberet_flipscreen_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(gberet_coin_counter_w)
- AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2") AM_WRITEONLY AM_SHARE("soundlatch")
- AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW3") AM_WRITE(gberet_sound_w)
- AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0xf601, 0xf601) AM_READ_PORT("P2")
- AM_RANGE(0xf602, 0xf602) AM_READ_PORT("P1")
- AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(gberet_state::mrgoemon_map)
- AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xd000, 0xd0ff) AM_RAM AM_SHARE("spriteram2")
- AM_RANGE(0xd100, 0xd1ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xd200, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe03f) AM_RAM_WRITE(gberet_scroll_w) AM_SHARE("scrollram")
- AM_RANGE(0xe040, 0xe042) AM_WRITENOP // ???
- AM_RANGE(0xe043, 0xe043) AM_WRITE(gberet_sprite_bank_w)
- AM_RANGE(0xe044, 0xe044) AM_WRITE(gberet_flipscreen_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(mrgoemon_coin_counter_w)
- AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2") AM_WRITEONLY AM_SHARE("soundlatch")
- AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW3") AM_WRITE(gberet_sound_w)
- AM_RANGE(0xf600, 0xf600) AM_READ_PORT("DSW1") AM_DEVWRITE("watchdog", watchdog_timer_device, reset_w)
- AM_RANGE(0xf601, 0xf601) AM_READ_PORT("P2")
- AM_RANGE(0xf602, 0xf602) AM_READ_PORT("P1")
- AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xf800, 0xffff) AM_ROMBANK("bank1")
-ADDRESS_MAP_END
+void gberet_state::gberet_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom();
+ map(0xc000, 0xc7ff).ram().w(this, FUNC(gberet_state::gberet_colorram_w)).share("colorram");
+ map(0xc800, 0xcfff).ram().w(this, FUNC(gberet_state::gberet_videoram_w)).share("videoram");
+ map(0xd000, 0xd0ff).ram().share("spriteram2");
+ map(0xd100, 0xd1ff).ram().share("spriteram");
+ map(0xd200, 0xdfff).ram();
+ map(0xe000, 0xe03f).ram().w(this, FUNC(gberet_state::gberet_scroll_w)).share("scrollram");
+ map(0xe040, 0xe042).nopw(); // ???
+ map(0xe043, 0xe043).w(this, FUNC(gberet_state::gberet_sprite_bank_w));
+ map(0xe044, 0xe044).w(this, FUNC(gberet_state::gberet_flipscreen_w));
+ map(0xf000, 0xf000).w(this, FUNC(gberet_state::gberet_coin_counter_w));
+ map(0xf200, 0xf200).portr("DSW2").writeonly().share("soundlatch");
+ map(0xf400, 0xf400).portr("DSW3").w(this, FUNC(gberet_state::gberet_sound_w));
+ map(0xf600, 0xf600).portr("DSW1").w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0xf601, 0xf601).portr("P2");
+ map(0xf602, 0xf602).portr("P1");
+ map(0xf603, 0xf603).portr("SYSTEM");
+}
+
+void gberet_state::mrgoemon_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom();
+ map(0xc000, 0xc7ff).ram().w(this, FUNC(gberet_state::gberet_colorram_w)).share("colorram");
+ map(0xc800, 0xcfff).ram().w(this, FUNC(gberet_state::gberet_videoram_w)).share("videoram");
+ map(0xd000, 0xd0ff).ram().share("spriteram2");
+ map(0xd100, 0xd1ff).ram().share("spriteram");
+ map(0xd200, 0xdfff).ram();
+ map(0xe000, 0xe03f).ram().w(this, FUNC(gberet_state::gberet_scroll_w)).share("scrollram");
+ map(0xe040, 0xe042).nopw(); // ???
+ map(0xe043, 0xe043).w(this, FUNC(gberet_state::gberet_sprite_bank_w));
+ map(0xe044, 0xe044).w(this, FUNC(gberet_state::gberet_flipscreen_w));
+ map(0xf000, 0xf000).w(this, FUNC(gberet_state::mrgoemon_coin_counter_w));
+ map(0xf200, 0xf200).portr("DSW2").writeonly().share("soundlatch");
+ map(0xf400, 0xf400).portr("DSW3").w(this, FUNC(gberet_state::gberet_sound_w));
+ map(0xf600, 0xf600).portr("DSW1").w("watchdog", FUNC(watchdog_timer_device::reset_w));
+ map(0xf601, 0xf601).portr("P2");
+ map(0xf602, 0xf602).portr("P1");
+ map(0xf603, 0xf603).portr("SYSTEM");
+ map(0xf800, 0xffff).bankr("bank1");
+}
WRITE8_MEMBER(gberet_state::gberetb_flipscreen_w)
@@ -212,26 +214,27 @@ WRITE8_MEMBER(gberet_state::gberetb_nmi_ack_w)
m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
}
-ADDRESS_MAP_START(gberet_state::gberetb_map)
- AM_RANGE(0x0000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(gberet_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(gberet_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0xd000, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe03f) AM_RAM
- AM_RANGE(0xe040, 0xe043) AM_WRITENOP // ???
- AM_RANGE(0xe044, 0xe044) AM_WRITE(gberetb_flipscreen_w) // did hw even support flipscreen?
- AM_RANGE(0xe800, 0xe8ff) AM_RAM
- AM_RANGE(0xe900, 0xe9ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0xf000, 0xf000) AM_WRITENOP // coin counter not supported
- AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW2")
- AM_RANGE(0xf400, 0xf400) AM_DEVWRITE("snsnd", sn76489a_device, write)
- AM_RANGE(0xf600, 0xf600) AM_READ_PORT("P2")
- AM_RANGE(0xf601, 0xf601) AM_READ_PORT("DSW1")
- AM_RANGE(0xf602, 0xf602) AM_READ_PORT("P1")
- AM_RANGE(0xf603, 0xf603) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xf800, 0xf800) AM_READWRITE(gberetb_irq_ack_r, gberetb_nmi_ack_w)
- AM_RANGE(0xf900, 0xf901) AM_WRITE(gberetb_scroll_w)
-ADDRESS_MAP_END
+void gberet_state::gberetb_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom();
+ map(0xc000, 0xc7ff).ram().w(this, FUNC(gberet_state::gberet_colorram_w)).share("colorram");
+ map(0xc800, 0xcfff).ram().w(this, FUNC(gberet_state::gberet_videoram_w)).share("videoram");
+ map(0xd000, 0xdfff).ram();
+ map(0xe000, 0xe03f).ram();
+ map(0xe040, 0xe043).nopw(); // ???
+ map(0xe044, 0xe044).w(this, FUNC(gberet_state::gberetb_flipscreen_w)); // did hw even support flipscreen?
+ map(0xe800, 0xe8ff).ram();
+ map(0xe900, 0xe9ff).ram().share("spriteram");
+ map(0xf000, 0xf000).nopw(); // coin counter not supported
+ map(0xf200, 0xf200).portr("DSW2");
+ map(0xf400, 0xf400).w(m_sn, FUNC(sn76489a_device::write));
+ map(0xf600, 0xf600).portr("P2");
+ map(0xf601, 0xf601).portr("DSW1");
+ map(0xf602, 0xf602).portr("P1");
+ map(0xf603, 0xf603).portr("SYSTEM");
+ map(0xf800, 0xf800).rw(this, FUNC(gberet_state::gberetb_irq_ack_r), FUNC(gberet_state::gberetb_nmi_ack_w));
+ map(0xf900, 0xf901).w(this, FUNC(gberet_state::gberetb_scroll_w));
+}
/*************************************