diff options
Diffstat (limited to 'src/mame/drivers/prophet600.cpp')
-rw-r--r-- | src/mame/drivers/prophet600.cpp | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/mame/drivers/prophet600.cpp b/src/mame/drivers/prophet600.cpp index 3edba6498ed..27c456ece51 100644 --- a/src/mame/drivers/prophet600.cpp +++ b/src/mame/drivers/prophet600.cpp @@ -239,24 +239,26 @@ READ8_MEMBER(prophet600_state::comparitor_r) return m_comparitor; } -ADDRESS_MAP_START(prophet600_state::cpu_map) - AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(MAINCPU_TAG, 0) - AM_RANGE(0x2000, 0x27ff) AM_RAM - AM_RANGE(0x3000, 0x37ff) AM_RAM - AM_RANGE(0x4000, 0x4001) AM_WRITE(dac_w) - AM_RANGE(0x6000, 0x6001) AM_DEVWRITE(UART_TAG, acia6850_device, write) - AM_RANGE(0xe000, 0xe001) AM_DEVREAD(UART_TAG, acia6850_device, read) -ADDRESS_MAP_END - -ADDRESS_MAP_START(prophet600_state::io_map) - AM_RANGE(0x00, 0x07) AM_MIRROR(0xff00) AM_DEVREADWRITE(PIT_TAG, pit8253_device, read, write) - AM_RANGE(0x08, 0x08) AM_MIRROR(0xff00) AM_WRITE(scanrow_w) - AM_RANGE(0x09, 0x09) AM_MIRROR(0xff00) AM_READWRITE(comparitor_r, led_w) - AM_RANGE(0x0a, 0x0a) AM_MIRROR(0xff00) AM_READWRITE(scan_r, potmux_w) - AM_RANGE(0x0b, 0x0b) AM_MIRROR(0xff00) AM_WRITE(gate_w) - AM_RANGE(0x0d, 0x0d) AM_MIRROR(0xff00) AM_WRITE(cv_w) - AM_RANGE(0x0e, 0x0e) AM_MIRROR(0xff00) AM_WRITE(mask_w) -ADDRESS_MAP_END +void prophet600_state::cpu_map(address_map &map) +{ + map(0x0000, 0x1fff).rom().region(MAINCPU_TAG, 0); + map(0x2000, 0x27ff).ram(); + map(0x3000, 0x37ff).ram(); + map(0x4000, 0x4001).w(this, FUNC(prophet600_state::dac_w)); + map(0x6000, 0x6001).w(m_acia, FUNC(acia6850_device::write)); + map(0xe000, 0xe001).r(m_acia, FUNC(acia6850_device::read)); +} + +void prophet600_state::io_map(address_map &map) +{ + map(0x00, 0x07).mirror(0xff00).rw(PIT_TAG, FUNC(pit8253_device::read), FUNC(pit8253_device::write)); + map(0x08, 0x08).mirror(0xff00).w(this, FUNC(prophet600_state::scanrow_w)); + map(0x09, 0x09).mirror(0xff00).rw(this, FUNC(prophet600_state::comparitor_r), FUNC(prophet600_state::led_w)); + map(0x0a, 0x0a).mirror(0xff00).rw(this, FUNC(prophet600_state::scan_r), FUNC(prophet600_state::potmux_w)); + map(0x0b, 0x0b).mirror(0xff00).w(this, FUNC(prophet600_state::gate_w)); + map(0x0d, 0x0d).mirror(0xff00).w(this, FUNC(prophet600_state::cv_w)); + map(0x0e, 0x0e).mirror(0xff00).w(this, FUNC(prophet600_state::mask_w)); +} DRIVER_INIT_MEMBER(prophet600_state, prophet600) { |