diff options
Diffstat (limited to 'src/mame/drivers/pro80.cpp')
-rw-r--r-- | src/mame/drivers/pro80.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/mame/drivers/pro80.cpp b/src/mame/drivers/pro80.cpp index 519d095aaa4..da11277c446 100644 --- a/src/mame/drivers/pro80.cpp +++ b/src/mame/drivers/pro80.cpp @@ -112,21 +112,23 @@ READ8_MEMBER( pro80_state::kp_r ) return data | m_cass_in | 0xc0; } -ADDRESS_MAP_START(pro80_state::pro80_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x03ff) AM_ROM - AM_RANGE(0x1000, 0x13ff) AM_RAM - AM_RANGE(0x1400, 0x17ff) AM_RAM // 2nd RAM is optional -ADDRESS_MAP_END - -ADDRESS_MAP_START(pro80_state::pro80_io) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("pio", z80pio_device, read, write) - AM_RANGE(0x44, 0x47) AM_READ(kp_r) - AM_RANGE(0x48, 0x4b) AM_WRITE(digit_w) - AM_RANGE(0x4c, 0x4f) AM_WRITE(segment_w) -ADDRESS_MAP_END +void pro80_state::pro80_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x03ff).rom(); + map(0x1000, 0x13ff).ram(); + map(0x1400, 0x17ff).ram(); // 2nd RAM is optional +} + +void pro80_state::pro80_io(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); + map(0x40, 0x43).rw("pio", FUNC(z80pio_device::read), FUNC(z80pio_device::write)); + map(0x44, 0x47).r(this, FUNC(pro80_state::kp_r)); + map(0x48, 0x4b).w(this, FUNC(pro80_state::digit_w)); + map(0x4c, 0x4f).w(this, FUNC(pro80_state::segment_w)); +} /* Input ports */ static INPUT_PORTS_START( pro80 ) |