diff options
Diffstat (limited to 'src/mame/drivers/vt100.cpp')
-rw-r--r-- | src/mame/drivers/vt100.cpp | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/src/mame/drivers/vt100.cpp b/src/mame/drivers/vt100.cpp index 9d6fd03e59d..a8f568f4680 100644 --- a/src/mame/drivers/vt100.cpp +++ b/src/mame/drivers/vt100.cpp @@ -116,28 +116,31 @@ public: -ADDRESS_MAP_START(vt100_state::vt100_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE( 0x0000, 0x1fff ) AM_ROM // ROM ( 4 * 2K) - AM_RANGE( 0x2000, 0x2bff ) AM_RAM AM_SHARE("p_ram") // Screen and scratch RAM - AM_RANGE( 0x2c00, 0x2fff ) AM_RAM // AVO Screen RAM - AM_RANGE( 0x3000, 0x3fff ) AM_RAM // AVO Attribute RAM (4 bits wide) +void vt100_state::vt100_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x1fff).rom(); // ROM ( 4 * 2K) + map(0x2000, 0x2bff).ram().share("p_ram"); // Screen and scratch RAM + map(0x2c00, 0x2fff).ram(); // AVO Screen RAM + map(0x3000, 0x3fff).ram(); // AVO Attribute RAM (4 bits wide) // 0x4000, 0x7fff is unassigned - AM_RANGE( 0x8000, 0x9fff ) AM_ROM // Program memory expansion ROM (4 * 2K) - AM_RANGE( 0xa000, 0xbfff ) AM_ROM // Program memory expansion ROM (1 * 8K) + map(0x8000, 0x9fff).rom(); // Program memory expansion ROM (4 * 2K) + map(0xa000, 0xbfff).rom(); // Program memory expansion ROM (1 * 8K) // 0xc000, 0xffff is unassigned -ADDRESS_MAP_END +} -ADDRESS_MAP_START(vt100_state::vt180_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE( 0x0000, 0x1fff ) AM_ROM - AM_RANGE( 0x2000, 0xffff ) AM_RAM -ADDRESS_MAP_END +void vt100_state::vt180_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x1fff).rom(); + map(0x2000, 0xffff).ram(); +} -ADDRESS_MAP_START(vt100_state::vt180_io) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) -ADDRESS_MAP_END +void vt100_state::vt180_io(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); +} // 0 - XMIT flag H // 1 - Advance Video L @@ -187,31 +190,32 @@ WRITE8_MEMBER(vt100_state::nvr_latch_w) m_nvr->data_w(BIT(data, 2) ? 0 : !BIT(data, 0)); } -ADDRESS_MAP_START(vt100_state::vt100_io) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) +void vt100_state::vt100_io(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); // 0x00, 0x01 PUSART (Intel 8251) - AM_RANGE (0x00, 0x00) AM_DEVREADWRITE("pusart", i8251_device, data_r, data_w) - AM_RANGE (0x01, 0x01) AM_DEVREADWRITE("pusart", i8251_device, status_r, control_w) + map(0x00, 0x00).rw("pusart", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w)); + map(0x01, 0x01).rw("pusart", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w)); // 0x02 Baud rate generator - AM_RANGE (0x02, 0x02) AM_WRITE(baud_rate_w) + map(0x02, 0x02).w(this, FUNC(vt100_state::baud_rate_w)); // 0x22 Modem buffer - AM_RANGE (0x22, 0x22) AM_READ(modem_r) + map(0x22, 0x22).r(this, FUNC(vt100_state::modem_r)); // 0x42 Flags buffer - AM_RANGE (0x42, 0x42) AM_READ(flags_r) + map(0x42, 0x42).r(this, FUNC(vt100_state::flags_r)); // 0x42 Brightness D/A latch - AM_RANGE (0x42, 0x42) AM_DEVWRITE("vt100_video", vt100_video_device, brightness_w) + map(0x42, 0x42).w(m_crtc, FUNC(vt100_video_device::brightness_w)); // 0x62 NVR latch - AM_RANGE (0x62, 0x62) AM_WRITE(nvr_latch_w) + map(0x62, 0x62).w(this, FUNC(vt100_state::nvr_latch_w)); // 0x82 Keyboard UART data - AM_RANGE (0x82, 0x82) AM_DEVREADWRITE("kbduart", ay31015_device, receive, transmit) + map(0x82, 0x82).rw("kbduart", FUNC(ay31015_device::receive), FUNC(ay31015_device::transmit)); // 0xA2 Video processor DC012 - AM_RANGE (0xa2, 0xa2) AM_DEVWRITE("vt100_video", vt100_video_device, dc012_w) + map(0xa2, 0xa2).w(m_crtc, FUNC(vt100_video_device::dc012_w)); // 0xC2 Video processor DC011 - AM_RANGE (0xc2, 0xc2) AM_DEVWRITE("vt100_video", vt100_video_device, dc011_w) + map(0xc2, 0xc2).w(m_crtc, FUNC(vt100_video_device::dc011_w)); // 0xE2 Graphics port // AM_RANGE (0xe2, 0xe2) -ADDRESS_MAP_END +} READ8_MEMBER(vt100_state::printer_r) { |