diff options
Diffstat (limited to 'src/mame/drivers/chaos.cpp')
-rw-r--r-- | src/mame/drivers/chaos.cpp | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/mame/drivers/chaos.cpp b/src/mame/drivers/chaos.cpp index a4944306929..069f7e53cda 100644 --- a/src/mame/drivers/chaos.cpp +++ b/src/mame/drivers/chaos.cpp @@ -64,23 +64,26 @@ private: }; -ADDRESS_MAP_START(chaos_state::mem_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x7fff) AM_RAM AM_SHARE("ram") -ADDRESS_MAP_END - -ADDRESS_MAP_START(chaos_state::io_map) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x1e, 0x1e) AM_READ(port1e_r) - AM_RANGE(0x1f, 0x1f) AM_READWRITE(port90_r, port1f_w) - AM_RANGE(0x90, 0x90) AM_READ(port90_r) - AM_RANGE(0x91, 0x91) AM_READ(port91_r) - AM_RANGE(0x92, 0x92) AM_DEVWRITE("terminal", generic_terminal_device, write) -ADDRESS_MAP_END - -ADDRESS_MAP_START(chaos_state::data_map) - AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_NOP // stops error log filling up while using debug -ADDRESS_MAP_END +void chaos_state::mem_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x7fff).ram().share("ram"); +} + +void chaos_state::io_map(address_map &map) +{ + map.unmap_value_high(); + map(0x1e, 0x1e).r(this, FUNC(chaos_state::port1e_r)); + map(0x1f, 0x1f).rw(this, FUNC(chaos_state::port90_r), FUNC(chaos_state::port1f_w)); + map(0x90, 0x90).r(this, FUNC(chaos_state::port90_r)); + map(0x91, 0x91).r(this, FUNC(chaos_state::port91_r)); + map(0x92, 0x92).w(m_terminal, FUNC(generic_terminal_device::write)); +} + +void chaos_state::data_map(address_map &map) +{ + map(S2650_DATA_PORT, S2650_DATA_PORT).noprw(); // stops error log filling up while using debug +} /* Input ports */ static INPUT_PORTS_START( chaos ) |