summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/dogfgt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dogfgt.cpp')
-rw-r--r--src/mame/drivers/dogfgt.cpp52
1 files changed, 27 insertions, 25 deletions
diff --git a/src/mame/drivers/dogfgt.cpp b/src/mame/drivers/dogfgt.cpp
index c33657a1064..d5351e3489e 100644
--- a/src/mame/drivers/dogfgt.cpp
+++ b/src/mame/drivers/dogfgt.cpp
@@ -60,31 +60,33 @@ WRITE8_MEMBER(dogfgt_state::dogfgt_soundcontrol_w)
-ADDRESS_MAP_START(dogfgt_state::main_map)
- AM_RANGE(0x0000, 0x07ff) AM_READWRITE(sharedram_r, sharedram_w) AM_SHARE("sharedram")
- AM_RANGE(0x0f80, 0x0fdf) AM_WRITEONLY AM_SHARE("spriteram")
- AM_RANGE(0x1000, 0x17ff) AM_WRITE(dogfgt_bgvideoram_w) AM_SHARE("bgvideoram")
- AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
- AM_RANGE(0x1800, 0x1800) AM_WRITE(dogfgt_1800_w) /* text color, flip screen & coin counters */
- AM_RANGE(0x1810, 0x1810) AM_READ_PORT("P2")
- AM_RANGE(0x1810, 0x1810) AM_WRITE(subirqtrigger_w)
- AM_RANGE(0x1820, 0x1820) AM_READ_PORT("DSW1")
- AM_RANGE(0x1820, 0x1823) AM_WRITE(dogfgt_scroll_w)
- AM_RANGE(0x1824, 0x1824) AM_WRITE(dogfgt_plane_select_w)
- AM_RANGE(0x1830, 0x1830) AM_READ_PORT("DSW2")
- AM_RANGE(0x1830, 0x1830) AM_WRITE(dogfgt_soundlatch_w)
- AM_RANGE(0x1840, 0x1840) AM_WRITE(dogfgt_soundcontrol_w)
- AM_RANGE(0x1870, 0x187f) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x2000, 0x3fff) AM_READWRITE(dogfgt_bitmapram_r, dogfgt_bitmapram_w)
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dogfgt_state::sub_map)
- AM_RANGE(0x0000, 0x07ff) AM_RAM
- AM_RANGE(0x2000, 0x27ff) AM_READWRITE(sharedram_r, sharedram_w)
- AM_RANGE(0x4000, 0x4000) AM_WRITE(sub_irqack_w)
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
+void dogfgt_state::main_map(address_map &map)
+{
+ map(0x0000, 0x07ff).rw(this, FUNC(dogfgt_state::sharedram_r), FUNC(dogfgt_state::sharedram_w)).share("sharedram");
+ map(0x0f80, 0x0fdf).writeonly().share("spriteram");
+ map(0x1000, 0x17ff).w(this, FUNC(dogfgt_state::dogfgt_bgvideoram_w)).share("bgvideoram");
+ map(0x1800, 0x1800).portr("P1");
+ map(0x1800, 0x1800).w(this, FUNC(dogfgt_state::dogfgt_1800_w)); /* text color, flip screen & coin counters */
+ map(0x1810, 0x1810).portr("P2");
+ map(0x1810, 0x1810).w(this, FUNC(dogfgt_state::subirqtrigger_w));
+ map(0x1820, 0x1820).portr("DSW1");
+ map(0x1820, 0x1823).w(this, FUNC(dogfgt_state::dogfgt_scroll_w));
+ map(0x1824, 0x1824).w(this, FUNC(dogfgt_state::dogfgt_plane_select_w));
+ map(0x1830, 0x1830).portr("DSW2");
+ map(0x1830, 0x1830).w(this, FUNC(dogfgt_state::dogfgt_soundlatch_w));
+ map(0x1840, 0x1840).w(this, FUNC(dogfgt_state::dogfgt_soundcontrol_w));
+ map(0x1870, 0x187f).w(m_palette, FUNC(palette_device::write8)).share("palette");
+ map(0x2000, 0x3fff).rw(this, FUNC(dogfgt_state::dogfgt_bitmapram_r), FUNC(dogfgt_state::dogfgt_bitmapram_w));
+ map(0x8000, 0xffff).rom();
+}
+
+void dogfgt_state::sub_map(address_map &map)
+{
+ map(0x0000, 0x07ff).ram();
+ map(0x2000, 0x27ff).rw(this, FUNC(dogfgt_state::sharedram_r), FUNC(dogfgt_state::sharedram_w));
+ map(0x4000, 0x4000).w(this, FUNC(dogfgt_state::sub_irqack_w));
+ map(0x8000, 0xffff).rom();
+}