diff options
Diffstat (limited to 'src/mame/drivers/ts802.cpp')
-rw-r--r-- | src/mame/drivers/ts802.cpp | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/mame/drivers/ts802.cpp b/src/mame/drivers/ts802.cpp index 16f082f598e..8166445d100 100644 --- a/src/mame/drivers/ts802.cpp +++ b/src/mame/drivers/ts802.cpp @@ -65,38 +65,40 @@ private: required_device<generic_terminal_device> m_terminal; }; -ADDRESS_MAP_START(ts802_state::ts802_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x0fff) AM_READ_BANK("bankr0") AM_WRITE_BANK("bankw0") - AM_RANGE(0x1000, 0xffff) AM_RAM -ADDRESS_MAP_END +void ts802_state::ts802_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x0fff).bankr("bankr0").bankw("bankw0"); + map(0x1000, 0xffff).ram(); +} -ADDRESS_MAP_START(ts802_state::ts802_io) +void ts802_state::ts802_io(address_map &map) +{ //ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x03) AM_READ(port00_r) // DIP switches + map.global_mask(0xff); + map(0x00, 0x03).r(this, FUNC(ts802_state::port00_r)); // DIP switches // 04 - written once after OS boot to bank in RAM from 0000-3FFF instead of ROM. 4000-FFFF is always RAM. - AM_RANGE(0x04, 0x07) AM_WRITE(port04_w) + map(0x04, 0x07).w(this, FUNC(ts802_state::port04_w)); // 08-0B: Z80 CTC - AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) + map(0x08, 0x0b).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); // 0C-0F: Z80 SIO #1 //AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("dart1", z80dart_device, ba_cd_r, ba_cd_w) - AM_RANGE(0x0c, 0x0c) AM_READ(port0c_r) - AM_RANGE(0x0d, 0x0d) AM_READ(port0d_r) AM_DEVWRITE("terminal", generic_terminal_device, write) - AM_RANGE(0x0e, 0x0e) AM_READ(port0e_r) - AM_RANGE(0x0f, 0x0f) AM_READ(port0f_r) + map(0x0c, 0x0c).r(this, FUNC(ts802_state::port0c_r)); + map(0x0d, 0x0d).r(this, FUNC(ts802_state::port0d_r)).w(m_terminal, FUNC(generic_terminal_device::write)); + map(0x0e, 0x0e).r(this, FUNC(ts802_state::port0e_r)); + map(0x0f, 0x0f).r(this, FUNC(ts802_state::port0f_r)); // 10: Z80 DMA - AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("dma", z80dma_device, read, write) + map(0x10, 0x13).rw("dma", FUNC(z80dma_device::read), FUNC(z80dma_device::write)); // 14-17: WD 1793 - AM_RANGE(0x14, 0x17) AM_DEVREADWRITE("fdc", fd1793_device, read, write) + map(0x14, 0x17).rw("fdc", FUNC(fd1793_device::read), FUNC(fd1793_device::write)); // 18: floppy misc. - AM_RANGE(0x18, 0x1c) AM_WRITE(port18_w) + map(0x18, 0x1c).w(this, FUNC(ts802_state::port18_w)); // 20-23: Z80 SIO #2 - AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("dart2", z80dart_device, ba_cd_r, ba_cd_w) + map(0x20, 0x23).rw("dart2", FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w)); // 48-4F: WD1000 harddisk controller // 80: LEDs - AM_RANGE(0x80, 0x80) AM_WRITE(port80_w) -ADDRESS_MAP_END + map(0x80, 0x80).w(this, FUNC(ts802_state::port80_w)); +} /* Input ports */ |