summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/bombjack.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bombjack.cpp')
-rw-r--r--src/mame/drivers/bombjack.cpp69
1 files changed, 36 insertions, 33 deletions
diff --git a/src/mame/drivers/bombjack.cpp b/src/mame/drivers/bombjack.cpp
index 77265b85100..fd188f131ad 100644
--- a/src/mame/drivers/bombjack.cpp
+++ b/src/mame/drivers/bombjack.cpp
@@ -128,39 +128,42 @@ WRITE8_MEMBER(bombjack_state::irq_mask_w)
m_nmi_mask = data & 1;
}
-ADDRESS_MAP_START(bombjack_state::main_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x8fff) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bombjack_videoram_w) AM_SHARE("videoram")
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(bombjack_colorram_w) AM_SHARE("colorram")
- AM_RANGE(0x9820, 0x987f) AM_WRITEONLY AM_SHARE("spriteram")
- AM_RANGE(0x9a00, 0x9a00) AM_WRITENOP
- AM_RANGE(0x9c00, 0x9cff) AM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x9e00, 0x9e00) AM_WRITE(bombjack_background_w)
- AM_RANGE(0xb000, 0xb000) AM_READ_PORT("P1")
- AM_RANGE(0xb000, 0xb000) AM_WRITE(irq_mask_w)
- AM_RANGE(0xb001, 0xb001) AM_READ_PORT("P2")
- AM_RANGE(0xb002, 0xb002) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xb003, 0xb003) AM_READNOP /* watchdog reset? */
- AM_RANGE(0xb004, 0xb004) AM_READ_PORT("DSW1")
- AM_RANGE(0xb004, 0xb004) AM_WRITE(bombjack_flipscreen_w)
- AM_RANGE(0xb005, 0xb005) AM_READ_PORT("DSW2")
- AM_RANGE(0xb800, 0xb800) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- AM_RANGE(0xc000, 0xdfff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(bombjack_state::audio_map)
- AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_RAM
- AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_read_and_clear)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(bombjack_state::audio_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x01) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
- AM_RANGE(0x10, 0x11) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
- AM_RANGE(0x80, 0x81) AM_DEVWRITE("ay3", ay8910_device, address_data_w)
-ADDRESS_MAP_END
+void bombjack_state::main_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x8fff).ram();
+ map(0x9000, 0x93ff).ram().w(this, FUNC(bombjack_state::bombjack_videoram_w)).share("videoram");
+ map(0x9400, 0x97ff).ram().w(this, FUNC(bombjack_state::bombjack_colorram_w)).share("colorram");
+ map(0x9820, 0x987f).writeonly().share("spriteram");
+ map(0x9a00, 0x9a00).nopw();
+ map(0x9c00, 0x9cff).w(m_palette, FUNC(palette_device::write8)).share("palette");
+ map(0x9e00, 0x9e00).w(this, FUNC(bombjack_state::bombjack_background_w));
+ map(0xb000, 0xb000).portr("P1");
+ map(0xb000, 0xb000).w(this, FUNC(bombjack_state::irq_mask_w));
+ map(0xb001, 0xb001).portr("P2");
+ map(0xb002, 0xb002).portr("SYSTEM");
+ map(0xb003, 0xb003).nopr(); /* watchdog reset? */
+ map(0xb004, 0xb004).portr("DSW1");
+ map(0xb004, 0xb004).w(this, FUNC(bombjack_state::bombjack_flipscreen_w));
+ map(0xb005, 0xb005).portr("DSW2");
+ map(0xb800, 0xb800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xc000, 0xdfff).rom();
+}
+
+void bombjack_state::audio_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x4000, 0x43ff).ram();
+ map(0x6000, 0x6000).r(this, FUNC(bombjack_state::soundlatch_read_and_clear));
+}
+
+void bombjack_state::audio_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x01).w("ay1", FUNC(ay8910_device::address_data_w));
+ map(0x10, 0x11).w("ay2", FUNC(ay8910_device::address_data_w));
+ map(0x80, 0x81).w("ay3", FUNC(ay8910_device::address_data_w));
+}
/*************************************