diff options
Diffstat (limited to 'src/mame/drivers/br8641.cpp')
-rw-r--r-- | src/mame/drivers/br8641.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/mame/drivers/br8641.cpp b/src/mame/drivers/br8641.cpp index 353351ea705..4b097c06da8 100644 --- a/src/mame/drivers/br8641.cpp +++ b/src/mame/drivers/br8641.cpp @@ -63,21 +63,23 @@ private: required_device<beep_device> m_beep; }; -ADDRESS_MAP_START(brandt8641_state::brandt8641_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x0000, 0x7fff) AM_ROM // 27256 at U12 - AM_RANGE(0x8000, 0x9fff) AM_RAM // 8KB static ram 6264 at U12 -ADDRESS_MAP_END - -ADDRESS_MAP_START(brandt8641_state::brandt8641_io) - ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("pio1", z80pio_device, read, write) - AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("pio2", z80pio_device, read, write) - AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("pio3", z80pio_device, read, write) - AM_RANGE(0x10, 0x13) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) - AM_RANGE(0x1E, 0x1F) AM_WRITENOP // unknown device -ADDRESS_MAP_END +void brandt8641_state::brandt8641_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x7fff).rom(); // 27256 at U12 + map(0x8000, 0x9fff).ram(); // 8KB static ram 6264 at U12 +} + +void brandt8641_state::brandt8641_io(address_map &map) +{ + map.unmap_value_high(); + map.global_mask(0xff); + map(0x04, 0x07).rw(m_pio1, FUNC(z80pio_device::read), FUNC(z80pio_device::write)); + map(0x08, 0x0b).rw(m_pio2, FUNC(z80pio_device::read), FUNC(z80pio_device::write)); + map(0x0c, 0x0f).rw(m_pio3, FUNC(z80pio_device::read), FUNC(z80pio_device::write)); + map(0x10, 0x13).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write)); + map(0x1E, 0x1F).nopw(); // unknown device +} /* Input ports */ // No idea what each key does |