summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/mainevt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mainevt.cpp')
-rw-r--r--src/mame/drivers/mainevt.cpp142
1 files changed, 73 insertions, 69 deletions
diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp
index 9b79a243a64..471b658b4b7 100644
--- a/src/mame/drivers/mainevt.cpp
+++ b/src/mame/drivers/mainevt.cpp
@@ -154,75 +154,79 @@ WRITE8_MEMBER(mainevt_state::k052109_051960_w)
}
-ADDRESS_MAP_START(mainevt_state::mainevt_map)
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
-
- AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
- AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* probably */
- AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
- AM_RANGE(0x1f8c, 0x1f8d) AM_WRITENOP /* ??? */
- AM_RANGE(0x1f90, 0x1f90) AM_WRITE(mainevt_coin_w) /* coin counters + lamps */
-
- AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
- AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
- AM_RANGE(0x1f97, 0x1f97) AM_READ_PORT("DSW1")
- AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW3")
- AM_RANGE(0x1f99, 0x1f99) AM_READ_PORT("P3")
- AM_RANGE(0x1f9a, 0x1f9a) AM_READ_PORT("P4")
- AM_RANGE(0x1f9b, 0x1f9b) AM_READ_PORT("DSW2")
-
- AM_RANGE(0x4000, 0x5dff) AM_RAM
- AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(mainevt_state::devstors_map)
- AM_RANGE(0x0000, 0x3fff) AM_READWRITE(k052109_051960_r, k052109_051960_w)
-
- AM_RANGE(0x1f80, 0x1f80) AM_WRITE(mainevt_bankswitch_w)
- AM_RANGE(0x1f84, 0x1f84) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) /* probably */
- AM_RANGE(0x1f88, 0x1f88) AM_WRITE(mainevt_sh_irqtrigger_w) /* probably */
- AM_RANGE(0x1f90, 0x1f90) AM_WRITE(mainevt_coin_w) /* coin counters + lamps */
-
- AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x1f95, 0x1f95) AM_READ_PORT("P1")
- AM_RANGE(0x1f96, 0x1f96) AM_READ_PORT("P2")
- AM_RANGE(0x1f97, 0x1f97) AM_READ_PORT("DSW1")
- AM_RANGE(0x1f98, 0x1f98) AM_READ_PORT("DSW3")
- AM_RANGE(0x1f9b, 0x1f9b) AM_READ_PORT("DSW2")
- AM_RANGE(0x1fa0, 0x1fbf) AM_DEVREADWRITE("k051733", k051733_device, read, write)
- AM_RANGE(0x1fb2, 0x1fb2) AM_WRITE(dv_nmienable_w)
-
- AM_RANGE(0x4000, 0x5dff) AM_RAM
- AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette")
- AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
- AM_RANGE(0x8000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(mainevt_state::mainevt_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM
- AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("upd", upd7759_device, port_w)
- AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("k007232", k007232_device, read, write)
- AM_RANGE(0xd000, 0xd000) AM_READ(mainevt_sh_busy_r)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(mainevt_sh_irqcontrol_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(mainevt_sh_bankswitch_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mainevt_state::devstors_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM
- AM_RANGE(0xa000, 0xa000) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
- AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE("k007232", k007232_device, read, write)
- AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(devstor_sh_irqcontrol_w)
- AM_RANGE(0xf000, 0xf000) AM_WRITE(dv_sh_bankswitch_w)
-ADDRESS_MAP_END
+void mainevt_state::mainevt_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rw(this, FUNC(mainevt_state::k052109_051960_r), FUNC(mainevt_state::k052109_051960_w));
+
+ map(0x1f80, 0x1f80).w(this, FUNC(mainevt_state::mainevt_bankswitch_w));
+ map(0x1f84, 0x1f84).w("soundlatch", FUNC(generic_latch_8_device::write)); /* probably */
+ map(0x1f88, 0x1f88).w(this, FUNC(mainevt_state::mainevt_sh_irqtrigger_w)); /* probably */
+ map(0x1f8c, 0x1f8d).nopw(); /* ??? */
+ map(0x1f90, 0x1f90).w(this, FUNC(mainevt_state::mainevt_coin_w)); /* coin counters + lamps */
+
+ map(0x1f94, 0x1f94).portr("SYSTEM");
+ map(0x1f95, 0x1f95).portr("P1");
+ map(0x1f96, 0x1f96).portr("P2");
+ map(0x1f97, 0x1f97).portr("DSW1");
+ map(0x1f98, 0x1f98).portr("DSW3");
+ map(0x1f99, 0x1f99).portr("P3");
+ map(0x1f9a, 0x1f9a).portr("P4");
+ map(0x1f9b, 0x1f9b).portr("DSW2");
+
+ map(0x4000, 0x5dff).ram();
+ map(0x5e00, 0x5fff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
+ map(0x6000, 0x7fff).bankr("rombank");
+ map(0x8000, 0xffff).rom();
+}
+
+
+void mainevt_state::devstors_map(address_map &map)
+{
+ map(0x0000, 0x3fff).rw(this, FUNC(mainevt_state::k052109_051960_r), FUNC(mainevt_state::k052109_051960_w));
+
+ map(0x1f80, 0x1f80).w(this, FUNC(mainevt_state::mainevt_bankswitch_w));
+ map(0x1f84, 0x1f84).w("soundlatch", FUNC(generic_latch_8_device::write)); /* probably */
+ map(0x1f88, 0x1f88).w(this, FUNC(mainevt_state::mainevt_sh_irqtrigger_w)); /* probably */
+ map(0x1f90, 0x1f90).w(this, FUNC(mainevt_state::mainevt_coin_w)); /* coin counters + lamps */
+
+ map(0x1f94, 0x1f94).portr("SYSTEM");
+ map(0x1f95, 0x1f95).portr("P1");
+ map(0x1f96, 0x1f96).portr("P2");
+ map(0x1f97, 0x1f97).portr("DSW1");
+ map(0x1f98, 0x1f98).portr("DSW3");
+ map(0x1f9b, 0x1f9b).portr("DSW2");
+ map(0x1fa0, 0x1fbf).rw("k051733", FUNC(k051733_device::read), FUNC(k051733_device::write));
+ map(0x1fb2, 0x1fb2).w(this, FUNC(mainevt_state::dv_nmienable_w));
+
+ map(0x4000, 0x5dff).ram();
+ map(0x5e00, 0x5fff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
+ map(0x6000, 0x7fff).bankr("rombank");
+ map(0x8000, 0xffff).rom();
+}
+
+
+void mainevt_state::mainevt_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x83ff).ram();
+ map(0x9000, 0x9000).w(m_upd7759, FUNC(upd7759_device::port_w));
+ map(0xa000, 0xa000).r("soundlatch", FUNC(generic_latch_8_device::read));
+ map(0xb000, 0xb00d).rw(m_k007232, FUNC(k007232_device::read), FUNC(k007232_device::write));
+ map(0xd000, 0xd000).r(this, FUNC(mainevt_state::mainevt_sh_busy_r));
+ map(0xe000, 0xe000).w(this, FUNC(mainevt_state::mainevt_sh_irqcontrol_w));
+ map(0xf000, 0xf000).w(this, FUNC(mainevt_state::mainevt_sh_bankswitch_w));
+}
+
+void mainevt_state::devstors_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x83ff).ram();
+ map(0xa000, 0xa000).r("soundlatch", FUNC(generic_latch_8_device::read));
+ map(0xb000, 0xb00d).rw(m_k007232, FUNC(k007232_device::read), FUNC(k007232_device::write));
+ map(0xc000, 0xc001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
+ map(0xe000, 0xe000).w(this, FUNC(mainevt_state::devstor_sh_irqcontrol_w));
+ map(0xf000, 0xf000).w(this, FUNC(mainevt_state::dv_sh_bankswitch_w));
+}
/*****************************************************************************/