summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/epson_sio/tf20.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/epson_sio/tf20.cpp')
-rw-r--r--src/devices/bus/epson_sio/tf20.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/devices/bus/epson_sio/tf20.cpp b/src/devices/bus/epson_sio/tf20.cpp
index e63527463ae..572baf96621 100644
--- a/src/devices/bus/epson_sio/tf20.cpp
+++ b/src/devices/bus/epson_sio/tf20.cpp
@@ -29,20 +29,22 @@ DEFINE_DEVICE_TYPE(EPSON_TF20, epson_tf20_device, "epson_tf20", "EPSON TF-20 Dua
// address maps
//-------------------------------------------------
-ADDRESS_MAP_START(epson_tf20_device::cpu_mem)
- AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1")
- AM_RANGE(0x8000, 0xffff) AM_RAMBANK("bank2")
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(epson_tf20_device::cpu_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0xf0, 0xf3) AM_DEVREADWRITE("3a", upd7201_device, ba_cd_r, ba_cd_w)
- AM_RANGE(0xf6, 0xf6) AM_READ(rom_disable_r)
- AM_RANGE(0xf7, 0xf7) AM_READ_PORT("tf20_dip")
- AM_RANGE(0xf8, 0xf8) AM_READWRITE(upd765_tc_r, fdc_control_w)
- AM_RANGE(0xfa, 0xfb) AM_DEVICE("5a", upd765a_device, map)
-ADDRESS_MAP_END
+void epson_tf20_device::cpu_mem(address_map &map)
+{
+ map(0x0000, 0x7fff).bankrw("bank1");
+ map(0x8000, 0xffff).bankrw("bank2");
+}
+
+void epson_tf20_device::cpu_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
+ map(0xf0, 0xf3).rw("3a", FUNC(upd7201_device::ba_cd_r), FUNC(upd7201_device::ba_cd_w));
+ map(0xf6, 0xf6).r(this, FUNC(epson_tf20_device::rom_disable_r));
+ map(0xf7, 0xf7).portr("tf20_dip");
+ map(0xf8, 0xf8).rw(this, FUNC(epson_tf20_device::upd765_tc_r), FUNC(epson_tf20_device::fdc_control_w));
+ map(0xfa, 0xfb).m("5a", FUNC(upd765a_device::map));
+}
//-------------------------------------------------
// rom_region - device-specific ROM region