summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/bishi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bishi.cpp')
-rw-r--r--src/mame/drivers/bishi.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/src/mame/drivers/bishi.cpp b/src/mame/drivers/bishi.cpp
index 08c486ac048..575345bb880 100644
--- a/src/mame/drivers/bishi.cpp
+++ b/src/mame/drivers/bishi.cpp
@@ -144,25 +144,26 @@ READ16_MEMBER(bishi_state::bishi_K056832_rom_r)
return m_k056832->bishi_rom_word_r(space, ouroffs, mem_mask);
}
-ADDRESS_MAP_START(bishi_state::main_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x400000, 0x407fff) AM_RAM // Work RAM
- AM_RANGE(0x800000, 0x800001) AM_READWRITE(control_r, control_w)
- AM_RANGE(0x800004, 0x800005) AM_READ_PORT("DSW")
- AM_RANGE(0x800006, 0x800007) AM_READ_PORT("SYSTEM")
- AM_RANGE(0x800008, 0x800009) AM_READ_PORT("INPUTS")
- AM_RANGE(0x810000, 0x810003) AM_WRITE(control2_w) // bank switch for K056832 character ROM test
- AM_RANGE(0x820000, 0x820001) AM_WRITENOP // lamps (see lamp test in service menu)
- AM_RANGE(0x830000, 0x83003f) AM_DEVWRITE("k056832", k056832_device, word_w)
- AM_RANGE(0x840000, 0x840007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS
- AM_RANGE(0x850000, 0x85001f) AM_DEVWRITE("k054338", k054338_device, word_w) // CLTC
- AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w) // PCU2
- AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00)
- AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes
- AM_RANGE(0xb00000, 0xb03fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0xb04000, 0xb047ff) AM_READ(bishi_mirror_r) // bug in the ram/rom test?
- AM_RANGE(0xc00000, 0xc01fff) AM_READ(bishi_K056832_rom_r)
-ADDRESS_MAP_END
+void bishi_state::main_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom();
+ map(0x400000, 0x407fff).ram(); // Work RAM
+ map(0x800000, 0x800001).rw(this, FUNC(bishi_state::control_r), FUNC(bishi_state::control_w));
+ map(0x800004, 0x800005).portr("DSW");
+ map(0x800006, 0x800007).portr("SYSTEM");
+ map(0x800008, 0x800009).portr("INPUTS");
+ map(0x810000, 0x810003).w(this, FUNC(bishi_state::control2_w)); // bank switch for K056832 character ROM test
+ map(0x820000, 0x820001).nopw(); // lamps (see lamp test in service menu)
+ map(0x830000, 0x83003f).w(m_k056832, FUNC(k056832_device::word_w));
+ map(0x840000, 0x840007).w(m_k056832, FUNC(k056832_device::b_word_w)); // VSCCS
+ map(0x850000, 0x85001f).w(m_k054338, FUNC(k054338_device::word_w)); // CLTC
+ map(0x870000, 0x8700ff).w(m_k055555, FUNC(k055555_device::K055555_word_w)); // PCU2
+ map(0x880000, 0x880003).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00);
+ map(0xa00000, 0xa01fff).rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); // Graphic planes
+ map(0xb00000, 0xb03fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
+ map(0xb04000, 0xb047ff).r(this, FUNC(bishi_state::bishi_mirror_r)); // bug in the ram/rom test?
+ map(0xc00000, 0xc01fff).r(this, FUNC(bishi_state::bishi_K056832_rom_r));
+}
static INPUT_PORTS_START( bishi )
/* Currently, this "IN0" is not read */