summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-04-21 13:26:02 +0200
committer Olivier Galibert <galibert@pobox.com>2018-04-21 13:27:17 +0200
commitb44fe96e40b3ba347682979832d1d7b50627f668 (patch)
treed3f5b9dd6364c253fc7646ce6c1192354bed5894
parent9a35d98c6e223bfa3c2702af5b9388855eddfcd4 (diff)
maps: Finish devices/bus (nw)
That's it for ADDRESS_MAP_START. Please don't try to remove the macros yet, let's wait for a full release before that so that the forks can catch up.
-rw-r--r--src/devices/bus/amiga/zorro/buddha.cpp21
-rw-r--r--src/devices/bus/cbmiec/c1526.cpp7
-rw-r--r--src/devices/bus/cbmiec/c1541.cpp32
-rw-r--r--src/devices/bus/cbus/mpu_pc98.cpp7
-rw-r--r--src/devices/bus/cgenie/expansion/floppy.cpp15
-rw-r--r--src/devices/bus/dmv/k230.cpp26
-rw-r--r--src/devices/bus/einstein/pipe/silicon_disc.cpp9
-rw-r--r--src/devices/bus/einstein/pipe/tk02.cpp11
-rw-r--r--src/devices/bus/hexbus/hx5102.cpp16
-rw-r--r--src/devices/bus/ieee488/c8050.cpp46
-rw-r--r--src/devices/bus/interpro/sr/gt.cpp139
-rw-r--r--src/devices/bus/isa/eis_sad8852.cpp14
-rw-r--r--src/devices/bus/isa/ide.cpp14
-rw-r--r--src/devices/bus/isa/mcd.cpp9
-rw-r--r--src/devices/bus/isa/myb3k_fdc.cpp22
-rw-r--r--src/devices/bus/oricext/jasmin.cpp17
-rw-r--r--src/devices/bus/oricext/microdisc.cpp11
-rw-r--r--src/devices/bus/snes/sgb.cpp33
-rw-r--r--src/devices/bus/snes/upd.cpp14
-rw-r--r--src/devices/bus/vtech/memexp/floppy.cpp13
20 files changed, 253 insertions, 223 deletions
diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp
index 476d1350ae2..ed9742f0948 100644
--- a/src/devices/bus/amiga/zorro/buddha.cpp
+++ b/src/devices/bus/amiga/zorro/buddha.cpp
@@ -42,16 +42,17 @@ DEFINE_DEVICE_TYPE(BUDDHA, buddha_device, "buddha", "Buddha IDE controller")
// mmio_map - device-specific memory mapped I/O
//-------------------------------------------------
-ADDRESS_MAP_START(buddha_device::mmio_map)
- AM_RANGE(0x7fe, 0x7ff) AM_READWRITE(speed_r, speed_w)
- AM_RANGE(0x800, 0x8ff) AM_READWRITE(ide_0_cs0_r, ide_0_cs0_w)
- AM_RANGE(0x900, 0x9ff) AM_READWRITE(ide_0_cs1_r, ide_0_cs1_w)
- AM_RANGE(0xa00, 0xaff) AM_READWRITE(ide_1_cs0_r, ide_1_cs0_w)
- AM_RANGE(0xb00, 0xbff) AM_READWRITE(ide_1_cs1_r, ide_1_cs1_w)
- AM_RANGE(0xf00, 0xf3f) AM_READ(ide_0_interrupt_r)
- AM_RANGE(0xf40, 0xf7f) AM_READ(ide_1_interrupt_r)
- AM_RANGE(0xfc0, 0xfff) AM_WRITE(ide_interrupt_enable_w)
-ADDRESS_MAP_END
+void buddha_device::mmio_map(address_map &map)
+{
+ map(0x7fe, 0x7ff).rw(this, FUNC(buddha_device::speed_r), FUNC(buddha_device::speed_w));
+ map(0x800, 0x8ff).rw(this, FUNC(buddha_device::ide_0_cs0_r), FUNC(buddha_device::ide_0_cs0_w));
+ map(0x900, 0x9ff).rw(this, FUNC(buddha_device::ide_0_cs1_r), FUNC(buddha_device::ide_0_cs1_w));
+ map(0xa00, 0xaff).rw(this, FUNC(buddha_device::ide_1_cs0_r), FUNC(buddha_device::ide_1_cs0_w));
+ map(0xb00, 0xbff).rw(this, FUNC(buddha_device::ide_1_cs1_r), FUNC(buddha_device::ide_1_cs1_w));
+ map(0xf00, 0xf3f).r(this, FUNC(buddha_device::ide_0_interrupt_r));
+ map(0xf40, 0xf7f).r(this, FUNC(buddha_device::ide_1_interrupt_r));
+ map(0xfc0, 0xfff).w(this, FUNC(buddha_device::ide_interrupt_enable_w));
+}
//-------------------------------------------------
// device_add_mconfig - add device configuration
diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp
index 255642b9696..f7f6fe14121 100644
--- a/src/devices/bus/cbmiec/c1526.cpp
+++ b/src/devices/bus/cbmiec/c1526.cpp
@@ -78,9 +78,10 @@ const tiny_rom_entry *c4023_device::device_rom_region() const
// ADDRESS_MAP( c1526_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c1526_device_base::c1526_mem)
- AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(M6504_TAG, 0)
-ADDRESS_MAP_END
+void c1526_device_base::c1526_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).rom().region(M6504_TAG, 0);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp
index d4455704934..4070cecebec 100644
--- a/src/devices/bus/cbmiec/c1541.cpp
+++ b/src/devices/bus/cbmiec/c1541.cpp
@@ -513,27 +513,29 @@ void c1541_device_base::c1541_mem(address_map &map)
// ADDRESS_MAP( c1541dd_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c1541_device_base::c1541dd_mem)
- AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM
- AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
- AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
- AM_RANGE(0x8000, 0x9fff) AM_RAM
- AM_RANGE(0xa000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0x2000)
-ADDRESS_MAP_END
+void c1541_device_base::c1541dd_mem(address_map &map)
+{
+ map(0x0000, 0x07ff).mirror(0x6000).ram();
+ map(0x1800, 0x180f).mirror(0x63f0).rw(M6522_0_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
+ map(0x1c00, 0x1c0f).mirror(0x63f0).rw(M6522_1_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
+ map(0x8000, 0x9fff).ram();
+ map(0xa000, 0xffff).rom().region(M6502_TAG, 0x2000);
+}
//-------------------------------------------------
// ADDRESS_MAP( c1541pd_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c1541_device_base::c1541pd_mem)
- AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM
- AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
- AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
- AM_RANGE(0x8000, 0x9fff) AM_ROM AM_REGION(M6502_TAG, 0x4000)
- AM_RANGE(0xa000, 0xbfff) AM_RAM
- AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0x0000)
-ADDRESS_MAP_END
+void c1541_device_base::c1541pd_mem(address_map &map)
+{
+ map(0x0000, 0x07ff).mirror(0x6000).ram();
+ map(0x1800, 0x180f).mirror(0x63f0).rw(M6522_0_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
+ map(0x1c00, 0x1c0f).mirror(0x63f0).rw(M6522_1_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
+ map(0x8000, 0x9fff).rom().region(M6502_TAG, 0x4000);
+ map(0xa000, 0xbfff).ram();
+ map(0xc000, 0xffff).rom().region(M6502_TAG, 0x0000);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/cbus/mpu_pc98.cpp b/src/devices/bus/cbus/mpu_pc98.cpp
index 9b464c2a27f..83aa59e0ee5 100644
--- a/src/devices/bus/cbus/mpu_pc98.cpp
+++ b/src/devices/bus/cbus/mpu_pc98.cpp
@@ -61,9 +61,10 @@ mpu_pc98_device::mpu_pc98_device(const machine_config &mconfig, const char *tag,
{
}
-ADDRESS_MAP_START(mpu_pc98_device::map)
- AM_RANGE(0, 3) AM_DEVREADWRITE8(MPU_CORE_TAG, mpu401_device, mpu_r, mpu_w, 0xff)
-ADDRESS_MAP_END
+void mpu_pc98_device::map(address_map &map)
+{
+ map(0x0, 0x0).rw(MPU_CORE_TAG, FUNC(mpu401_device::mpu_r), FUNC(mpu401_device::mpu_w));
+}
//-------------------------------------------------
// device_start - device-specific startup
diff --git a/src/devices/bus/cgenie/expansion/floppy.cpp b/src/devices/bus/cgenie/expansion/floppy.cpp
index 8b231de57b9..8bad4c4bad6 100644
--- a/src/devices/bus/cgenie/expansion/floppy.cpp
+++ b/src/devices/bus/cgenie/expansion/floppy.cpp
@@ -30,13 +30,14 @@
DEFINE_DEVICE_TYPE(CGENIE_FDC, cgenie_fdc_device, "cgenie_fdc", "Colour Genie FDC")
-ADDRESS_MAP_START(cgenie_fdc_device::mmio)
- AM_RANGE(0xe0, 0xe3) AM_MIRROR(0x10) AM_READWRITE(irq_r, select_w)
- AM_RANGE(0xec, 0xec) AM_MIRROR(0x10) AM_DEVREAD("fd1793", fd1793_device, status_r) AM_WRITE(command_w)
- AM_RANGE(0xed, 0xed) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, track_r, track_w)
- AM_RANGE(0xee, 0xee) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, sector_r, sector_w)
- AM_RANGE(0xef, 0xef) AM_MIRROR(0x10) AM_DEVREADWRITE("fd1793", fd1793_device, data_r, data_w)
-ADDRESS_MAP_END
+void cgenie_fdc_device::mmio(address_map &map)
+{
+ map(0xe0, 0xe3).mirror(0x10).rw(this, FUNC(cgenie_fdc_device::irq_r), FUNC(cgenie_fdc_device::select_w));
+ map(0xec, 0xec).mirror(0x10).r("fd1793", FUNC(fd1793_device::status_r)).w(this, FUNC(cgenie_fdc_device::command_w));
+ map(0xed, 0xed).mirror(0x10).rw("fd1793", FUNC(fd1793_device::track_r), FUNC(fd1793_device::track_w));
+ map(0xee, 0xee).mirror(0x10).rw("fd1793", FUNC(fd1793_device::sector_r), FUNC(fd1793_device::sector_w));
+ map(0xef, 0xef).mirror(0x10).rw("fd1793", FUNC(fd1793_device::data_r), FUNC(fd1793_device::data_w));
+}
FLOPPY_FORMATS_MEMBER( cgenie_fdc_device::floppy_formats )
FLOPPY_CGENIE_FORMAT
diff --git a/src/devices/bus/dmv/k230.cpp b/src/devices/bus/dmv/k230.cpp
index cc86c45e7bf..bbf0efdb1cb 100644
--- a/src/devices/bus/dmv/k230.cpp
+++ b/src/devices/bus/dmv/k230.cpp
@@ -46,18 +46,20 @@ void dmv_k230_device::k230_io(address_map &map)
map(0x00, 0xff).rw(this, FUNC(dmv_k230_device::io_r), FUNC(dmv_k230_device::io_w));
}
-ADDRESS_MAP_START(dmv_k230_device::k234_mem)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE( 0x00000, 0x7ffff ) AM_READWRITE(program_r, program_w)
- AM_RANGE( 0xfff00, 0xfffff ) AM_READWRITE(io_r, io_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(dmv_k230_device::k235_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE( 0x00, 0xff ) AM_READWRITE(io_r, io_w)
- AM_RANGE( 0x90, 0x91 ) AM_DEVREADWRITE("pic8259", pic8259_device, read, write)
-ADDRESS_MAP_END
+void dmv_k230_device::k234_mem(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x00000, 0x7ffff).rw(this, FUNC(dmv_k230_device::program_r), FUNC(dmv_k230_device::program_w));
+ map(0xfff00, 0xfffff).rw(this, FUNC(dmv_k230_device::io_r), FUNC(dmv_k230_device::io_w));
+}
+
+void dmv_k230_device::k235_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0x00, 0xff).rw(this, FUNC(dmv_k230_device::io_r), FUNC(dmv_k230_device::io_w));
+ map(0x90, 0x91).rw("pic8259", FUNC(pic8259_device::read), FUNC(pic8259_device::write));
+}
static INPUT_PORTS_START( dmv_k235 )
PORT_START("DSW")
diff --git a/src/devices/bus/einstein/pipe/silicon_disc.cpp b/src/devices/bus/einstein/pipe/silicon_disc.cpp
index be1df8c8d82..a6c94e07c73 100644
--- a/src/devices/bus/einstein/pipe/silicon_disc.cpp
+++ b/src/devices/bus/einstein/pipe/silicon_disc.cpp
@@ -20,10 +20,11 @@ DEFINE_DEVICE_TYPE(EINSTEIN_SILICON_DISC, einstein_silicon_disc_device, "einstei
// device_address_map
//-------------------------------------------------
-ADDRESS_MAP_START(einstein_silicon_disc_device::map)
- AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_WRITE(sector_low_w)
- AM_RANGE(0x09, 0x09) AM_MIRROR(0xff00) AM_WRITE(sector_high_w)
-ADDRESS_MAP_END
+void einstein_silicon_disc_device::map(address_map &map)
+{
+ map(0x08, 0x08).mirror(0xff00).w(this, FUNC(einstein_silicon_disc_device::sector_low_w));
+ map(0x09, 0x09).mirror(0xff00).w(this, FUNC(einstein_silicon_disc_device::sector_high_w));
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/einstein/pipe/tk02.cpp b/src/devices/bus/einstein/pipe/tk02.cpp
index 87ba5aacf8c..d71c608905a 100644
--- a/src/devices/bus/einstein/pipe/tk02.cpp
+++ b/src/devices/bus/einstein/pipe/tk02.cpp
@@ -21,12 +21,13 @@ DEFINE_DEVICE_TYPE(TK02_80COL, tk02_device, "tk02", "TK02 80 Column Monochrome U
// device_address_map
//-------------------------------------------------
-ADDRESS_MAP_START(tk02_device::map)
+void tk02_device::map(address_map &map)
+{
// AM_RANGE(0x00, 0x07) AM_SELECT(0xff00) AM_READWRITE(ram_r, ram_w) // no AM_SELECT (or AM_MASK) support here
- AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x09, 0x09) AM_MIRROR(0xff00) AM_DEVWRITE("crtc", mc6845_device, register_w)
- AM_RANGE(0x0c, 0x0c) AM_MIRROR(0xff00) AM_READ(status_r)
-ADDRESS_MAP_END
+ map(0x08, 0x08).mirror(0xff00).w("crtc", FUNC(mc6845_device::address_w));
+ map(0x09, 0x09).mirror(0xff00).w("crtc", FUNC(mc6845_device::register_w));
+ map(0x0c, 0x0c).mirror(0xff00).r(this, FUNC(tk02_device::status_r));
+}
//-------------------------------------------------
// rom_region - device-specific ROM region
diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp
index c806b2a2afb..2d92b86c874 100644
--- a/src/devices/bus/hexbus/hx5102.cpp
+++ b/src/devices/bus/hexbus/hx5102.cpp
@@ -110,17 +110,19 @@ DEFINE_DEVICE_TYPE_NS(HX5102, bus::hexbus, hx5102_device, "ti_hx5102", "TI Hexbu
namespace bus { namespace hexbus {
-ADDRESS_MAP_START(hx5102_device::memmap)
- AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write)
-ADDRESS_MAP_END
+void hx5102_device::memmap(address_map &map)
+{
+ map(0x0000, 0xffff).rw(this, FUNC(hx5102_device::read), FUNC(hx5102_device::write));
+}
/*
CRU access to CRU addresses 1700 - 17FE)
*/
-ADDRESS_MAP_START(hx5102_device::crumap)
- AM_RANGE(0x17e0>>4,0x17fe>>4) AM_READ(cruread)
- AM_RANGE(0x17e0>>1,0x17fe>>1) AM_WRITE(cruwrite)
-ADDRESS_MAP_END
+void hx5102_device::crumap(address_map &map)
+{
+ map(0x17e0>>4, 0x17fe>>4).r(this, FUNC(hx5102_device::cruread));
+ map(0x17e0>>1, 0x17fe>>1).w(this, FUNC(hx5102_device::cruwrite));
+}
hx5102_device::hx5102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock):
hexbus_chained_device(mconfig, HX5102, tag, owner, clock),
diff --git a/src/devices/bus/ieee488/c8050.cpp b/src/devices/bus/ieee488/c8050.cpp
index c1dffe45afb..cb18f562f26 100644
--- a/src/devices/bus/ieee488/c8050.cpp
+++ b/src/devices/bus/ieee488/c8050.cpp
@@ -220,34 +220,36 @@ void c8050_device::c8050_fdc_mem(address_map &map)
// ADDRESS_MAP( c8250lp_fdc_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c8050_device::c8250lp_fdc_mem)
- ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
- AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
- AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
- AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("share4")
- AM_RANGE(0x1800, 0x1fff) AM_ROM AM_REGION(M6504_TAG, 0)
-ADDRESS_MAP_END
+void c8050_device::c8250lp_fdc_mem(address_map &map)
+{
+ map.global_mask(0x1fff);
+ map(0x0000, 0x003f).mirror(0x0300).m(M6530_TAG, FUNC(mos6530_new_device::ram_map));
+ map(0x0040, 0x004f).mirror(0x0330).m(M6522_TAG, FUNC(via6522_device::map));
+ map(0x0080, 0x008f).mirror(0x0330).m(M6530_TAG, FUNC(mos6530_new_device::io_map));
+ map(0x0400, 0x07ff).ram().share("share1");
+ map(0x0800, 0x0bff).ram().share("share2");
+ map(0x0c00, 0x0fff).ram().share("share3");
+ map(0x1000, 0x13ff).ram().share("share4");
+ map(0x1800, 0x1fff).rom().region(M6504_TAG, 0);
+}
//-------------------------------------------------
// ADDRESS_MAP( sfd1001_fdc_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c8050_device::sfd1001_fdc_mem)
- ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
- AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
- AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
- AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("share4")
- AM_RANGE(0x1800, 0x1fff) AM_ROM AM_REGION(M6504_TAG, 0)
-ADDRESS_MAP_END
+void c8050_device::sfd1001_fdc_mem(address_map &map)
+{
+ map.global_mask(0x1fff);
+ map(0x0000, 0x003f).mirror(0x0300).m(M6530_TAG, FUNC(mos6530_new_device::ram_map));
+ map(0x0040, 0x004f).mirror(0x0330).m(M6522_TAG, FUNC(via6522_device::map));
+ map(0x0080, 0x008f).mirror(0x0330).m(M6530_TAG, FUNC(mos6530_new_device::io_map));
+ map(0x0400, 0x07ff).ram().share("share1");
+ map(0x0800, 0x0bff).ram().share("share2");
+ map(0x0c00, 0x0fff).ram().share("share3");
+ map(0x1000, 0x13ff).ram().share("share4");
+ map(0x1800, 0x1fff).rom().region(M6504_TAG, 0);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/interpro/sr/gt.cpp b/src/devices/bus/interpro/sr/gt.cpp
index 8c05bef63d0..d992ef54f02 100644
--- a/src/devices/bus/interpro/sr/gt.cpp
+++ b/src/devices/bus/interpro/sr/gt.cpp
@@ -69,67 +69,68 @@ DEFINE_DEVICE_TYPE(MPCB070, mpcb070_device, "mpcb070", "2400 Graphics f/1 1Mp Mo
DEFINE_DEVICE_TYPE(MPCB071, mpcb071_device, "mpcb071", "2400 Graphics f/2 1Mp Monitors (V-76)")
DEFINE_DEVICE_TYPE(MPCB081, mpcb081_device, "mpcb081", "2400 Graphics f/1 2Mp Monitor (V-60/76)")
-ADDRESS_MAP_START(gt_device_base::map)
- AM_RANGE(0x0a0, 0x0a3) AM_READWRITE8(contrast_dac_r, contrast_dac_w, 0x000000ff) // w/o?
- AM_RANGE(0x0b0, 0x0b3) AM_READWRITE(control_r, control_w)
-
- AM_RANGE(0x0c0, 0x0c3) AM_READWRITE(blit_src_address_r, blit_src_address_w) // w/o?
- AM_RANGE(0x0c4, 0x0c7) AM_READWRITE(blit_dst_address_r, blit_dst_address_w) // w/o?
- AM_RANGE(0x0c8, 0x0cb) AM_READWRITE16(blit_width_r, blit_width_w, 0x0000ffff) // w/o?
-
- AM_RANGE(0x0d0, 0x0d3) AM_WRITE(blit_control_w)
- AM_RANGE(0x0d4, 0x0d7) AM_READWRITE8(plane_enable_r, plane_enable_w, 0x000000ff)
- AM_RANGE(0x0d8, 0x0db) AM_READWRITE8(plane_data_r, plane_data_w, 0x000000ff)
-
- AM_RANGE(0x100, 0x103) AM_READWRITE16(bsga_width_r, bsga_width_w, 0x0000ffff)
- AM_RANGE(0x100, 0x103) AM_READWRITE16(bsga_tmp_r, bsga_tmp_w, 0xffff0000)
-
- AM_RANGE(0x104, 0x107) AM_WRITE16(bsga_xmin_w, 0x0000ffff)
- AM_RANGE(0x108, 0x10b) AM_WRITE16(bsga_ymin_w, 0x0000ffff)
- AM_RANGE(0x10c, 0x10f) AM_READWRITE16(bsga_xmin_r, bsga_xmin_w, 0x0000ffff)
- AM_RANGE(0x10c, 0x10f) AM_READWRITE16(bsga_ymin_r, bsga_ymin_w, 0xffff0000)
-
- AM_RANGE(0x110, 0x113) AM_READ16(bsga_acc0_r, 0x0000ffff)
- AM_RANGE(0x110, 0x113) AM_READ16(bsga_acc1_r, 0xffff0000)
-
- AM_RANGE(0x114, 0x117) AM_WRITE16(bsga_xmax_w, 0x0000ffff)
- AM_RANGE(0x118, 0x11b) AM_WRITE16(bsga_ymax_w, 0x0000ffff)
- AM_RANGE(0x11c, 0x11f) AM_READWRITE16(bsga_xmax_r, bsga_xmax_w, 0x0000ffff)
- AM_RANGE(0x11c, 0x11f) AM_READWRITE16(bsga_ymax_r, bsga_ymax_w, 0xffff0000)
-
- AM_RANGE(0x120, 0x123) AM_READ16(bsga_src0_r, 0x0000ffff)
- AM_RANGE(0x120, 0x123) AM_READ16(bsga_src1_r, 0xffff0000)
-
- AM_RANGE(0x124, 0x127) AM_WRITE16(bsga_xin1_w, 0x0000ffff)
- AM_RANGE(0x128, 0x12b) AM_WRITE16(bsga_yin1_w, 0x0000ffff)
- AM_RANGE(0x12c, 0x12f) AM_READ16(bsga_xin_r, 0x0000ffff)
- AM_RANGE(0x12c, 0x12f) AM_READ16(bsga_yin_r, 0xffff0000)
- AM_RANGE(0x12c, 0x12f) AM_WRITE(bsga_xin1yin1_w)
- AM_RANGE(0x130, 0x133) AM_READ16(bsga_status_r, 0x0000ffff)
- AM_RANGE(0x134, 0x137) AM_WRITE16(bsga_xin2_w, 0x0000ffff)
- AM_RANGE(0x138, 0x13b) AM_WRITE16(bsga_yin2_w, 0x0000ffff)
- AM_RANGE(0x13c, 0x13f) AM_WRITE(bsga_xin2yin2_w)
+void gt_device_base::map(address_map &map)
+{
+ map(0x0a0, 0x0a0).rw(this, FUNC(gt_device_base::contrast_dac_r), FUNC(gt_device_base::contrast_dac_w)); // w/o?
+ map(0x0b0, 0x0b3).rw(this, FUNC(gt_device_base::control_r), FUNC(gt_device_base::control_w));
+
+ map(0x0c0, 0x0c3).rw(this, FUNC(gt_device_base::blit_src_address_r), FUNC(gt_device_base::blit_src_address_w)); // w/o?
+ map(0x0c4, 0x0c7).rw(this, FUNC(gt_device_base::blit_dst_address_r), FUNC(gt_device_base::blit_dst_address_w)); // w/o?
+ map(0x0c8, 0x0c9).rw(this, FUNC(gt_device_base::blit_width_r), FUNC(gt_device_base::blit_width_w)); // w/o?
+
+ map(0x0d0, 0x0d3).w(this, FUNC(gt_device_base::blit_control_w));
+ map(0x0d4, 0x0d4).rw(this, FUNC(gt_device_base::plane_enable_r), FUNC(gt_device_base::plane_enable_w));
+ map(0x0d8, 0x0d8).rw(this, FUNC(gt_device_base::plane_data_r), FUNC(gt_device_base::plane_data_w));
+
+ map(0x100, 0x101).rw(this, FUNC(gt_device_base::bsga_width_r), FUNC(gt_device_base::bsga_width_w));
+ map(0x102, 0x103).rw(this, FUNC(gt_device_base::bsga_tmp_r), FUNC(gt_device_base::bsga_tmp_w));
+
+ map(0x104, 0x105).w(this, FUNC(gt_device_base::bsga_xmin_w));
+ map(0x108, 0x109).w(this, FUNC(gt_device_base::bsga_ymin_w));
+ map(0x10c, 0x10d).rw(this, FUNC(gt_device_base::bsga_xmin_r), FUNC(gt_device_base::bsga_xmin_w));
+ map(0x10e, 0x10f).rw(this, FUNC(gt_device_base::bsga_ymin_r), FUNC(gt_device_base::bsga_ymin_w));
+
+ map(0x110, 0x111).r(this, FUNC(gt_device_base::bsga_acc0_r));
+ map(0x112, 0x113).r(this, FUNC(gt_device_base::bsga_acc1_r));
+
+ map(0x114, 0x115).w(this, FUNC(gt_device_base::bsga_xmax_w));
+ map(0x118, 0x119).w(this, FUNC(gt_device_base::bsga_ymax_w));
+ map(0x11c, 0x11d).rw(this, FUNC(gt_device_base::bsga_xmax_r), FUNC(gt_device_base::bsga_xmax_w));
+ map(0x11e, 0x11f).rw(this, FUNC(gt_device_base::bsga_ymax_r), FUNC(gt_device_base::bsga_ymax_w));
+
+ map(0x120, 0x121).r(this, FUNC(gt_device_base::bsga_src0_r));
+ map(0x122, 0x123).r(this, FUNC(gt_device_base::bsga_src1_r));
+
+ map(0x124, 0x125).w(this, FUNC(gt_device_base::bsga_xin1_w));
+ map(0x128, 0x129).w(this, FUNC(gt_device_base::bsga_yin1_w));
+ map(0x12c, 0x12d).r(this, FUNC(gt_device_base::bsga_xin_r));
+ map(0x12e, 0x12f).r(this, FUNC(gt_device_base::bsga_yin_r));
+ map(0x12c, 0x12f).w(this, FUNC(gt_device_base::bsga_xin1yin1_w));
+ map(0x130, 0x131).r(this, FUNC(gt_device_base::bsga_status_r));
+ map(0x134, 0x135).w(this, FUNC(gt_device_base::bsga_xin2_w));
+ map(0x138, 0x139).w(this, FUNC(gt_device_base::bsga_yin2_w));
+ map(0x13c, 0x13f).w(this, FUNC(gt_device_base::bsga_xin2yin2_w));
// FDMDISK says all the ri registers are write only?
// possibly also all 24 bit
- AM_RANGE(0x140, 0x143) AM_READWRITE(ri_initial_distance_r, ri_initial_distance_w)
- AM_RANGE(0x144, 0x147) AM_READWRITE(ri_distance_both_r, ri_distance_both_w)
- AM_RANGE(0x148, 0x14b) AM_READWRITE(ri_distance_major_r, ri_distance_major_w)
- AM_RANGE(0x14c, 0x14f) AM_READWRITE(ri_initial_address_r, ri_initial_address_w)
- AM_RANGE(0x150, 0x153) AM_READWRITE(ri_address_both_r, ri_address_both_w)
- AM_RANGE(0x154, 0x157) AM_READWRITE(ri_address_major_r, ri_address_major_w)
- AM_RANGE(0x158, 0x15b) AM_READWRITE(ri_initial_error_r, ri_initial_error_w)
- AM_RANGE(0x15c, 0x15f) AM_READWRITE(ri_error_both_r, ri_error_both_w)
- AM_RANGE(0x160, 0x163) AM_READWRITE(ri_error_major_r, ri_error_major_w)
- AM_RANGE(0x164, 0x167) AM_READWRITE(ri_stop_count_r, ri_stop_count_w) // 16 bit?
-
- AM_RANGE(0x16c, 0x16f) AM_READWRITE(ri_control_r, ri_control_w) // mask 1ff?
+ map(0x140, 0x143).rw(this, FUNC(gt_device_base::ri_initial_distance_r), FUNC(gt_device_base::ri_initial_distance_w));
+ map(0x144, 0x147).rw(this, FUNC(gt_device_base::ri_distance_both_r), FUNC(gt_device_base::ri_distance_both_w));
+ map(0x148, 0x14b).rw(this, FUNC(gt_device_base::ri_distance_major_r), FUNC(gt_device_base::ri_distance_major_w));
+ map(0x14c, 0x14f).rw(this, FUNC(gt_device_base::ri_initial_address_r), FUNC(gt_device_base::ri_initial_address_w));
+ map(0x150, 0x153).rw(this, FUNC(gt_device_base::ri_address_both_r), FUNC(gt_device_base::ri_address_both_w));
+ map(0x154, 0x157).rw(this, FUNC(gt_device_base::ri_address_major_r), FUNC(gt_device_base::ri_address_major_w));
+ map(0x158, 0x15b).rw(this, FUNC(gt_device_base::ri_initial_error_r), FUNC(gt_device_base::ri_initial_error_w));
+ map(0x15c, 0x15f).rw(this, FUNC(gt_device_base::ri_error_both_r), FUNC(gt_device_base::ri_error_both_w));
+ map(0x160, 0x163).rw(this, FUNC(gt_device_base::ri_error_major_r), FUNC(gt_device_base::ri_error_major_w));
+ map(0x164, 0x167).rw(this, FUNC(gt_device_base::ri_stop_count_r), FUNC(gt_device_base::ri_stop_count_w)); // 16 bit?
+
+ map(0x16c, 0x16f).rw(this, FUNC(gt_device_base::ri_control_r), FUNC(gt_device_base::ri_control_w)); // mask 1ff?
//AM_RANGE(0x174, 0x177) AM_READWRITE(ri_xfer_r, ri_xfer_w)
//AM_RANGE(0x178, 0x17b) AM_READWRITE(ri_xfer_r, ri_xfer_w)
- AM_RANGE(0x17c, 0x17f) AM_READWRITE(ri_xfer_r, ri_xfer_w)
+ map(0x17c, 0x17f).rw(this, FUNC(gt_device_base::ri_xfer_r), FUNC(gt_device_base::ri_xfer_w));
- AM_RANGE(0x1a4, 0x1a7) AM_WRITE(bsga_float_w)
+ map(0x1a4, 0x1a7).w(this, FUNC(gt_device_base::bsga_float_w));
//AM_RANGE(0x1c0, 0x1c3)
//AM_RANGE(0x1c4, 0x1c7)
@@ -148,26 +149,28 @@ ADDRESS_MAP_START(gt_device_base::map)
#define GT_FIFO_LW_INTR 0x40
#define GT_FIFO_HW_INTR 0x80
*/
-ADDRESS_MAP_END
+}
-ADDRESS_MAP_START(single_gt_device_base::map)
- AM_IMPORT_FROM(gt_device_base::map)
+void single_gt_device_base::map(address_map &map)
+{
+ gt_device_base::map(map);
- AM_RANGE(0x00000000, 0x0000007f) AM_READ(idprom_r)
- AM_RANGE(0x00000080, 0x0000008f) AM_DEVICE8("ramdac0", bt459_device, map, 0x000000ff)
+ map(0x00000000, 0x0000007f).r(this, FUNC(single_gt_device_base::idprom_r));
+ map(0x00000080, 0x0000008f).m("ramdac0", FUNC(bt459_device::map)).umask32(0x000000ff);
- AM_RANGE(0x00400000, 0x005fffff) AM_READWRITE(buffer_r, buffer_w)
-ADDRESS_MAP_END
+ map(0x00400000, 0x005fffff).rw(this, FUNC(single_gt_device_base::buffer_r), FUNC(single_gt_device_base::buffer_w));
+}
-ADDRESS_MAP_START(dual_gt_device_base::map)
- AM_IMPORT_FROM(gt_device_base::map)
+void dual_gt_device_base::map(address_map &map)
+{
+ gt_device_base::map(map);
- AM_RANGE(0x00000000, 0x0000007f) AM_READ(idprom_r)
- AM_RANGE(0x00000080, 0x0000008f) AM_DEVICE8("ramdac0", bt459_device, map, 0x000000ff)
- AM_RANGE(0x00000090, 0x0000009f) AM_DEVICE8("ramdac1", bt459_device, map, 0x000000ff)
+ map(0x00000000, 0x0000007f).r(this, FUNC(dual_gt_device_base::idprom_r));
+ map(0x00000080, 0x0000008f).m("ramdac0", FUNC(bt459_device::map)).umask32(0x000000ff);
+ map(0x00000090, 0x0000009f).m("ramdac1", FUNC(bt459_device::map)).umask32(0x000000ff);
- AM_RANGE(0x00400000, 0x007fffff) AM_READWRITE(buffer_r, buffer_w)
-ADDRESS_MAP_END
+ map(0x00400000, 0x007fffff).rw(this, FUNC(dual_gt_device_base::buffer_r), FUNC(dual_gt_device_base::buffer_w));
+}
ROM_START(mpcb963)
ROM_REGION(0x80, "idprom", 0)
diff --git a/src/devices/bus/isa/eis_sad8852.cpp b/src/devices/bus/isa/eis_sad8852.cpp
index 1c6a6bb4162..5730d2a2466 100644
--- a/src/devices/bus/isa/eis_sad8852.cpp
+++ b/src/devices/bus/isa/eis_sad8852.cpp
@@ -149,13 +149,15 @@ const tiny_rom_entry *isa16_sad8852_device::device_rom_region() const
//-------------------------------------------------
// ADDRESS maps
//-------------------------------------------------
-ADDRESS_MAP_START(isa16_sad8852_device::sad8852_mem)
- AM_RANGE(0x00000, 0x80000) AM_RAM
- AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION(I80188_TAG, 0)
-ADDRESS_MAP_END
+void isa16_sad8852_device::sad8852_mem(address_map &map)
+{
+ map(0x00000, 0x80000).ram();
+ map(0xfc000, 0xfffff).rom().region(I80188_TAG, 0);
+}
-ADDRESS_MAP_START(isa16_sad8852_device::sad8852_io)
-ADDRESS_MAP_END
+void isa16_sad8852_device::sad8852_io(address_map &map)
+{
+}
//----------------------------------------------------------
// UI I/O
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index 26cc44f5675..5b856f9dcec 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -24,13 +24,15 @@ WRITE8_MEMBER(isa16_ide_device::ide16_alt_w )
m_ide->write_cs1(6/2, data, 0xff);
}
-ADDRESS_MAP_START(isa16_ide_device::map)
- AM_RANGE(0x0, 0x7) AM_DEVREADWRITE("ide", ide_controller_device, read_cs0, write_cs0)
-ADDRESS_MAP_END
+void isa16_ide_device::map(address_map &map)
+{
+ map(0x0, 0x7).rw("ide", FUNC(ide_controller_device::read_cs0), FUNC(ide_controller_device::write_cs0));
+}
-ADDRESS_MAP_START(isa16_ide_device::alt_map)
- AM_RANGE(0x6, 0x6) AM_READWRITE(ide16_alt_r, ide16_alt_w)
-ADDRESS_MAP_END
+void isa16_ide_device::alt_map(address_map &map)
+{
+ map(0x6, 0x6).rw(this, FUNC(isa16_ide_device::ide16_alt_r), FUNC(isa16_ide_device::ide16_alt_w));
+}
WRITE_LINE_MEMBER(isa16_ide_device::ide_interrupt)
{
diff --git a/src/devices/bus/isa/mcd.cpp b/src/devices/bus/isa/mcd.cpp
index 67bd1dc6c1c..90560c1b450 100644
--- a/src/devices/bus/isa/mcd.cpp
+++ b/src/devices/bus/isa/mcd.cpp
@@ -5,10 +5,11 @@
#include "mcd.h"
#include "coreutil.h"
-ADDRESS_MAP_START(mcd_isa_device::map)
- AM_RANGE(0x0, 0x1) AM_READWRITE8(data_r, cmd_w, 0x00ff)
- AM_RANGE(0x0, 0x1) AM_READWRITE8(flag_r, reset_w, 0xff00)
-ADDRESS_MAP_END
+void mcd_isa_device::map(address_map &map)
+{
+ map(0x0, 0x0).rw(this, FUNC(mcd_isa_device::data_r), FUNC(mcd_isa_device::cmd_w));
+ map(0x1, 0x1).rw(this, FUNC(mcd_isa_device::flag_r), FUNC(mcd_isa_device::reset_w));
+}
static INPUT_PORTS_START( ide )
INPUT_PORTS_END
diff --git a/src/devices/bus/isa/myb3k_fdc.cpp b/src/devices/bus/isa/myb3k_fdc.cpp
index bd42b9246de..6396667ae23 100644
--- a/src/devices/bus/isa/myb3k_fdc.cpp
+++ b/src/devices/bus/isa/myb3k_fdc.cpp
@@ -51,19 +51,21 @@
DEFINE_DEVICE_TYPE(ISA8_MYB3K_FDC4710, isa8_myb3k_fdc4710_device, "isa8_myb3k_fdc4710", "FDC4710 SSDD Floppy Disk Controller")
DEFINE_DEVICE_TYPE(ISA8_MYB3K_FDC4711, isa8_myb3k_fdc4711_device, "isa8_myb3k_fdc4711", "FDC4711 DSDD Floppy Disk Controller")
-ADDRESS_MAP_START(isa8_myb3k_fdc4710_device::map)
+void isa8_myb3k_fdc4710_device::map(address_map &map)
+{
// AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("fdc", mb8876_device, read, write) AM_MIRROR(0x500)
- AM_RANGE(0x00, 0x03) AM_READ(myb3k_inv_fdc_data_r) AM_WRITE(myb3k_inv_fdc_data_w) AM_MIRROR(0x500)
- AM_RANGE(0x04, 0x04) AM_WRITE(myb3k_fdc_command) AM_MIRROR(0x500)
- AM_RANGE(0x05, 0x05) AM_READ(myb3k_fdc_status) AM_MIRROR(0x500)
-ADDRESS_MAP_END
+ map(0x00, 0x03).r(this, FUNC(isa8_myb3k_fdc4710_device::myb3k_inv_fdc_data_r)).w(this, FUNC(isa8_myb3k_fdc4710_device::myb3k_inv_fdc_data_w)).mirror(0x500);
+ map(0x04, 0x04).w(this, FUNC(isa8_myb3k_fdc4710_device::myb3k_fdc_command)).mirror(0x500);
+ map(0x05, 0x05).r(this, FUNC(isa8_myb3k_fdc4710_device::myb3k_fdc_status)).mirror(0x500);
+}
-ADDRESS_MAP_START(isa8_myb3k_fdc4711_device::map)
+void isa8_myb3k_fdc4711_device::map(address_map &map)
+{
// AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("fdc", fd1791_device, read, write) AM_MIRROR(0x500)
- AM_RANGE(0x00, 0x03) AM_READ(myb3k_inv_fdc_data_r) AM_WRITE(myb3k_inv_fdc_data_w) AM_MIRROR(0x500)
- AM_RANGE(0x04, 0x04) AM_WRITE(myb3k_fdc_command) AM_MIRROR(0x500)
- AM_RANGE(0x05, 0x05) AM_READ(myb3k_fdc_status) AM_MIRROR(0x500)
-ADDRESS_MAP_END
+ map(0x00, 0x03).r(this, FUNC(isa8_myb3k_fdc4711_device::myb3k_inv_fdc_data_r)).w(this, FUNC(isa8_myb3k_fdc4711_device::myb3k_inv_fdc_data_w)).mirror(0x500);
+ map(0x04, 0x04).w(this, FUNC(isa8_myb3k_fdc4711_device::myb3k_fdc_command)).mirror(0x500);
+ map(0x05, 0x05).r(this, FUNC(isa8_myb3k_fdc4711_device::myb3k_fdc_status)).mirror(0x500);
+}
FLOPPY_FORMATS_MEMBER( isa8_myb3k_fdc4710_device::myb3k_floppy_formats )
FLOPPY_IMD_FORMAT
diff --git a/src/devices/bus/oricext/jasmin.cpp b/src/devices/bus/oricext/jasmin.cpp
index 8a7116b9120..557960f5b76 100644
--- a/src/devices/bus/oricext/jasmin.cpp
+++ b/src/devices/bus/oricext/jasmin.cpp
@@ -24,14 +24,15 @@ INPUT_PORTS_START( jasmin )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Boot") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHANGED_MEMBER(DEVICE_SELF, jasmin_device, boot_pressed, nullptr)
INPUT_PORTS_END
-ADDRESS_MAP_START(jasmin_device::map)
- AM_RANGE(0x3f4, 0x3f7) AM_DEVREADWRITE("fdc", wd1770_device, read, write)
- AM_RANGE(0x3f8, 0x3f8) AM_WRITE(side_sel_w)
- AM_RANGE(0x3f9, 0x3f9) AM_WRITE(fdc_reset_w)
- AM_RANGE(0x3fa, 0x3fa) AM_WRITE(ram_access_w)
- AM_RANGE(0x3fb, 0x3fb) AM_WRITE(rom_access_w)
- AM_RANGE(0x3fc, 0x3ff) AM_WRITE(select_w)
-ADDRESS_MAP_END
+void jasmin_device::map(address_map &map)
+{
+ map(0x3f4, 0x3f7).rw("fdc", FUNC(wd1770_device::read), FUNC(wd1770_device::write));
+ map(0x3f8, 0x3f8).w(this, FUNC(jasmin_device::side_sel_w));
+ map(0x3f9, 0x3f9).w(this, FUNC(jasmin_device::fdc_reset_w));
+ map(0x3fa, 0x3fa).w(this, FUNC(jasmin_device::ram_access_w));
+ map(0x3fb, 0x3fb).w(this, FUNC(jasmin_device::rom_access_w));
+ map(0x3fc, 0x3ff).w(this, FUNC(jasmin_device::select_w));
+}
jasmin_device::jasmin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
oricext_device(mconfig, JASMIN, tag, owner, clock),
diff --git a/src/devices/bus/oricext/microdisc.cpp b/src/devices/bus/oricext/microdisc.cpp
index b1b2b8cab4b..6f3330d7109 100644
--- a/src/devices/bus/oricext/microdisc.cpp
+++ b/src/devices/bus/oricext/microdisc.cpp
@@ -19,11 +19,12 @@ static SLOT_INTERFACE_START( microdisc_floppies )
SLOT_INTERFACE( "3dsdd", FLOPPY_3_DSDD )
SLOT_INTERFACE_END
-ADDRESS_MAP_START(microdisc_device::map)
- AM_RANGE(0x310, 0x313) AM_DEVREADWRITE("fdc", fd1793_device, read, write)
- AM_RANGE(0x314, 0x314) AM_READWRITE(port_314_r, port_314_w)
- AM_RANGE(0x318, 0x318) AM_READ(port_318_r)
-ADDRESS_MAP_END
+void microdisc_device::map(address_map &map)
+{
+ map(0x310, 0x313).rw("fdc", FUNC(fd1793_device::read), FUNC(fd1793_device::write));
+ map(0x314, 0x314).rw(this, FUNC(microdisc_device::port_314_r), FUNC(microdisc_device::port_314_w));
+ map(0x318, 0x318).r(this, FUNC(microdisc_device::port_318_r));
+}
microdisc_device::microdisc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
oricext_device(mconfig, MICRODISC, tag, owner, clock),
diff --git a/src/devices/bus/snes/sgb.cpp b/src/devices/bus/snes/sgb.cpp
index 710ac885d3e..d668e96b45b 100644
--- a/src/devices/bus/snes/sgb.cpp
+++ b/src/devices/bus/snes/sgb.cpp
@@ -129,22 +129,23 @@ WRITE8_MEMBER(sns_rom_sgb_device::gb_ie_w)
-ADDRESS_MAP_START(sns_rom_sgb_device::supergb_map)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x7fff) AM_READWRITE(gb_cart_r, gb_bank_w)
- AM_RANGE(0x8000, 0x9fff) AM_DEVREADWRITE("sgb_ppu", sgb_ppu_device, vram_r, vram_w) /* 8k VRAM */
- AM_RANGE(0xa000, 0xbfff) AM_READWRITE(gb_ram_r, gb_ram_w ) /* 8k switched RAM bank (cartridge) */
- AM_RANGE(0xc000, 0xdfff) AM_RAM /* 8k low RAM */
- AM_RANGE(0xe000, 0xfdff) AM_READWRITE(gb_echo_r, gb_echo_w)
- AM_RANGE(0xfe00, 0xfeff) AM_DEVREADWRITE("sgb_ppu", sgb_ppu_device, oam_r, oam_w) /* OAM RAM */
- AM_RANGE(0xff00, 0xff0f) AM_READWRITE(gb_io_r, gb_io_w) /* I/O */
- AM_RANGE(0xff10, 0xff26) AM_DEVREADWRITE("sgb_apu", gameboy_sound_device, sound_r, sound_w) /* sound registers */
- AM_RANGE(0xff27, 0xff2f) AM_NOP /* unused */
- AM_RANGE(0xff30, 0xff3f) AM_DEVREADWRITE("sgb_apu", gameboy_sound_device, wave_r, wave_w) /* Wave RAM */
- AM_RANGE(0xff40, 0xff7f) AM_DEVREADWRITE("sgb_ppu", sgb_ppu_device, video_r, video_w) /* also disable bios?? */ /* Video controller & BIOS flip-flop */
- AM_RANGE(0xff80, 0xfffe) AM_RAM /* High RAM */
- AM_RANGE(0xffff, 0xffff) AM_READWRITE(gb_ie_r, gb_ie_w) /* Interrupt enable register */
-ADDRESS_MAP_END
+void sns_rom_sgb_device::supergb_map(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x0000, 0x7fff).rw(this, FUNC(sns_rom_sgb_device::gb_cart_r), FUNC(sns_rom_sgb_device::gb_bank_w));
+ map(0x8000, 0x9fff).rw("sgb_ppu", FUNC(sgb_ppu_device::vram_r), FUNC(sgb_ppu_device::vram_w)); /* 8k VRAM */
+ map(0xa000, 0xbfff).rw(this, FUNC(sns_rom_sgb_device::gb_ram_r), FUNC(sns_rom_sgb_device::gb_ram_w)); /* 8k switched RAM bank (cartridge) */
+ map(0xc000, 0xdfff).ram(); /* 8k low RAM */
+ map(0xe000, 0xfdff).rw(this, FUNC(sns_rom_sgb_device::gb_echo_r), FUNC(sns_rom_sgb_device::gb_echo_w));
+ map(0xfe00, 0xfeff).rw("sgb_ppu", FUNC(sgb_ppu_device::oam_r), FUNC(sgb_ppu_device::oam_w)); /* OAM RAM */
+ map(0xff00, 0xff0f).rw(this, FUNC(sns_rom_sgb_device::gb_io_r), FUNC(sns_rom_sgb_device::gb_io_w)); /* I/O */
+ map(0xff10, 0xff26).rw("sgb_apu", FUNC(gameboy_sound_device::sound_r), FUNC(gameboy_sound_device::sound_w)); /* sound registers */
+ map(0xff27, 0xff2f).noprw(); /* unused */
+ map(0xff30, 0xff3f).rw("sgb_apu", FUNC(gameboy_sound_device::wave_r), FUNC(gameboy_sound_device::wave_w)); /* Wave RAM */
+ map(0xff40, 0xff7f).rw("sgb_ppu", FUNC(sgb_ppu_device::video_r), FUNC(sgb_ppu_device::video_w)); /* also disable bios?? */ /* Video controller & BIOS flip-flop */
+ map(0xff80, 0xfffe).ram(); /* High RAM */
+ map(0xffff, 0xffff).rw(this, FUNC(sns_rom_sgb_device::gb_ie_r), FUNC(sns_rom_sgb_device::gb_ie_w)); /* Interrupt enable register */
+}
diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp
index 5c08ca15377..8ffa69aa197 100644
--- a/src/devices/bus/snes/upd.cpp
+++ b/src/devices/bus/snes/upd.cpp
@@ -280,18 +280,20 @@ READ16_MEMBER( sns_rom_setadsp_device::setadsp_data_r )
// ADDRESS_MAP( st01x_prg_map )
//-------------------------------------------------
-ADDRESS_MAP_START(sns_rom_setadsp_device::st01x_prg_map)
- AM_RANGE(0x0000, 0x3fff) AM_READ(setadsp_prg_r)
-ADDRESS_MAP_END
+void sns_rom_setadsp_device::st01x_prg_map(address_map &map)
+{
+ map(0x0000, 0x3fff).r(this, FUNC(sns_rom_setadsp_device::setadsp_prg_r));
+}
//-------------------------------------------------
// ADDRESS_MAP( st01x_data_map )
//-------------------------------------------------
-ADDRESS_MAP_START(sns_rom_setadsp_device::st01x_data_map)
- AM_RANGE(0x0000, 0x07ff) AM_READ(setadsp_data_r)
-ADDRESS_MAP_END
+void sns_rom_setadsp_device::st01x_data_map(address_map &map)
+{
+ map(0x0000, 0x07ff).r(this, FUNC(sns_rom_setadsp_device::setadsp_data_r));
+}
//-------------------------------------------------
diff --git a/src/devices/bus/vtech/memexp/floppy.cpp b/src/devices/bus/vtech/memexp/floppy.cpp
index f87bc88579b..0788a653012 100644
--- a/src/devices/bus/vtech/memexp/floppy.cpp
+++ b/src/devices/bus/vtech/memexp/floppy.cpp
@@ -19,12 +19,13 @@
DEFINE_DEVICE_TYPE(VTECH_FLOPPY_CONTROLLER, vtech_floppy_controller_device, "vtech_fdc", "Laser/VZ Floppy Disk Controller")
-ADDRESS_MAP_START(vtech_floppy_controller_device::map)
- AM_RANGE(0, 0) AM_WRITE(latch_w)
- AM_RANGE(1, 1) AM_READ(shifter_r)
- AM_RANGE(2, 2) AM_READ(rd_r)
- AM_RANGE(3, 3) AM_READ(wpt_r)
-ADDRESS_MAP_END
+void vtech_floppy_controller_device::map(address_map &map)
+{
+ map(0, 0).w(this, FUNC(vtech_floppy_controller_device::latch_w));
+ map(1, 1).r(this, FUNC(vtech_floppy_controller_device::shifter_r));
+ map(2, 2).r(this, FUNC(vtech_floppy_controller_device::rd_r));
+ map(3, 3).r(this, FUNC(vtech_floppy_controller_device::wpt_r));
+}
//-------------------------------------------------
// rom_region - device-specific ROM region