summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/dbz.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dbz.cpp')
-rw-r--r--src/mame/drivers/dbz.cpp93
1 files changed, 48 insertions, 45 deletions
diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp
index 551ba68ffe5..c834d239355 100644
--- a/src/mame/drivers/dbz.cpp
+++ b/src/mame/drivers/dbz.cpp
@@ -106,55 +106,58 @@ WRITE16_MEMBER(dbz_state::dbz_sound_cause_nmi)
}
-ADDRESS_MAP_START(dbz_state::dbz_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x480000, 0x48ffff) AM_RAM
- AM_RANGE(0x490000, 0x491fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // '157 RAM is mirrored twice
- AM_RANGE(0x492000, 0x493fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w)
- AM_RANGE(0x498000, 0x49ffff) AM_DEVREAD("k056832", k056832_device, rom_word_8000_r) // code near a60 in dbz2, subroutine at 730 in dbz
- AM_RANGE(0x4a0000, 0x4a0fff) AM_DEVREADWRITE("k053246", k053247_device, k053247_word_r, k053247_word_w)
- AM_RANGE(0x4a1000, 0x4a3fff) AM_RAM
- AM_RANGE(0x4a8000, 0x4abfff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") // palette
- AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREAD("k053246", k053247_device, k053246_word_r)
- AM_RANGE(0x4c0000, 0x4c0007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
- AM_RANGE(0x4c4000, 0x4c4007) AM_DEVWRITE("k053246", k053247_device, k053246_word_w)
- AM_RANGE(0x4c8000, 0x4c8007) AM_DEVWRITE("k056832", k056832_device, b_word_w)
- AM_RANGE(0x4cc000, 0x4cc03f) AM_DEVWRITE("k056832", k056832_device, word_w)
- AM_RANGE(0x4d0000, 0x4d001f) AM_DEVWRITE("k053936_1", k053936_device, ctrl_w)
- AM_RANGE(0x4d4000, 0x4d401f) AM_DEVWRITE("k053936_2", k053936_device, ctrl_w)
- AM_RANGE(0x4e0000, 0x4e0001) AM_READ_PORT("P1_P2")
- AM_RANGE(0x4e0002, 0x4e0003) AM_READ_PORT("SYSTEM_DSW1")
- AM_RANGE(0x4e4000, 0x4e4001) AM_READ_PORT("DSW2")
- AM_RANGE(0x4e8000, 0x4e8001) AM_WRITENOP
- AM_RANGE(0x4ec000, 0x4ec001) AM_WRITE(dbzcontrol_w)
- AM_RANGE(0x4f0000, 0x4f0001) AM_WRITE(dbz_sound_command_w)
- AM_RANGE(0x4f4000, 0x4f4001) AM_WRITE(dbz_sound_cause_nmi)
- AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) // 251 #1
- AM_RANGE(0x4fc000, 0x4fc01f) AM_DEVWRITE("k053251", k053251_device, lsb_w) // 251 #2
-
- AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(dbz_bg2_videoram_w) AM_SHARE("bg2_videoram")
- AM_RANGE(0x508000, 0x509fff) AM_RAM_WRITE(dbz_bg1_videoram_w) AM_SHARE("bg1_videoram")
- AM_RANGE(0x510000, 0x513fff) AM_DEVREADWRITE("k053936_1", k053936_device, linectrl_r, linectrl_w) // ?? guess, it might not be
- AM_RANGE(0x518000, 0x51bfff) AM_DEVREADWRITE("k053936_2", k053936_device, linectrl_r, linectrl_w) // ?? guess, it might not be
- AM_RANGE(0x600000, 0x6fffff) AM_READNOP // PSAC 1 ROM readback window
- AM_RANGE(0x700000, 0x7fffff) AM_READNOP // PSAC 2 ROM readback window
-ADDRESS_MAP_END
+void dbz_state::dbz_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x480000, 0x48ffff).ram();
+ map(0x490000, 0x491fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); // '157 RAM is mirrored twice
+ map(0x492000, 0x493fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w));
+ map(0x498000, 0x49ffff).r(m_k056832, FUNC(k056832_device::rom_word_8000_r)); // code near a60 in dbz2, subroutine at 730 in dbz
+ map(0x4a0000, 0x4a0fff).rw(m_k053246, FUNC(k053247_device::k053247_word_r), FUNC(k053247_device::k053247_word_w));
+ map(0x4a1000, 0x4a3fff).ram();
+ map(0x4a8000, 0x4abfff).ram().w("palette", FUNC(palette_device::write16)).share("palette"); // palette
+ map(0x4c0000, 0x4c0001).r(m_k053246, FUNC(k053247_device::k053246_word_r));
+ map(0x4c0000, 0x4c0007).w(m_k053246, FUNC(k053247_device::k053246_word_w));
+ map(0x4c4000, 0x4c4007).w(m_k053246, FUNC(k053247_device::k053246_word_w));
+ map(0x4c8000, 0x4c8007).w(m_k056832, FUNC(k056832_device::b_word_w));
+ map(0x4cc000, 0x4cc03f).w(m_k056832, FUNC(k056832_device::word_w));
+ map(0x4d0000, 0x4d001f).w(m_k053936_1, FUNC(k053936_device::ctrl_w));
+ map(0x4d4000, 0x4d401f).w(m_k053936_2, FUNC(k053936_device::ctrl_w));
+ map(0x4e0000, 0x4e0001).portr("P1_P2");
+ map(0x4e0002, 0x4e0003).portr("SYSTEM_DSW1");
+ map(0x4e4000, 0x4e4001).portr("DSW2");
+ map(0x4e8000, 0x4e8001).nopw();
+ map(0x4ec000, 0x4ec001).w(this, FUNC(dbz_state::dbzcontrol_w));
+ map(0x4f0000, 0x4f0001).w(this, FUNC(dbz_state::dbz_sound_command_w));
+ map(0x4f4000, 0x4f4001).w(this, FUNC(dbz_state::dbz_sound_cause_nmi));
+ map(0x4f8000, 0x4f801f).rw(m_k053252, FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0xff00); // 251 #1
+ map(0x4fc000, 0x4fc01f).w(m_k053251, FUNC(k053251_device::lsb_w)); // 251 #2
+
+ map(0x500000, 0x501fff).ram().w(this, FUNC(dbz_state::dbz_bg2_videoram_w)).share("bg2_videoram");
+ map(0x508000, 0x509fff).ram().w(this, FUNC(dbz_state::dbz_bg1_videoram_w)).share("bg1_videoram");
+ map(0x510000, 0x513fff).rw(m_k053936_1, FUNC(k053936_device::linectrl_r), FUNC(k053936_device::linectrl_w)); // ?? guess, it might not be
+ map(0x518000, 0x51bfff).rw(m_k053936_2, FUNC(k053936_device::linectrl_r), FUNC(k053936_device::linectrl_w)); // ?? guess, it might not be
+ map(0x600000, 0x6fffff).nopr(); // PSAC 1 ROM readback window
+ map(0x700000, 0x7fffff).nopr(); // PSAC 2 ROM readback window
+}
/* dbz sound */
/* IRQ: from YM2151. NMI: from 68000. Port 0: write to ack NMI */
-ADDRESS_MAP_START(dbz_state::dbz_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xd000, 0xd002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
- AM_RANGE(0xe000, 0xe001) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dbz_state::dbz_sound_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_WRITENOP
-ADDRESS_MAP_END
+void dbz_state::dbz_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0xbfff).ram();
+ map(0xc000, 0xc001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
+ map(0xd000, 0xd002).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
+ map(0xe000, 0xe001).r(m_soundlatch, FUNC(generic_latch_8_device::read));
+}
+
+void dbz_state::dbz_sound_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).nopw();
+}
/**********************************************************************************/