summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/galpanic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/galpanic.cpp')
-rw-r--r--src/mame/drivers/galpanic.cpp57
1 files changed, 30 insertions, 27 deletions
diff --git a/src/mame/drivers/galpanic.cpp b/src/mame/drivers/galpanic.cpp
index 1cea0c488f3..6164810d164 100644
--- a/src/mame/drivers/galpanic.cpp
+++ b/src/mame/drivers/galpanic.cpp
@@ -133,33 +133,36 @@ WRITE16_MEMBER(galpanic_state::coin_w)
-ADDRESS_MAP_START(galpanic_state::galpanic_map)
- AM_RANGE(0x000000, 0x3fffff) AM_ROM
- AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
- AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
- AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(bgvideoram_w) AM_SHARE("bgvideoram") /* + work RAM */
- AM_RANGE(0x600000, 0x6007ff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") /* 1024 colors, but only 512 seem to be used */
- AM_RANGE(0x700000, 0x701fff) AM_DEVREADWRITE("pandora", kaneko_pandora_device, spriteram_LSB_r, spriteram_LSB_w)
- AM_RANGE(0x702000, 0x704fff) AM_RAM
- AM_RANGE(0x800000, 0x800001) AM_READ_PORT("DSW1")
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("DSW2")
- AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x900000, 0x900001) AM_WRITE(m6295_bankswitch_w)
- AM_RANGE(0xa00000, 0xa00001) AM_WRITE(coin_w) /* coin counters */
- AM_RANGE(0xb00000, 0xb00001) AM_WRITENOP /* ??? */
- AM_RANGE(0xc00000, 0xc00001) AM_WRITENOP /* ??? */
- AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP /* ??? */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(galpanic_state::galpanica_map)
- AM_IMPORT_FROM(galpanic_map)
- AM_RANGE(0xe00000, 0xe00015) AM_DEVREADWRITE("calc1_mcu", kaneko_hit_device, kaneko_hit_r,kaneko_hit_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(galpanic_state::galpanic_oki_map)
- AM_RANGE(0x00000, 0x2ffff) AM_ROM
- AM_RANGE(0x30000, 0x3ffff) AM_ROMBANK("okibank")
-ADDRESS_MAP_END
+void galpanic_state::galpanic_map(address_map &map)
+{
+ map(0x000000, 0x3fffff).rom();
+ map(0x400001, 0x400001).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0x500000, 0x51ffff).ram().share("fgvideoram");
+ map(0x520000, 0x53ffff).ram().w(this, FUNC(galpanic_state::bgvideoram_w)).share("bgvideoram"); /* + work RAM */
+ map(0x600000, 0x6007ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); /* 1024 colors, but only 512 seem to be used */
+ map(0x700000, 0x701fff).rw(m_pandora, FUNC(kaneko_pandora_device::spriteram_LSB_r), FUNC(kaneko_pandora_device::spriteram_LSB_w));
+ map(0x702000, 0x704fff).ram();
+ map(0x800000, 0x800001).portr("DSW1");
+ map(0x800002, 0x800003).portr("DSW2");
+ map(0x800004, 0x800005).portr("SYSTEM");
+ map(0x900000, 0x900001).w(this, FUNC(galpanic_state::m6295_bankswitch_w));
+ map(0xa00000, 0xa00001).w(this, FUNC(galpanic_state::coin_w)); /* coin counters */
+ map(0xb00000, 0xb00001).nopw(); /* ??? */
+ map(0xc00000, 0xc00001).nopw(); /* ??? */
+ map(0xd00000, 0xd00001).nopw(); /* ??? */
+}
+
+void galpanic_state::galpanica_map(address_map &map)
+{
+ galpanic_map(map);
+ map(0xe00000, 0xe00015).rw("calc1_mcu", FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w));
+}
+
+void galpanic_state::galpanic_oki_map(address_map &map)
+{
+ map(0x00000, 0x2ffff).rom();
+ map(0x30000, 0x3ffff).bankr("okibank");
+}
static INPUT_PORTS_START( galpanic )