diff options
Diffstat (limited to 'src/mame/drivers/votrpss.cpp')
-rw-r--r-- | src/mame/drivers/votrpss.cpp | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/mame/drivers/votrpss.cpp b/src/mame/drivers/votrpss.cpp index ee2bb5fb289..afab1535aa0 100644 --- a/src/mame/drivers/votrpss.cpp +++ b/src/mame/drivers/votrpss.cpp @@ -119,25 +119,27 @@ private: Address Maps ******************************************************************************/ -ADDRESS_MAP_START(votrpss_state::votrpss_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x3fff) AM_ROM /* main roms (in potted module) */ - AM_RANGE(0x4000, 0x7fff) AM_NOP /* open bus/space for expansion rom (reads as 0xFF) */ - AM_RANGE(0x8000, 0x8fff) AM_RAM /* onboard memory (2x 6116) */ - AM_RANGE(0x9000, 0xbfff) AM_NOP /* open bus (space for memory expansion, checked by main roms, will be used if found)*/ - AM_RANGE(0xc000, 0xdfff) AM_ROM /* 'personality rom', containing self-test code and optional user code */ - AM_RANGE(0xe000, 0xffff) AM_NOP /* open bus (space for more personality rom, not normally used) */ -ADDRESS_MAP_END - -ADDRESS_MAP_START(votrpss_state::votrpss_io) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x03) AM_MIRROR(0x3c) AM_DEVREADWRITE("ppi", i8255_device, read, write) - AM_RANGE(0x40, 0x40) AM_MIRROR(0x3e) AM_DEVREADWRITE("uart", i8251_device, data_r, data_w) - AM_RANGE(0x41, 0x41) AM_MIRROR(0x3e) AM_DEVREADWRITE("uart", i8251_device, status_r, control_w) - AM_RANGE(0x80, 0x83) AM_MIRROR(0x3c) AM_DEVREADWRITE("pit", pit8253_device, read, write) - AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x3e) AM_DEVREADWRITE("ay", ay8910_device, data_r, address_w) - AM_RANGE(0xc1, 0xc1) AM_MIRROR(0x3e) AM_DEVREADWRITE("ay", ay8910_device, data_r, data_w) -ADDRESS_MAP_END +void votrpss_state::votrpss_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).rom(); /* main roms (in potted module) */ + map(0x4000, 0x7fff).noprw(); /* open bus/space for expansion rom (reads as 0xFF) */ + map(0x8000, 0x8fff).ram(); /* onboard memory (2x 6116) */ + map(0x9000, 0xbfff).noprw(); /* open bus (space for memory expansion, checked by main roms, will be used if found)*/ + map(0xc000, 0xdfff).rom(); /* 'personality rom', containing self-test code and optional user code */ + map(0xe000, 0xffff).noprw(); /* open bus (space for more personality rom, not normally used) */ +} + +void votrpss_state::votrpss_io(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x03).mirror(0x3c).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0x40, 0x40).mirror(0x3e).rw("uart", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w)); + map(0x41, 0x41).mirror(0x3e).rw("uart", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w)); + map(0x80, 0x83).mirror(0x3c).rw("pit", FUNC(pit8253_device::read), FUNC(pit8253_device::write)); + map(0xc0, 0xc0).mirror(0x3e).rw("ay", FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_w)); + map(0xc1, 0xc1).mirror(0x3e).rw("ay", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); +} /****************************************************************************** |