summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-04-19 07:54:16 +0200
committer Olivier Galibert <galibert@pobox.com>2018-04-19 23:04:30 +0200
commitc8c43bfb5346d4de440f63e97487324d61235953 (patch)
treef7cb8dfb0c7b02633becf58176891d2f5f7b8c43
parentc93c284e5170ca032de2eed2fa1733bf71efe8dd (diff)
maps: Finish mame/video (nw)
-rw-r--r--src/mame/video/abc1600.cpp94
-rw-r--r--src/mame/video/c45.cpp11
-rw-r--r--src/mame/video/gamate.cpp28
-rw-r--r--src/mame/video/gp9001.cpp13
-rw-r--r--src/mame/video/igs017_igs031.cpp23
-rw-r--r--src/mame/video/kaneko_grap2.cpp33
-rw-r--r--src/mame/video/nick.cpp27
-rw-r--r--src/mame/video/pc8401a.cpp9
-rw-r--r--src/mame/video/pc_t1t.cpp9
-rw-r--r--src/mame/video/pcd.cpp20
-rw-r--r--src/mame/video/powervr2.cpp124
-rw-r--r--src/mame/video/seibu_crtc.cpp17
-rw-r--r--src/mame/video/wpc_dmd.cpp21
-rw-r--r--src/mame/video/ygv608.cpp76
-rw-r--r--src/mame/video/zx8301.cpp7
15 files changed, 269 insertions, 243 deletions
diff --git a/src/mame/video/abc1600.cpp b/src/mame/video/abc1600.cpp
index 744e61bac9a..8eace59747b 100644
--- a/src/mame/video/abc1600.cpp
+++ b/src/mame/video/abc1600.cpp
@@ -47,50 +47,56 @@
DEFINE_DEVICE_TYPE(ABC1600_MOVER, abc1600_mover_device, "abc1600mover", "ABC 1600 Mover")
-ADDRESS_MAP_START(abc1600_mover_device::vram_map)
- AM_RANGE(0x00000, 0x7ffff) AM_READWRITE(video_ram_r, video_ram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(abc1600_mover_device::crtc_map)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xfe) AM_DEVREADWRITE(SY6845E_TAG, mc6845_device, status_r, address_w)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0xfe) AM_DEVREADWRITE(SY6845E_TAG, mc6845_device, register_r, register_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(abc1600_mover_device::iowr0_map)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READ(iord0_r)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xf8) AM_WRITE(ldsx_hb_w)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0xf8) AM_WRITE(ldsx_lb_w)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0xf8) AM_WRITE(ldsy_hb_w)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0xf8) AM_WRITE(ldsy_lb_w)
- AM_RANGE(0x04, 0x04) AM_MIRROR(0xf8) AM_WRITE(ldtx_hb_w)
- AM_RANGE(0x05, 0x05) AM_MIRROR(0xf8) AM_WRITE(ldtx_lb_w)
- AM_RANGE(0x06, 0x06) AM_MIRROR(0xf8) AM_WRITE(ldty_hb_w)
- AM_RANGE(0x07, 0x07) AM_MIRROR(0xf8) AM_WRITE(ldty_lb_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(abc1600_mover_device::iowr1_map)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READNOP
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xf8) AM_WRITE(ldfx_hb_w)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0xf8) AM_WRITE(ldfx_lb_w)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0xf8) AM_WRITE(ldfy_hb_w)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0xf8) AM_WRITE(ldfy_lb_w)
- AM_RANGE(0x05, 0x05) AM_MIRROR(0xf8) AM_WRITE(wrml_w)
- AM_RANGE(0x07, 0x07) AM_MIRROR(0xf8) AM_WRITE(wrdl_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(abc1600_mover_device::iowr2_map)
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READNOP
- AM_RANGE(0x00, 0x00) AM_MIRROR(0xf8) AM_WRITE(wrmask_strobe_hb_w)
- AM_RANGE(0x01, 0x01) AM_MIRROR(0xf8) AM_WRITE(wrmask_strobe_lb_w)
- AM_RANGE(0x02, 0x02) AM_MIRROR(0xf8) AM_WRITE(enable_clocks_w)
- AM_RANGE(0x03, 0x03) AM_MIRROR(0xf8) AM_WRITE(flag_strobe_w)
- AM_RANGE(0x04, 0x04) AM_MIRROR(0xf8) AM_WRITE(endisp_w)
-ADDRESS_MAP_END
-
-
-ADDRESS_MAP_START(abc1600_mover_device::mover_map)
- AM_RANGE(0x00000, 0x3ffff) AM_RAM
-ADDRESS_MAP_END
+void abc1600_mover_device::vram_map(address_map &map)
+{
+ map(0x00000, 0x7ffff).rw(this, FUNC(abc1600_mover_device::video_ram_r), FUNC(abc1600_mover_device::video_ram_w));
+}
+
+void abc1600_mover_device::crtc_map(address_map &map)
+{
+ map(0x00, 0x00).mirror(0xfe).rw(SY6845E_TAG, FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
+ map(0x01, 0x01).mirror(0xfe).rw(SY6845E_TAG, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
+}
+
+void abc1600_mover_device::iowr0_map(address_map &map)
+{
+ map(0x00, 0x00).mirror(0xff).r(this, FUNC(abc1600_mover_device::iord0_r));
+ map(0x00, 0x00).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldsx_hb_w));
+ map(0x01, 0x01).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldsx_lb_w));
+ map(0x02, 0x02).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldsy_hb_w));
+ map(0x03, 0x03).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldsy_lb_w));
+ map(0x04, 0x04).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldtx_hb_w));
+ map(0x05, 0x05).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldtx_lb_w));
+ map(0x06, 0x06).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldty_hb_w));
+ map(0x07, 0x07).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldty_lb_w));
+}
+
+void abc1600_mover_device::iowr1_map(address_map &map)
+{
+ map(0x00, 0x00).mirror(0xff).nopr();
+ map(0x00, 0x00).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldfx_hb_w));
+ map(0x01, 0x01).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldfx_lb_w));
+ map(0x02, 0x02).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldfy_hb_w));
+ map(0x03, 0x03).mirror(0xf8).w(this, FUNC(abc1600_mover_device::ldfy_lb_w));
+ map(0x05, 0x05).mirror(0xf8).w(this, FUNC(abc1600_mover_device::wrml_w));
+ map(0x07, 0x07).mirror(0xf8).w(this, FUNC(abc1600_mover_device::wrdl_w));
+}
+
+void abc1600_mover_device::iowr2_map(address_map &map)
+{
+ map(0x00, 0x00).mirror(0xff).nopr();
+ map(0x00, 0x00).mirror(0xf8).w(this, FUNC(abc1600_mover_device::wrmask_strobe_hb_w));
+ map(0x01, 0x01).mirror(0xf8).w(this, FUNC(abc1600_mover_device::wrmask_strobe_lb_w));
+ map(0x02, 0x02).mirror(0xf8).w(this, FUNC(abc1600_mover_device::enable_clocks_w));
+ map(0x03, 0x03).mirror(0xf8).w(this, FUNC(abc1600_mover_device::flag_strobe_w));
+ map(0x04, 0x04).mirror(0xf8).w(this, FUNC(abc1600_mover_device::endisp_w));
+}
+
+
+void abc1600_mover_device::mover_map(address_map &map)
+{
+ map(0x00000, 0x3ffff).ram();
+}
//-------------------------------------------------
diff --git a/src/mame/video/c45.cpp b/src/mame/video/c45.cpp
index 215ce7b92a9..eb77aaa8215 100644
--- a/src/mame/video/c45.cpp
+++ b/src/mame/video/c45.cpp
@@ -65,11 +65,12 @@ GFXDECODE_MEMBER( namco_c45_road_device::gfxinfo )
GFXDECODE_END
-ADDRESS_MAP_START(namco_c45_road_device::map)
- AM_RANGE(0x00000, 0x0ffff) AM_RAM_WRITE(tilemap_w) AM_SHARE("tmapram")
- AM_RANGE(0x10000, 0x1f9ff) AM_RAM_WRITE(tileram_w) AM_SHARE("tileram")
- AM_RANGE(0x1fa00, 0x1ffff) AM_RAM AM_SHARE("lineram")
-ADDRESS_MAP_END
+void namco_c45_road_device::map(address_map &map)
+{
+ map(0x00000, 0x0ffff).ram().w(this, FUNC(namco_c45_road_device::tilemap_w)).share("tmapram");
+ map(0x10000, 0x1f9ff).ram().w(this, FUNC(namco_c45_road_device::tileram_w)).share("tileram");
+ map(0x1fa00, 0x1ffff).ram().share("lineram");
+}
//-------------------------------------------------
diff --git a/src/mame/video/gamate.cpp b/src/mame/video/gamate.cpp
index df216499478..05e861acaae 100644
--- a/src/mame/video/gamate.cpp
+++ b/src/mame/video/gamate.cpp
@@ -31,19 +31,21 @@
DEFINE_DEVICE_TYPE(GAMATE_VIDEO, gamate_video_device, "gamate_vid", "Gamate Video Hardware")
-ADDRESS_MAP_START(gamate_video_device::regs_map)
- AM_RANGE(0x01,0x01) AM_WRITE(lcdcon_w)
- AM_RANGE(0x02,0x02) AM_WRITE(xscroll_w)
- AM_RANGE(0x03,0x03) AM_WRITE(yscroll_w)
- AM_RANGE(0x04,0x04) AM_WRITE(xpos_w)
- AM_RANGE(0x05,0x05) AM_WRITE(ypos_w)
- AM_RANGE(0x06,0x06) AM_READ(vram_r)
- AM_RANGE(0x07,0x07) AM_WRITE(vram_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(gamate_video_device::vram_map)
- AM_RANGE(0x0000, 0x3fff) AM_RAM AM_SHARE("vram") // 2x 8KB SRAMs
-ADDRESS_MAP_END
+void gamate_video_device::regs_map(address_map &map)
+{
+ map(0x01, 0x01).w(this, FUNC(gamate_video_device::lcdcon_w));
+ map(0x02, 0x02).w(this, FUNC(gamate_video_device::xscroll_w));
+ map(0x03, 0x03).w(this, FUNC(gamate_video_device::yscroll_w));
+ map(0x04, 0x04).w(this, FUNC(gamate_video_device::xpos_w));
+ map(0x05, 0x05).w(this, FUNC(gamate_video_device::ypos_w));
+ map(0x06, 0x06).r(this, FUNC(gamate_video_device::vram_r));
+ map(0x07, 0x07).w(this, FUNC(gamate_video_device::vram_w));
+}
+
+void gamate_video_device::vram_map(address_map &map)
+{
+ map(0x0000, 0x3fff).ram().share("vram"); // 2x 8KB SRAMs
+}
gamate_video_device::gamate_video_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, GAMATE_VIDEO, tag, owner, clock),
diff --git a/src/mame/video/gp9001.cpp b/src/mame/video/gp9001.cpp
index b4e576a015c..4e876c6c67f 100644
--- a/src/mame/video/gp9001.cpp
+++ b/src/mame/video/gp9001.cpp
@@ -173,13 +173,14 @@ WRITE16_MEMBER(gp9001vdp_device::top_tmap_w)
}
-ADDRESS_MAP_START(gp9001vdp_device::map)
- AM_RANGE(0x0000, 0x0fff) AM_RAM_WRITE(bg_tmap_w) AM_SHARE("vram_bg")
- AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(fg_tmap_w) AM_SHARE("vram_fg")
- AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(top_tmap_w) AM_SHARE("vram_top")
- AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("spriteram") AM_MIRROR(0x0800)
+void gp9001vdp_device::map(address_map &map)
+{
+ map(0x0000, 0x0fff).ram().w(this, FUNC(gp9001vdp_device::bg_tmap_w)).share("vram_bg");
+ map(0x1000, 0x1fff).ram().w(this, FUNC(gp9001vdp_device::fg_tmap_w)).share("vram_fg");
+ map(0x2000, 0x2fff).ram().w(this, FUNC(gp9001vdp_device::top_tmap_w)).share("vram_top");
+ map(0x3000, 0x37ff).ram().share("spriteram").mirror(0x0800);
// AM_RANGE(0x3800, 0x3fff) AM_RAM // sprite mirror?
-ADDRESS_MAP_END
+}
const gfx_layout gp9001vdp_device::tilelayout =
diff --git a/src/mame/video/igs017_igs031.cpp b/src/mame/video/igs017_igs031.cpp
index 9af3e93b9c2..ce3be5514aa 100644
--- a/src/mame/video/igs017_igs031.cpp
+++ b/src/mame/video/igs017_igs031.cpp
@@ -28,22 +28,23 @@ all the known IGS017 / IGS031 games use the following memory map, is the IGS017
-ADDRESS_MAP_START(igs017_igs031_device::map)
- AM_RANGE( 0x1000, 0x17ff ) AM_RAM AM_SHARE("spriteram")
+void igs017_igs031_device::map(address_map &map)
+{
+ map(0x1000, 0x17ff).ram().share("spriteram");
// AM_RANGE( 0x1800, 0x1bff ) AM_RAM //_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE( 0x1800, 0x1bff ) AM_RAM_WRITE(palram_w) AM_SHARE("palram")
- AM_RANGE( 0x1c00, 0x1fff ) AM_RAM
+ map(0x1800, 0x1bff).ram().w(this, FUNC(igs017_igs031_device::palram_w)).share("palram");
+ map(0x1c00, 0x1fff).ram();
- AM_RANGE( 0x2010, 0x2013 ) AM_READ(i8255_r)
- AM_RANGE( 0x2012, 0x2012 ) AM_WRITE(video_disable_w )
+ map(0x2010, 0x2013).r(this, FUNC(igs017_igs031_device::i8255_r));
+ map(0x2012, 0x2012).w(this, FUNC(igs017_igs031_device::video_disable_w));
- AM_RANGE( 0x2014, 0x2014 ) AM_WRITE(nmi_enable_w )
- AM_RANGE( 0x2015, 0x2015 ) AM_WRITE(irq_enable_w )
+ map(0x2014, 0x2014).w(this, FUNC(igs017_igs031_device::nmi_enable_w));
+ map(0x2015, 0x2015).w(this, FUNC(igs017_igs031_device::irq_enable_w));
- AM_RANGE( 0x4000, 0x5fff ) AM_RAM_WRITE(fg_w ) AM_SHARE("fg_videoram")
- AM_RANGE( 0x6000, 0x7fff ) AM_RAM_WRITE(bg_w ) AM_SHARE("bg_videoram")
+ map(0x4000, 0x5fff).ram().w(this, FUNC(igs017_igs031_device::fg_w)).share("fg_videoram");
+ map(0x6000, 0x7fff).ram().w(this, FUNC(igs017_igs031_device::bg_w)).share("bg_videoram");
-ADDRESS_MAP_END
+}
READ8_MEMBER(igs017_igs031_device::i8255_r)
{
diff --git a/src/mame/video/kaneko_grap2.cpp b/src/mame/video/kaneko_grap2.cpp
index 5ec64cb0008..d78383e0e8d 100644
--- a/src/mame/video/kaneko_grap2.cpp
+++ b/src/mame/video/kaneko_grap2.cpp
@@ -14,22 +14,23 @@
#include "emu.h"
#include "kaneko_grap2.h"
-ADDRESS_MAP_START(kaneko_grap2_device::grap2_map)
- AM_RANGE(0x000000, 0x0003ff) AM_READWRITE(unk1_r, unk1_w)
- AM_RANGE(0x000400, 0x000401) AM_WRITE(framebuffer1_scrollx_w)
- AM_RANGE(0x000800, 0x000bff) AM_READWRITE(unk2_r, unk2_w)
- AM_RANGE(0x000c00, 0x000c01) AM_WRITE(framebuffer1_scrolly_w)
- AM_RANGE(0x000c02, 0x000c03) AM_WRITE(framebuffer1_enable_w)
- AM_RANGE(0x000c06, 0x000c07) AM_WRITE(framebuffer1_bgcol_w)
- AM_RANGE(0x000c10, 0x000c11) AM_READWRITE(framebuffer1_fbbright1_r, framebuffer1_fbbright1_w )
- AM_RANGE(0x000c12, 0x000c13) AM_READWRITE(framebuffer1_fbbright2_r, framebuffer1_fbbright2_w )
- AM_RANGE(0x000c18, 0x000c1b) AM_WRITE(regs1_address_w)
- AM_RANGE(0x000c1c, 0x000c1d) AM_WRITE(regs2_w)
- AM_RANGE(0x000c1e, 0x000c1f) AM_WRITE(regs1_go_w)
- AM_RANGE(0x000c00, 0x000c1f) AM_READ(regs1_r)
- AM_RANGE(0x080000, 0x0801ff) AM_READWRITE( pal_r, framebuffer1_palette_w )
- AM_RANGE(0x100000, 0x17ffff) AM_READWRITE( framebuffer_r, framebuffer_w )
-ADDRESS_MAP_END
+void kaneko_grap2_device::grap2_map(address_map &map)
+{
+ map(0x000000, 0x0003ff).rw(this, FUNC(kaneko_grap2_device::unk1_r), FUNC(kaneko_grap2_device::unk1_w));
+ map(0x000400, 0x000401).w(this, FUNC(kaneko_grap2_device::framebuffer1_scrollx_w));
+ map(0x000800, 0x000bff).rw(this, FUNC(kaneko_grap2_device::unk2_r), FUNC(kaneko_grap2_device::unk2_w));
+ map(0x000c00, 0x000c01).w(this, FUNC(kaneko_grap2_device::framebuffer1_scrolly_w));
+ map(0x000c02, 0x000c03).w(this, FUNC(kaneko_grap2_device::framebuffer1_enable_w));
+ map(0x000c06, 0x000c07).w(this, FUNC(kaneko_grap2_device::framebuffer1_bgcol_w));
+ map(0x000c10, 0x000c11).rw(this, FUNC(kaneko_grap2_device::framebuffer1_fbbright1_r), FUNC(kaneko_grap2_device::framebuffer1_fbbright1_w));
+ map(0x000c12, 0x000c13).rw(this, FUNC(kaneko_grap2_device::framebuffer1_fbbright2_r), FUNC(kaneko_grap2_device::framebuffer1_fbbright2_w));
+ map(0x000c18, 0x000c1b).w(this, FUNC(kaneko_grap2_device::regs1_address_w));
+ map(0x000c1c, 0x000c1d).w(this, FUNC(kaneko_grap2_device::regs2_w));
+ map(0x000c1e, 0x000c1f).w(this, FUNC(kaneko_grap2_device::regs1_go_w));
+ map(0x000c00, 0x000c1f).r(this, FUNC(kaneko_grap2_device::regs1_r));
+ map(0x080000, 0x0801ff).rw(this, FUNC(kaneko_grap2_device::pal_r), FUNC(kaneko_grap2_device::framebuffer1_palette_w));
+ map(0x100000, 0x17ffff).rw(this, FUNC(kaneko_grap2_device::framebuffer_r), FUNC(kaneko_grap2_device::framebuffer_w));
+}
DEFINE_DEVICE_TYPE(KANEKO_GRAP2, kaneko_grap2_device, "kaneko_grap2", "Kaneko GRAP2")
diff --git a/src/mame/video/nick.cpp b/src/mame/video/nick.cpp
index 4eb50551d9a..1f9f6ca3205 100644
--- a/src/mame/video/nick.cpp
+++ b/src/mame/video/nick.cpp
@@ -76,21 +76,24 @@
DEFINE_DEVICE_TYPE(NICK, nick_device, "nick", "NICK")
-ADDRESS_MAP_START(nick_device::vram_map)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(vram_r, vram_w)
-ADDRESS_MAP_END
+void nick_device::vram_map(address_map &map)
+{
+ map(0x0000, 0xffff).rw(this, FUNC(nick_device::vram_r), FUNC(nick_device::vram_w));
+}
-ADDRESS_MAP_START(nick_device::vio_map)
- AM_RANGE(0x00, 0x00) AM_WRITE(fixbias_w)
- AM_RANGE(0x01, 0x01) AM_WRITE(border_w)
- AM_RANGE(0x02, 0x02) AM_WRITE(lpl_w)
- AM_RANGE(0x03, 0x03) AM_WRITE(lph_w)
-ADDRESS_MAP_END
+void nick_device::vio_map(address_map &map)
+{
+ map(0x00, 0x00).w(this, FUNC(nick_device::fixbias_w));
+ map(0x01, 0x01).w(this, FUNC(nick_device::border_w));
+ map(0x02, 0x02).w(this, FUNC(nick_device::lpl_w));
+ map(0x03, 0x03).w(this, FUNC(nick_device::lph_w));
+}
-ADDRESS_MAP_START(nick_device::nick_map)
- AM_RANGE(0x0000, 0xffff) AM_RAM
-ADDRESS_MAP_END
+void nick_device::nick_map(address_map &map)
+{
+ map(0x0000, 0xffff).ram();
+}
diff --git a/src/mame/video/pc8401a.cpp b/src/mame/video/pc8401a.cpp
index 13922922a7a..0fe16b3ee9f 100644
--- a/src/mame/video/pc8401a.cpp
+++ b/src/mame/video/pc8401a.cpp
@@ -49,10 +49,11 @@ void pc8401a_state::pc8401a_lcdc(address_map &map)
map(0x0000, 0x1fff).ram();
}
-ADDRESS_MAP_START(pc8401a_state::pc8500_lcdc)
- ADDRESS_MAP_GLOBAL_MASK(0x3fff)
- AM_RANGE(0x0000, 0x3fff) AM_RAM
-ADDRESS_MAP_END
+void pc8401a_state::pc8500_lcdc(address_map &map)
+{
+ map.global_mask(0x3fff);
+ map(0x0000, 0x3fff).ram();
+}
/* Machine Drivers */
diff --git a/src/mame/video/pc_t1t.cpp b/src/mame/video/pc_t1t.cpp
index f54d6ac03a3..05e9835ffc5 100644
--- a/src/mame/video/pc_t1t.cpp
+++ b/src/mame/video/pc_t1t.cpp
@@ -110,10 +110,11 @@ void pcvideo_pcjr_device::device_start()
***************************************************************************/
-ADDRESS_MAP_START(pc_t1t_device::vram_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x20000, 0x3ffff) AM_NOP
-ADDRESS_MAP_END
+void pc_t1t_device::vram_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x20000, 0x3ffff).noprw();
+}
MACHINE_CONFIG_START(pcvideo_t1000_device::device_add_mconfig)
MCFG_SCREEN_ADD(T1000_SCREEN_NAME, RASTER)
diff --git a/src/mame/video/pcd.cpp b/src/mame/video/pcd.cpp
index 8f1f9bf6817..29b24637d68 100644
--- a/src/mame/video/pcd.cpp
+++ b/src/mame/video/pcd.cpp
@@ -429,12 +429,13 @@ void pcd_video_device::device_reset()
m_t1 = CLEAR_LINE;
}
-ADDRESS_MAP_START(pcd_video_device::map)
- AM_RANGE(0x00, 0x0f) AM_DEVWRITE8("crtc", scn2674_device, write, 0x00ff)
- AM_RANGE(0x00, 0x0f) AM_DEVREAD8("crtc", scn2674_device, read, 0xff00)
- AM_RANGE(0x20, 0x21) AM_WRITE8(vram_sw_w, 0x00ff)
- AM_RANGE(0x30, 0x33) AM_DEVREADWRITE8("graphics", i8741_device, upi41_master_r, upi41_master_w, 0x00ff)
-ADDRESS_MAP_END
+void pcd_video_device::map(address_map &map)
+{
+ map(0x00, 0x0f).w("crtc", FUNC(scn2674_device::write)).umask16(0x00ff);
+ map(0x00, 0x0f).r("crtc", FUNC(scn2674_device::read)).umask16(0xff00);
+ map(0x20, 0x20).w(this, FUNC(pcd_video_device::vram_sw_w));
+ map(0x30, 0x33).rw("graphics", FUNC(i8741_device::upi41_master_r), FUNC(i8741_device::upi41_master_w)).umask16(0x00ff);
+}
void pcx_video_device::device_start()
{
@@ -457,9 +458,10 @@ void pcx_video_device::device_reset()
m_txd_handler(1);
}
-ADDRESS_MAP_START(pcx_video_device::map)
- AM_RANGE(0x0, 0xf) AM_READWRITE8(term_r, term_w, 0xffff)
-ADDRESS_MAP_END
+void pcx_video_device::map(address_map &map)
+{
+ map(0x0, 0xf).rw(this, FUNC(pcx_video_device::term_r), FUNC(pcx_video_device::term_w));
+}
READ8_MEMBER(pcx_video_device::rx_callback)
{
diff --git a/src/mame/video/powervr2.cpp b/src/mame/video/powervr2.cpp
index dc34a292c49..0ee20a83094 100644
--- a/src/mame/video/powervr2.cpp
+++ b/src/mame/video/powervr2.cpp
@@ -15,33 +15,34 @@
DEFINE_DEVICE_TYPE(POWERVR2, powervr2_device, "powervr2", "PowerVR 2")
-ADDRESS_MAP_START(powervr2_device::ta_map)
- AM_RANGE(0x0000, 0x0003) AM_READ( id_r)
- AM_RANGE(0x0004, 0x0007) AM_READ( revision_r)
- AM_RANGE(0x0008, 0x000b) AM_READWRITE(softreset_r, softreset_w)
- AM_RANGE(0x0014, 0x0017) AM_WRITE( startrender_w)
+void powervr2_device::ta_map(address_map &map)
+{
+ map(0x0000, 0x0003).r(this, FUNC(powervr2_device::id_r));
+ map(0x0004, 0x0007).r(this, FUNC(powervr2_device::revision_r));
+ map(0x0008, 0x000b).rw(this, FUNC(powervr2_device::softreset_r), FUNC(powervr2_device::softreset_w));
+ map(0x0014, 0x0017).w(this, FUNC(powervr2_device::startrender_w));
// 18 = test select
- AM_RANGE(0x0020, 0x0023) AM_READWRITE(param_base_r, param_base_w)
- AM_RANGE(0x002c, 0x002f) AM_READWRITE(region_base_r, region_base_w)
+ map(0x0020, 0x0023).rw(this, FUNC(powervr2_device::param_base_r), FUNC(powervr2_device::param_base_w));
+ map(0x002c, 0x002f).rw(this, FUNC(powervr2_device::region_base_r), FUNC(powervr2_device::region_base_w));
// 30 = span sort cfg
- AM_RANGE(0x0040, 0x0043) AM_READWRITE(vo_border_col_r, vo_border_col_w)
- AM_RANGE(0x0044, 0x0047) AM_READWRITE(fb_r_ctrl_r, fb_r_ctrl_w)
- AM_RANGE(0x0048, 0x004b) AM_READWRITE(fb_w_ctrl_r, fb_w_ctrl_w)
- AM_RANGE(0x004c, 0x004f) AM_READWRITE(fb_w_linestride_r, fb_w_linestride_w)
- AM_RANGE(0x0050, 0x0053) AM_READWRITE(fb_r_sof1_r, fb_r_sof1_w)
- AM_RANGE(0x0054, 0x0057) AM_READWRITE(fb_r_sof2_r, fb_r_sof2_w)
- AM_RANGE(0x005c, 0x005f) AM_READWRITE(fb_r_size_r, fb_r_size_w)
- AM_RANGE(0x0060, 0x0063) AM_READWRITE(fb_w_sof1_r, fb_w_sof1_w)
- AM_RANGE(0x0064, 0x0067) AM_READWRITE(fb_w_sof2_r, fb_w_sof2_w)
- AM_RANGE(0x0068, 0x006b) AM_READWRITE(fb_x_clip_r, fb_x_clip_w)
- AM_RANGE(0x006c, 0x006f) AM_READWRITE(fb_y_clip_r, fb_y_clip_w)
+ map(0x0040, 0x0043).rw(this, FUNC(powervr2_device::vo_border_col_r), FUNC(powervr2_device::vo_border_col_w));
+ map(0x0044, 0x0047).rw(this, FUNC(powervr2_device::fb_r_ctrl_r), FUNC(powervr2_device::fb_r_ctrl_w));
+ map(0x0048, 0x004b).rw(this, FUNC(powervr2_device::fb_w_ctrl_r), FUNC(powervr2_device::fb_w_ctrl_w));
+ map(0x004c, 0x004f).rw(this, FUNC(powervr2_device::fb_w_linestride_r), FUNC(powervr2_device::fb_w_linestride_w));
+ map(0x0050, 0x0053).rw(this, FUNC(powervr2_device::fb_r_sof1_r), FUNC(powervr2_device::fb_r_sof1_w));
+ map(0x0054, 0x0057).rw(this, FUNC(powervr2_device::fb_r_sof2_r), FUNC(powervr2_device::fb_r_sof2_w));
+ map(0x005c, 0x005f).rw(this, FUNC(powervr2_device::fb_r_size_r), FUNC(powervr2_device::fb_r_size_w));
+ map(0x0060, 0x0063).rw(this, FUNC(powervr2_device::fb_w_sof1_r), FUNC(powervr2_device::fb_w_sof1_w));
+ map(0x0064, 0x0067).rw(this, FUNC(powervr2_device::fb_w_sof2_r), FUNC(powervr2_device::fb_w_sof2_w));
+ map(0x0068, 0x006b).rw(this, FUNC(powervr2_device::fb_x_clip_r), FUNC(powervr2_device::fb_x_clip_w));
+ map(0x006c, 0x006f).rw(this, FUNC(powervr2_device::fb_y_clip_r), FUNC(powervr2_device::fb_y_clip_w));
// 74 = fpu_shad_scale
// 78 = fpu_cull_val
- AM_RANGE(0x007c, 0x007f) AM_READWRITE(fpu_param_cfg_r, fpu_param_cfg_w)
+ map(0x007c, 0x007f).rw(this, FUNC(powervr2_device::fpu_param_cfg_r), FUNC(powervr2_device::fpu_param_cfg_w));
// 80 = half_offset
// 84 = fpu_perp_val
// 88 = isp_backgnd_d
- AM_RANGE(0x008c, 0x008f) AM_READWRITE(isp_backgnd_t_r, isp_backgnd_t_w)
+ map(0x008c, 0x008f).rw(this, FUNC(powervr2_device::isp_backgnd_t_r), FUNC(powervr2_device::isp_backgnd_t_w));
// 98 = isp_feed_cfg
// a0 = sdram_refresh
// a4 = sdram_arb_cfg
@@ -52,53 +53,54 @@ ADDRESS_MAP_START(powervr2_device::ta_map)
// bc = fog_clamp_max
// c0 = fog_clamp_min
// c4 = spg_trigger_pos
- AM_RANGE(0x00c8, 0x00cb) AM_READWRITE(spg_hblank_int_r, spg_hblank_int_w)
- AM_RANGE(0x00cc, 0x00cf) AM_READWRITE(spg_vblank_int_r, spg_vblank_int_w)
- AM_RANGE(0x00d0, 0x00d3) AM_READWRITE(spg_control_r, spg_control_w)
- AM_RANGE(0x00d4, 0x00d7) AM_READWRITE(spg_hblank_r, spg_hblank_w)
- AM_RANGE(0x00d8, 0x00db) AM_READWRITE(spg_load_r, spg_load_w)
- AM_RANGE(0x00dc, 0x00df) AM_READWRITE(spg_vblank_r, spg_vblank_w)
- AM_RANGE(0x00e0, 0x00e3) AM_READWRITE(spg_width_r, spg_width_w)
- AM_RANGE(0x00e4, 0x00e7) AM_READWRITE(text_control_r, text_control_w)
- AM_RANGE(0x00e8, 0x00eb) AM_READWRITE(vo_control_r, vo_control_w)
- AM_RANGE(0x00ec, 0x00ef) AM_READWRITE(vo_startx_r, vo_startx_w)
- AM_RANGE(0x00f0, 0x00f3) AM_READWRITE(vo_starty_r, vo_starty_w)
+ map(0x00c8, 0x00cb).rw(this, FUNC(powervr2_device::spg_hblank_int_r), FUNC(powervr2_device::spg_hblank_int_w));
+ map(0x00cc, 0x00cf).rw(this, FUNC(powervr2_device::spg_vblank_int_r), FUNC(powervr2_device::spg_vblank_int_w));
+ map(0x00d0, 0x00d3).rw(this, FUNC(powervr2_device::spg_control_r), FUNC(powervr2_device::spg_control_w));
+ map(0x00d4, 0x00d7).rw(this, FUNC(powervr2_device::spg_hblank_r), FUNC(powervr2_device::spg_hblank_w));
+ map(0x00d8, 0x00db).rw(this, FUNC(powervr2_device::spg_load_r), FUNC(powervr2_device::spg_load_w));
+ map(0x00dc, 0x00df).rw(this, FUNC(powervr2_device::spg_vblank_r), FUNC(powervr2_device::spg_vblank_w));
+ map(0x00e0, 0x00e3).rw(this, FUNC(powervr2_device::spg_width_r), FUNC(powervr2_device::spg_width_w));
+ map(0x00e4, 0x00e7).rw(this, FUNC(powervr2_device::text_control_r), FUNC(powervr2_device::text_control_w));
+ map(0x00e8, 0x00eb).rw(this, FUNC(powervr2_device::vo_control_r), FUNC(powervr2_device::vo_control_w));
+ map(0x00ec, 0x00ef).rw(this, FUNC(powervr2_device::vo_startx_r), FUNC(powervr2_device::vo_startx_w));
+ map(0x00f0, 0x00f3).rw(this, FUNC(powervr2_device::vo_starty_r), FUNC(powervr2_device::vo_starty_w));
// f4 = scaler_ctl
- AM_RANGE(0x0108, 0x010b) AM_READWRITE(pal_ram_ctrl_r, pal_ram_ctrl_w)
- AM_RANGE(0x010c, 0x010f) AM_READ( spg_status_r)
+ map(0x0108, 0x010b).rw(this, FUNC(powervr2_device::pal_ram_ctrl_r), FUNC(powervr2_device::pal_ram_ctrl_w));
+ map(0x010c, 0x010f).r(this, FUNC(powervr2_device::spg_status_r));
// 110 = fb_burstctrl
// 118 = y_coeff
// 11c = pt_alpha_ref
- AM_RANGE(0x0124, 0x0127) AM_READWRITE(ta_ol_base_r, ta_ol_base_w)
- AM_RANGE(0x0128, 0x012b) AM_READWRITE(ta_isp_base_r, ta_isp_base_w)
- AM_RANGE(0x012c, 0x012f) AM_READWRITE(ta_ol_limit_r, ta_ol_limit_w)
- AM_RANGE(0x0130, 0x0133) AM_READWRITE(ta_isp_limit_r, ta_isp_limit_w)
- AM_RANGE(0x0134, 0x0137) AM_READ( ta_next_opb_r)
- AM_RANGE(0x0138, 0x013b) AM_READ( ta_itp_current_r)
+ map(0x0124, 0x0127).rw(this, FUNC(powervr2_device::ta_ol_base_r), FUNC(powervr2_device::ta_ol_base_w));
+ map(0x0128, 0x012b).rw(this, FUNC(powervr2_device::ta_isp_base_r), FUNC(powervr2_device::ta_isp_base_w));
+ map(0x012c, 0x012f).rw(this, FUNC(powervr2_device::ta_ol_limit_r), FUNC(powervr2_device::ta_ol_limit_w));
+ map(0x0130, 0x0133).rw(this, FUNC(powervr2_device::ta_isp_limit_r), FUNC(powervr2_device::ta_isp_limit_w));
+ map(0x0134, 0x0137).r(this, FUNC(powervr2_device::ta_next_opb_r));
+ map(0x0138, 0x013b).r(this, FUNC(powervr2_device::ta_itp_current_r));
// 13c = ta_glob_tile_clip
- AM_RANGE(0x0140, 0x0143) AM_READWRITE(ta_alloc_ctrl_r, ta_alloc_ctrl_w)
- AM_RANGE(0x0144, 0x0147) AM_READWRITE(ta_list_init_r, ta_list_init_w)
- AM_RANGE(0x0148, 0x014b) AM_READWRITE(ta_yuv_tex_base_r, ta_yuv_tex_base_w)
- AM_RANGE(0x014c, 0x014f) AM_READWRITE(ta_yuv_tex_ctrl_r, ta_yuv_tex_ctrl_w)
- AM_RANGE(0x0150, 0x0153) AM_READWRITE(ta_yuv_tex_cnt_r, ta_yuv_tex_cnt_w)
- AM_RANGE(0x0160, 0x0163) AM_WRITE( ta_list_cont_w)
- AM_RANGE(0x0164, 0x0167) AM_READWRITE(ta_next_opb_init_r, ta_next_opb_init_w)
-
- AM_RANGE(0x0200, 0x03ff) AM_READWRITE(fog_table_r, fog_table_w)
- AM_RANGE(0x1000, 0x1fff) AM_READWRITE(palette_r, palette_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(powervr2_device::pd_dma_map)
- AM_RANGE(0x00, 0x03) AM_READWRITE(sb_pdstap_r, sb_pdstap_w)
- AM_RANGE(0x04, 0x07) AM_READWRITE(sb_pdstar_r, sb_pdstar_w)
- AM_RANGE(0x08, 0x0b) AM_READWRITE(sb_pdlen_r, sb_pdlen_w)
- AM_RANGE(0x0c, 0x0f) AM_READWRITE(sb_pddir_r, sb_pddir_w)
- AM_RANGE(0x10, 0x13) AM_READWRITE(sb_pdtsel_r, sb_pdtsel_w)
- AM_RANGE(0x14, 0x17) AM_READWRITE(sb_pden_r, sb_pden_w)
- AM_RANGE(0x18, 0x1b) AM_READWRITE(sb_pdst_r, sb_pdst_w)
- AM_RANGE(0x80, 0x83) AM_READWRITE(sb_pdapro_r, sb_pdapro_w)
-ADDRESS_MAP_END
+ map(0x0140, 0x0143).rw(this, FUNC(powervr2_device::ta_alloc_ctrl_r), FUNC(powervr2_device::ta_alloc_ctrl_w));
+ map(0x0144, 0x0147).rw(this, FUNC(powervr2_device::ta_list_init_r), FUNC(powervr2_device::ta_list_init_w));
+ map(0x0148, 0x014b).rw(this, FUNC(powervr2_device::ta_yuv_tex_base_r), FUNC(powervr2_device::ta_yuv_tex_base_w));
+ map(0x014c, 0x014f).rw(this, FUNC(powervr2_device::ta_yuv_tex_ctrl_r), FUNC(powervr2_device::ta_yuv_tex_ctrl_w));
+ map(0x0150, 0x0153).rw(this, FUNC(powervr2_device::ta_yuv_tex_cnt_r), FUNC(powervr2_device::ta_yuv_tex_cnt_w));
+ map(0x0160, 0x0163).w(this, FUNC(powervr2_device::ta_list_cont_w));
+ map(0x0164, 0x0167).rw(this, FUNC(powervr2_device::ta_next_opb_init_r), FUNC(powervr2_device::ta_next_opb_init_w));
+
+ map(0x0200, 0x03ff).rw(this, FUNC(powervr2_device::fog_table_r), FUNC(powervr2_device::fog_table_w));
+ map(0x1000, 0x1fff).rw(this, FUNC(powervr2_device::palette_r), FUNC(powervr2_device::palette_w));
+}
+
+void powervr2_device::pd_dma_map(address_map &map)
+{
+ map(0x00, 0x03).rw(this, FUNC(powervr2_device::sb_pdstap_r), FUNC(powervr2_device::sb_pdstap_w));
+ map(0x04, 0x07).rw(this, FUNC(powervr2_device::sb_pdstar_r), FUNC(powervr2_device::sb_pdstar_w));
+ map(0x08, 0x0b).rw(this, FUNC(powervr2_device::sb_pdlen_r), FUNC(powervr2_device::sb_pdlen_w));
+ map(0x0c, 0x0f).rw(this, FUNC(powervr2_device::sb_pddir_r), FUNC(powervr2_device::sb_pddir_w));
+ map(0x10, 0x13).rw(this, FUNC(powervr2_device::sb_pdtsel_r), FUNC(powervr2_device::sb_pdtsel_w));
+ map(0x14, 0x17).rw(this, FUNC(powervr2_device::sb_pden_r), FUNC(powervr2_device::sb_pden_w));
+ map(0x18, 0x1b).rw(this, FUNC(powervr2_device::sb_pdst_r), FUNC(powervr2_device::sb_pdst_w));
+ map(0x80, 0x83).rw(this, FUNC(powervr2_device::sb_pdapro_r), FUNC(powervr2_device::sb_pdapro_w));
+}
const int powervr2_device::pvr_parconfseq[] = {1,2,3,2,3,4,5,6,5,6,7,8,9,10,11,12,13,14,13,14,15,16,17,16,17,0,0,0,0,0,18,19,20,19,20,21,22,23,22,23};
const int powervr2_device::pvr_wordsvertex[24] = {8,8,8,8,8,16,16,8,8,8, 8, 8,8,8,8,8,16,16, 8,16,16,8,16,16};
diff --git a/src/mame/video/seibu_crtc.cpp b/src/mame/video/seibu_crtc.cpp
index ef8781a8745..fc3999c10d9 100644
--- a/src/mame/video/seibu_crtc.cpp
+++ b/src/mame/video/seibu_crtc.cpp
@@ -215,14 +215,15 @@ List of default vregs (title screen):
// device type definition
DEFINE_DEVICE_TYPE(SEIBU_CRTC, seibu_crtc_device, "seibu_crtc", "Seibu CRT Controller")
-ADDRESS_MAP_START(seibu_crtc_device::seibu_crtc_vregs)
- AM_RANGE(0x0000, 0x004f) AM_RAM // debug
- AM_RANGE(0x0014, 0x0015) AM_WRITE(decrypt_key_w)
- AM_RANGE(0x001a, 0x001b) AM_READWRITE(reg_1a_r, reg_1a_w)
- AM_RANGE(0x001c, 0x001d) AM_WRITE(layer_en_w)
- AM_RANGE(0x0020, 0x002b) AM_WRITE(layer_scroll_w)
- AM_RANGE(0x002c, 0x003b) AM_WRITE(layer_scroll_base_w)
-ADDRESS_MAP_END
+void seibu_crtc_device::seibu_crtc_vregs(address_map &map)
+{
+ map(0x0000, 0x004f).ram(); // debug
+ map(0x0014, 0x0015).w(this, FUNC(seibu_crtc_device::decrypt_key_w));
+ map(0x001a, 0x001b).rw(this, FUNC(seibu_crtc_device::reg_1a_r), FUNC(seibu_crtc_device::reg_1a_w));
+ map(0x001c, 0x001d).w(this, FUNC(seibu_crtc_device::layer_en_w));
+ map(0x0020, 0x002b).w(this, FUNC(seibu_crtc_device::layer_scroll_w));
+ map(0x002c, 0x003b).w(this, FUNC(seibu_crtc_device::layer_scroll_base_w));
+}
WRITE16_MEMBER(seibu_crtc_device::decrypt_key_w)
{
diff --git a/src/mame/video/wpc_dmd.cpp b/src/mame/video/wpc_dmd.cpp
index cee4887a7da..8558ecc4b32 100644
--- a/src/mame/video/wpc_dmd.cpp
+++ b/src/mame/video/wpc_dmd.cpp
@@ -7,16 +7,17 @@
DEFINE_DEVICE_TYPE(WPC_DMD, wpc_dmd_device, "wpc_dmd", "Williams Pinball Controller Dot Matrix Display")
-ADDRESS_MAP_START(wpc_dmd_device::registers)
- AM_RANGE(0, 0) AM_WRITE(bank2_w)
- AM_RANGE(1, 1) AM_WRITE(bank0_w)
- AM_RANGE(2, 2) AM_WRITE(bank6_w)
- AM_RANGE(3, 3) AM_WRITE(bank4_w)
- AM_RANGE(4, 4) AM_WRITE(banka_w)
- AM_RANGE(5, 5) AM_WRITE(firq_scanline_w)
- AM_RANGE(6, 6) AM_WRITE(bank8_w)
- AM_RANGE(7, 7) AM_WRITE(visible_page_w)
-ADDRESS_MAP_END
+void wpc_dmd_device::registers(address_map &map)
+{
+ map(0, 0).w(this, FUNC(wpc_dmd_device::bank2_w));
+ map(1, 1).w(this, FUNC(wpc_dmd_device::bank0_w));
+ map(2, 2).w(this, FUNC(wpc_dmd_device::bank6_w));
+ map(3, 3).w(this, FUNC(wpc_dmd_device::bank4_w));
+ map(4, 4).w(this, FUNC(wpc_dmd_device::banka_w));
+ map(5, 5).w(this, FUNC(wpc_dmd_device::firq_scanline_w));
+ map(6, 6).w(this, FUNC(wpc_dmd_device::bank8_w));
+ map(7, 7).w(this, FUNC(wpc_dmd_device::visible_page_w));
+}
wpc_dmd_device::wpc_dmd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
diff --git a/src/mame/video/ygv608.cpp b/src/mame/video/ygv608.cpp
index 7eca917fafc..6f0a3866532 100644
--- a/src/mame/video/ygv608.cpp
+++ b/src/mame/video/ygv608.cpp
@@ -248,47 +248,48 @@ GFXDECODE_END
***************************************/
// we use decimals here to match documentation
-ADDRESS_MAP_START(ygv608_device::regs_map)
+void ygv608_device::regs_map(address_map &map)
+{
// address pointers
- AM_RANGE( 0, 0) AM_READWRITE(pattern_name_table_y_r,pattern_name_table_y_w)
- AM_RANGE( 1, 1) AM_READWRITE(pattern_name_table_x_r,pattern_name_table_x_w)
+ map(0, 0).rw(this, FUNC(ygv608_device::pattern_name_table_y_r), FUNC(ygv608_device::pattern_name_table_y_w));
+ map(1, 1).rw(this, FUNC(ygv608_device::pattern_name_table_x_r), FUNC(ygv608_device::pattern_name_table_x_w));
- AM_RANGE( 2, 2) AM_READWRITE(ram_access_ctrl_r,ram_access_ctrl_w)
+ map(2, 2).rw(this, FUNC(ygv608_device::ram_access_ctrl_r), FUNC(ygv608_device::ram_access_ctrl_w));
- AM_RANGE( 3, 3) AM_READWRITE(sprite_address_r,sprite_address_w)
- AM_RANGE( 4, 4) AM_READWRITE(scroll_address_r,scroll_address_w)
- AM_RANGE( 5, 5) AM_READWRITE(palette_address_r,palette_address_w)
- AM_RANGE( 6, 6) AM_READWRITE(sprite_bank_r,sprite_bank_w)
+ map(3, 3).rw(this, FUNC(ygv608_device::sprite_address_r), FUNC(ygv608_device::sprite_address_w));
+ map(4, 4).rw(this, FUNC(ygv608_device::scroll_address_r), FUNC(ygv608_device::scroll_address_w));
+ map(5, 5).rw(this, FUNC(ygv608_device::palette_address_r), FUNC(ygv608_device::palette_address_w));
+ map(6, 6).rw(this, FUNC(ygv608_device::sprite_bank_r), FUNC(ygv608_device::sprite_bank_w));
// screen control
- AM_RANGE( 7, 7) AM_READWRITE(screen_ctrl_7_r, screen_ctrl_7_w)
- AM_RANGE( 8, 8) AM_READWRITE(screen_ctrl_8_r, screen_ctrl_8_w)
- AM_RANGE( 9, 9) AM_READWRITE(screen_ctrl_9_r, screen_ctrl_9_w)
- AM_RANGE(10, 10) AM_READWRITE(screen_ctrl_10_r, screen_ctrl_10_w)
- AM_RANGE(11, 11) AM_READWRITE(screen_ctrl_11_r, screen_ctrl_11_w)
- AM_RANGE(12, 12) AM_READWRITE(screen_ctrl_12_r, screen_ctrl_12_w)
-
- AM_RANGE(13, 13) AM_WRITE(border_color_w)
+ map(7, 7).rw(this, FUNC(ygv608_device::screen_ctrl_7_r), FUNC(ygv608_device::screen_ctrl_7_w));
+ map(8, 8).rw(this, FUNC(ygv608_device::screen_ctrl_8_r), FUNC(ygv608_device::screen_ctrl_8_w));
+ map(9, 9).rw(this, FUNC(ygv608_device::screen_ctrl_9_r), FUNC(ygv608_device::screen_ctrl_9_w));
+ map(10, 10).rw(this, FUNC(ygv608_device::screen_ctrl_10_r), FUNC(ygv608_device::screen_ctrl_10_w));
+ map(11, 11).rw(this, FUNC(ygv608_device::screen_ctrl_11_r), FUNC(ygv608_device::screen_ctrl_11_w));
+ map(12, 12).rw(this, FUNC(ygv608_device::screen_ctrl_12_r), FUNC(ygv608_device::screen_ctrl_12_w));
+
+ map(13, 13).w(this, FUNC(ygv608_device::border_color_w));
// interrupt section
- AM_RANGE(14, 14) AM_READWRITE(irq_mask_r,irq_mask_w)
- AM_RANGE(15, 16) AM_READWRITE(irq_ctrl_r,irq_ctrl_w)
+ map(14, 14).rw(this, FUNC(ygv608_device::irq_mask_r), FUNC(ygv608_device::irq_mask_w));
+ map(15, 16).rw(this, FUNC(ygv608_device::irq_ctrl_r), FUNC(ygv608_device::irq_ctrl_w));
// base address
- AM_RANGE(17, 24) AM_WRITE(base_address_w)
+ map(17, 24).w(this, FUNC(ygv608_device::base_address_w));
// ROZ parameters
- AM_RANGE(25, 27) AM_WRITE(roz_ax_w)
- AM_RANGE(28, 29) AM_WRITE(roz_dx_w)
- AM_RANGE(30, 31) AM_WRITE(roz_dxy_w)
- AM_RANGE(32, 34) AM_WRITE(roz_ay_w)
- AM_RANGE(35, 36) AM_WRITE(roz_dy_w)
- AM_RANGE(37, 38) AM_WRITE(roz_dyx_w)
+ map(25, 27).w(this, FUNC(ygv608_device::roz_ax_w));
+ map(28, 29).w(this, FUNC(ygv608_device::roz_dx_w));
+ map(30, 31).w(this, FUNC(ygv608_device::roz_dxy_w));
+ map(32, 34).w(this, FUNC(ygv608_device::roz_ay_w));
+ map(35, 36).w(this, FUNC(ygv608_device::roz_dy_w));
+ map(37, 38).w(this, FUNC(ygv608_device::roz_dyx_w));
// CRTC
- AM_RANGE(39, 46) AM_WRITE(crtc_w)
+ map(39, 46).w(this, FUNC(ygv608_device::crtc_w));
// 47-48 ROM transfer control - DMA source address
// 49 ROM transfer control - DMA size
-ADDRESS_MAP_END
+}
/***************************************
*
@@ -296,16 +297,17 @@ ADDRESS_MAP_END
*
***************************************/
-ADDRESS_MAP_START(ygv608_device::port_map)
- AM_RANGE(0x00, 0x00) AM_READWRITE(pattern_name_table_r,pattern_name_table_w)
- AM_RANGE(0x01, 0x01) AM_READWRITE(sprite_data_r,sprite_data_w)
- AM_RANGE(0x02, 0x02) AM_READWRITE(scroll_data_r,scroll_data_w)
- AM_RANGE(0x03, 0x03) AM_READWRITE(palette_data_r,palette_data_w)
- AM_RANGE(0x04, 0x04) AM_READWRITE(register_data_r,register_data_w)
- AM_RANGE(0x05, 0x05) AM_READNOP AM_WRITE(register_select_w)
- AM_RANGE(0x06, 0x06) AM_READWRITE(status_port_r,status_port_w)
- AM_RANGE(0x07, 0x07) AM_READWRITE(system_control_r,system_control_w)
-ADDRESS_MAP_END
+void ygv608_device::port_map(address_map &map)
+{
+ map(0x00, 0x00).rw(this, FUNC(ygv608_device::pattern_name_table_r), FUNC(ygv608_device::pattern_name_table_w));
+ map(0x01, 0x01).rw(this, FUNC(ygv608_device::sprite_data_r), FUNC(ygv608_device::sprite_data_w));
+ map(0x02, 0x02).rw(this, FUNC(ygv608_device::scroll_data_r), FUNC(ygv608_device::scroll_data_w));
+ map(0x03, 0x03).rw(this, FUNC(ygv608_device::palette_data_r), FUNC(ygv608_device::palette_data_w));
+ map(0x04, 0x04).rw(this, FUNC(ygv608_device::register_data_r), FUNC(ygv608_device::register_data_w));
+ map(0x05, 0x05).nopr().w(this, FUNC(ygv608_device::register_select_w));
+ map(0x06, 0x06).rw(this, FUNC(ygv608_device::status_port_r), FUNC(ygv608_device::status_port_w));
+ map(0x07, 0x07).rw(this, FUNC(ygv608_device::system_control_r), FUNC(ygv608_device::system_control_w));
+}
//-------------------------------------------------
diff --git a/src/mame/video/zx8301.cpp b/src/mame/video/zx8301.cpp
index 74f6976553e..213327afb3a 100644
--- a/src/mame/video/zx8301.cpp
+++ b/src/mame/video/zx8301.cpp
@@ -56,9 +56,10 @@ DEFINE_DEVICE_TYPE(ZX8301, zx8301_device, "zx8301", "Sinclair ZX8301")
// default address map
-ADDRESS_MAP_START(zx8301_device::zx8301)
- AM_RANGE(0x00000, 0x1ffff) AM_RAM
-ADDRESS_MAP_END
+void zx8301_device::zx8301(address_map &map)
+{
+ map(0x00000, 0x1ffff).ram();
+}
//-------------------------------------------------