diff options
Diffstat (limited to 'src/devices/bus/epson_sio/tf20.cpp')
-rw-r--r-- | src/devices/bus/epson_sio/tf20.cpp | 30 |
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 |