summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/lb186.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/lb186.cpp')
-rw-r--r--src/mame/drivers/lb186.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp
index 419ac7cccbe..220c8ee3f04 100644
--- a/src/mame/drivers/lb186.cpp
+++ b/src/mame/drivers/lb186.cpp
@@ -92,19 +92,21 @@ WRITE8_MEMBER(lb186_state::drive_sel_w)
floppy->ss_w(BIT(data, 4));
}
-ADDRESS_MAP_START(lb186_state::lb186_map)
- AM_RANGE(0x00000, 0x3ffff) AM_RAM // fixed 256k for now
- AM_RANGE(0xfc000, 0xfffff) AM_ROM AM_REGION("bios", 0)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(lb186_state::lb186_io)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x1000, 0x101f) AM_DEVREADWRITE8("duart", scn2681_device, read, write, 0x00ff)
- AM_RANGE(0x1080, 0x108f) AM_DEVREADWRITE8("scsibus:7:ncr5380", ncr5380n_device, read, write, 0x00ff)
- AM_RANGE(0x1100, 0x1107) AM_DEVREADWRITE8("fdc", wd1772_device, read, write, 0x00ff)
- AM_RANGE(0x1180, 0x1181) AM_READWRITE8(scsi_dack_r, scsi_dack_w, 0x00ff)
- AM_RANGE(0x1200, 0x1201) AM_WRITE8(drive_sel_w, 0x00ff)
-ADDRESS_MAP_END
+void lb186_state::lb186_map(address_map &map)
+{
+ map(0x00000, 0x3ffff).ram(); // fixed 256k for now
+ map(0xfc000, 0xfffff).rom().region("bios", 0);
+}
+
+void lb186_state::lb186_io(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x1000, 0x101f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask16(0x00ff);
+ map(0x1080, 0x108f).rw(m_scsi, FUNC(ncr5380n_device::read), FUNC(ncr5380n_device::write)).umask16(0x00ff);
+ map(0x1100, 0x1107).rw(m_fdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write)).umask16(0x00ff);
+ map(0x1180, 0x1180).rw(this, FUNC(lb186_state::scsi_dack_r), FUNC(lb186_state::scsi_dack_w));
+ map(0x1200, 0x1200).w(this, FUNC(lb186_state::drive_sel_w));
+}
static SLOT_INTERFACE_START( lb186_floppies )
SLOT_INTERFACE("525dd", FLOPPY_525_DD)