summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/appoooh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/appoooh.cpp')
-rw-r--r--src/mame/drivers/appoooh.cpp65
1 files changed, 34 insertions, 31 deletions
diff --git a/src/mame/drivers/appoooh.cpp b/src/mame/drivers/appoooh.cpp
index 4bca537a70c..6def479dfbb 100644
--- a/src/mame/drivers/appoooh.cpp
+++ b/src/mame/drivers/appoooh.cpp
@@ -213,37 +213,40 @@ WRITE8_MEMBER(appoooh_state::adpcm_w)
*
*************************************/
-ADDRESS_MAP_START(appoooh_state::main_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x9fff) AM_ROM
- AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank1")
- AM_RANGE(0xe000, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM /* RAM ? */
-
- AM_RANGE(0xf000, 0xffff) AM_RAM
- AM_RANGE(0xf000, 0xf01f) AM_SHARE("spriteram")
- AM_RANGE(0xf020, 0xf3ff) AM_WRITE(fg_videoram_w) AM_SHARE("fg_videoram")
- AM_RANGE(0xf420, 0xf7ff) AM_WRITE(fg_colorram_w) AM_SHARE("fg_colorram")
- AM_RANGE(0xf800, 0xf81f) AM_SHARE("spriteram_2")
- AM_RANGE(0xf820, 0xfbff) AM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
- AM_RANGE(0xfc20, 0xffff) AM_WRITE(bg_colorram_w) AM_SHARE("bg_colorram")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(appoooh_state::decrypted_opcodes_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM AM_SHARE("decrypted_opcodes")
- AM_RANGE(0x8000, 0x9fff) AM_ROM AM_REGION("maincpu", 0x8000)
- AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank1")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(appoooh_state::main_portmap)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("P1") AM_DEVWRITE("sn1", sn76489_device, write)
- AM_RANGE(0x01, 0x01) AM_READ_PORT("P2") AM_DEVWRITE("sn2", sn76489_device, write)
- AM_RANGE(0x02, 0x02) AM_DEVWRITE("sn3", sn76489_device, write)
- AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW1") AM_WRITE(adpcm_w)
- AM_RANGE(0x04, 0x04) AM_READ_PORT("BUTTON3") AM_WRITE(out_w)
- AM_RANGE(0x05, 0x05) AM_WRITE(scroll_w) /* unknown */
-ADDRESS_MAP_END
+void appoooh_state::main_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x9fff).rom();
+ map(0xa000, 0xdfff).bankr("bank1");
+ map(0xe000, 0xe7ff).ram();
+ map(0xe800, 0xefff).ram(); /* RAM ? */
+
+ map(0xf000, 0xffff).ram();
+ map(0xf000, 0xf01f).share("spriteram");
+ map(0xf020, 0xf3ff).w(this, FUNC(appoooh_state::fg_videoram_w)).share("fg_videoram");
+ map(0xf420, 0xf7ff).w(this, FUNC(appoooh_state::fg_colorram_w)).share("fg_colorram");
+ map(0xf800, 0xf81f).share("spriteram_2");
+ map(0xf820, 0xfbff).w(this, FUNC(appoooh_state::bg_videoram_w)).share("bg_videoram");
+ map(0xfc20, 0xffff).w(this, FUNC(appoooh_state::bg_colorram_w)).share("bg_colorram");
+}
+
+void appoooh_state::decrypted_opcodes_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom().share("decrypted_opcodes");
+ map(0x8000, 0x9fff).rom().region("maincpu", 0x8000);
+ map(0xa000, 0xdfff).bankr("bank1");
+}
+
+void appoooh_state::main_portmap(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).portr("P1").w("sn1", FUNC(sn76489_device::write));
+ map(0x01, 0x01).portr("P2").w("sn2", FUNC(sn76489_device::write));
+ map(0x02, 0x02).w("sn3", FUNC(sn76489_device::write));
+ map(0x03, 0x03).portr("DSW1").w(this, FUNC(appoooh_state::adpcm_w));
+ map(0x04, 0x04).portr("BUTTON3").w(this, FUNC(appoooh_state::out_w));
+ map(0x05, 0x05).w(this, FUNC(appoooh_state::scroll_w)); /* unknown */
+}
/*************************************