summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/munchmo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/munchmo.cpp')
-rw-r--r--src/mame/drivers/munchmo.cpp67
1 files changed, 36 insertions, 31 deletions
diff --git a/src/mame/drivers/munchmo.cpp b/src/mame/drivers/munchmo.cpp
index fe13910ff5a..d36773e3f5b 100644
--- a/src/mame/drivers/munchmo.cpp
+++ b/src/mame/drivers/munchmo.cpp
@@ -93,39 +93,44 @@ READ8_MEMBER(munchmo_state::ay2reset_r)
*
*************************************/
-ADDRESS_MAP_START(munchmo_state::mnchmobl_map)
- AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("sprite_xpos")
- AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("sprite_tile")
- AM_RANGE(0xb000, 0xb3ff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("sprite_attr")
- AM_RANGE(0xb800, 0xb8ff) AM_MIRROR(0x0100) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0xbaba, 0xbaba) AM_WRITENOP /* ? */
- AM_RANGE(0xbc00, 0xbc7f) AM_RAM AM_SHARE("status_vram")
- AM_RANGE(0xbe00, 0xbe00) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
- ;map(0xbe01, 0xbe01).select(0x0070).lw8("mainlatch_w", [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_mainlatch->write_d0(space, offset >> 4, data, mem_mask); });
- AM_RANGE(0xbe02, 0xbe02) AM_READ_PORT("DSW1")
- AM_RANGE(0xbe03, 0xbe03) AM_READ_PORT("DSW2")
- AM_RANGE(0xbf00, 0xbf00) AM_WRITE(nmi_ack_w) // CNI 1-8C
- AM_RANGE(0xbf01, 0xbf01) AM_READ_PORT("SYSTEM")
- AM_RANGE(0xbf02, 0xbf02) AM_READ_PORT("P1")
- AM_RANGE(0xbf03, 0xbf03) AM_READ_PORT("P2")
- AM_RANGE(0xbf04, 0xbf07) AM_WRITEONLY AM_SHARE("vreg") // MY0 1-8C
-ADDRESS_MAP_END
+void munchmo_state::mnchmobl_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rom();
+ map(0x8000, 0x83ff).ram();
+ map(0xa000, 0xa3ff).mirror(0x0400).ram().share("sprite_xpos");
+ map(0xa800, 0xabff).mirror(0x0400).ram().share("sprite_tile");
+ map(0xb000, 0xb3ff).mirror(0x0400).ram().share("sprite_attr");
+ map(0xb800, 0xb8ff).mirror(0x0100).ram().share("videoram");
+ map(0xbaba, 0xbaba).nopw(); /* ? */
+ map(0xbc00, 0xbc7f).ram().share("status_vram");
+ map(0xbe00, 0xbe00).w(m_soundlatch, FUNC(generic_latch_8_device::write));
+ map(0xbe01, 0xbe01).select(0x0070).lw8("mainlatch_w",
+ [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){
+ m_mainlatch->write_d0(space, offset >> 4, data, mem_mask);
+ });
+ map(0xbe02, 0xbe02).portr("DSW1");
+ map(0xbe03, 0xbe03).portr("DSW2");
+ map(0xbf00, 0xbf00).w(this, FUNC(munchmo_state::nmi_ack_w)); // CNI 1-8C
+ map(0xbf01, 0xbf01).portr("SYSTEM");
+ map(0xbf02, 0xbf02).portr("P1");
+ map(0xbf03, 0xbf03).portr("P2");
+ map(0xbf04, 0xbf07).writeonly().share("vreg"); // MY0 1-8C
+}
/* memory map provided thru schematics */
-ADDRESS_MAP_START(munchmo_state::sound_map)
- AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x2000, 0x3fff) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0x4000, 0x4fff) AM_DEVWRITE("ay1", ay8910_device, data_w)
- AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE("ay1", ay8910_device, address_w)
- AM_RANGE(0x6000, 0x6fff) AM_DEVWRITE("ay2", ay8910_device, data_w)
- AM_RANGE(0x7000, 0x7fff) AM_DEVWRITE("ay2", ay8910_device, address_w)
- AM_RANGE(0x8000, 0x9fff) AM_READ(ay1reset_r) AM_DEVWRITE("ay1", ay8910_device, reset_w)
- AM_RANGE(0xa000, 0xbfff) AM_READ(ay2reset_r) AM_DEVWRITE("ay2", ay8910_device, reset_w)
- AM_RANGE(0xc000, 0xdfff) AM_WRITE(sound_nmi_ack_w) // NCL 1-8H
- AM_RANGE(0xe000, 0xe7ff) AM_MIRROR(0x1800) AM_RAM // is mirror ok?
-ADDRESS_MAP_END
+void munchmo_state::sound_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x2000, 0x3fff).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+ map(0x4000, 0x4fff).w("ay1", FUNC(ay8910_device::data_w));
+ map(0x5000, 0x5fff).w("ay1", FUNC(ay8910_device::address_w));
+ map(0x6000, 0x6fff).w("ay2", FUNC(ay8910_device::data_w));
+ map(0x7000, 0x7fff).w("ay2", FUNC(ay8910_device::address_w));
+ map(0x8000, 0x9fff).r(this, FUNC(munchmo_state::ay1reset_r)).w("ay1", FUNC(ay8910_device::reset_w));
+ map(0xa000, 0xbfff).r(this, FUNC(munchmo_state::ay2reset_r)).w("ay2", FUNC(ay8910_device::reset_w));
+ map(0xc000, 0xdfff).w(this, FUNC(munchmo_state::sound_nmi_ack_w)); // NCL 1-8H
+ map(0xe000, 0xe7ff).mirror(0x1800).ram(); // is mirror ok?
+}
/*************************************