summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/volfied.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/volfied.cpp')
-rw-r--r--src/mame/drivers/volfied.cpp50
1 files changed, 26 insertions, 24 deletions
diff --git a/src/mame/drivers/volfied.cpp b/src/mame/drivers/volfied.cpp
index bc612b40c61..77b0013642f 100644
--- a/src/mame/drivers/volfied.cpp
+++ b/src/mame/drivers/volfied.cpp
@@ -66,30 +66,32 @@ Stephh's notes (based on the game M68000 code and some tests) :
MEMORY STRUCTURES
***********************************************************/
-ADDRESS_MAP_START(volfied_state::main_map)
- AM_RANGE(0x000000, 0x03ffff) AM_ROM /* program */
- AM_RANGE(0x080000, 0x0fffff) AM_ROM /* tiles */
- AM_RANGE(0x100000, 0x103fff) AM_RAM /* main */
- AM_RANGE(0x200000, 0x203fff) AM_DEVREADWRITE("pc090oj", pc090oj_device, word_r, word_w)
- AM_RANGE(0x400000, 0x47ffff) AM_READWRITE(video_ram_r, video_ram_w)
- AM_RANGE(0x500000, 0x503fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette")
- AM_RANGE(0x600000, 0x600001) AM_WRITE(video_mask_w)
- AM_RANGE(0x700000, 0x700001) AM_WRITE(sprite_ctrl_w)
- AM_RANGE(0xd00000, 0xd00001) AM_READWRITE(video_ctrl_r, video_ctrl_w)
- AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE8("ciu", pc060ha_device, master_port_w, 0x00ff)
- AM_RANGE(0xe00002, 0xe00003) AM_DEVREADWRITE8("ciu", pc060ha_device, master_comm_r, master_comm_w, 0x00ff)
- AM_RANGE(0xf00000, 0xf007ff) AM_DEVREADWRITE8("cchip", taito_cchip_device, mem68_r, mem68_w, 0x00ff)
- AM_RANGE(0xf00800, 0xf00fff) AM_DEVREADWRITE8("cchip", taito_cchip_device, asic_r, asic68_w, 0x00ff)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(volfied_state::z80_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8800) AM_DEVWRITE("ciu", pc060ha_device, slave_port_w)
- AM_RANGE(0x8801, 0x8801) AM_DEVREADWRITE("ciu", pc060ha_device, slave_comm_r, slave_comm_w)
- AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
- AM_RANGE(0x9800, 0x9800) AM_WRITENOP /* ? */
-ADDRESS_MAP_END
+void volfied_state::main_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom(); /* program */
+ map(0x080000, 0x0fffff).rom(); /* tiles */
+ map(0x100000, 0x103fff).ram(); /* main */
+ map(0x200000, 0x203fff).rw(m_pc090oj, FUNC(pc090oj_device::word_r), FUNC(pc090oj_device::word_w));
+ map(0x400000, 0x47ffff).rw(this, FUNC(volfied_state::video_ram_r), FUNC(volfied_state::video_ram_w));
+ map(0x500000, 0x503fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
+ map(0x600000, 0x600001).w(this, FUNC(volfied_state::video_mask_w));
+ map(0x700000, 0x700001).w(this, FUNC(volfied_state::sprite_ctrl_w));
+ map(0xd00000, 0xd00001).rw(this, FUNC(volfied_state::video_ctrl_r), FUNC(volfied_state::video_ctrl_w));
+ map(0xe00001, 0xe00001).w("ciu", FUNC(pc060ha_device::master_port_w));
+ map(0xe00003, 0xe00003).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w));
+ map(0xf00000, 0xf007ff).rw(m_cchip, FUNC(taito_cchip_device::mem68_r), FUNC(taito_cchip_device::mem68_w)).umask16(0x00ff);
+ map(0xf00800, 0xf00fff).rw(m_cchip, FUNC(taito_cchip_device::asic_r), FUNC(taito_cchip_device::asic68_w)).umask16(0x00ff);
+}
+
+void volfied_state::z80_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom();
+ map(0x8000, 0x87ff).ram();
+ map(0x8800, 0x8800).w("ciu", FUNC(pc060ha_device::slave_port_w));
+ map(0x8801, 0x8801).rw("ciu", FUNC(pc060ha_device::slave_comm_r), FUNC(pc060ha_device::slave_comm_w));
+ map(0x9000, 0x9001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
+ map(0x9800, 0x9800).nopw(); /* ? */
+}
/***********************************************************