diff options
Diffstat (limited to 'src/mame/drivers/accomm.cpp')
-rw-r--r-- | src/mame/drivers/accomm.cpp | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/src/mame/drivers/accomm.cpp b/src/mame/drivers/accomm.cpp index 4d3279afc4e..e6a8a27315e 100644 --- a/src/mame/drivers/accomm.cpp +++ b/src/mame/drivers/accomm.cpp @@ -635,30 +635,31 @@ WRITE_LINE_MEMBER(accomm_state::econet_clk_w) m_adlc->txc_w(state); } -ADDRESS_MAP_START(accomm_state::main_map) - AM_RANGE(0x000000, 0x1fffff) AM_READWRITE(ram_r, ram_w) /* System RAM */ - AM_RANGE(0x200000, 0x3fffff) AM_NOP /* External expansion RAM */ - AM_RANGE(0x400000, 0x400000) AM_NOP /* MODEM */ - AM_RANGE(0x410000, 0x410000) AM_RAM /* Econet ID */ - AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE("via6522", via6522_device, read, write) /* 6522 VIA (printer etc) */ - AM_RANGE(0x430000, 0x430001) AM_DEVREADWRITE("acia", acia6850_device, read, write) /* 2641 ACIA (RS423) */ - AM_RANGE(0x440000, 0x440000) AM_WRITE(ch00switch_w) /* CH00SWITCH */ - AM_RANGE(0x450000, 0x457fff) AM_RAM AM_SHARE("vram") /* Video RAM */ - AM_RANGE(0x458000, 0x459fff) AM_READ(read_keyboard1) /* Video ULA */ - AM_RANGE(0x45a000, 0x45bfff) AM_READ(read_keyboard2) /* Video ULA */ - AM_RANGE(0x45fe00, 0x45feff) AM_READWRITE(sheila_r, sheila_w) /* Video ULA */ - AM_RANGE(0x460000, 0x467fff) AM_RAM AM_SHARE("nvram") /* CMOS RAM */ - AM_RANGE(0x470000, 0x47001f) AM_DEVREADWRITE("mc6854", mc6854_device, read, write) /* 68B54 (Econet) */ - AM_RANGE(0x480000, 0x7fffff) AM_NOP /* Reserved */ - AM_RANGE(0x800000, 0xbfffff) AM_NOP /* External expansion IO */ - AM_RANGE(0xc00000, 0xf7ffff) AM_NOP /* External expansion ROM */ - AM_RANGE(0xf80000, 0xf9ffff) AM_NOP /* Empty */ - AM_RANGE(0xfa0000, 0xfbffff) AM_NOP /* ROM bank 4 */ - AM_RANGE(0xfc0000, 0xfcffff) AM_ROM AM_REGION("maincpu", 0x000000) /* ROM bank 3 */ - AM_RANGE(0xfd0000, 0xfdffff) AM_ROM AM_REGION("maincpu", 0x010000) /* ROM bank 2 */ - AM_RANGE(0xfe0000, 0xfeffff) AM_ROM AM_REGION("maincpu", 0x020000) /* ROM bank 0 */ - AM_RANGE(0xff0000, 0xffffff) AM_ROM AM_REGION("maincpu", 0x030000) /* ROM bank 1 */ -ADDRESS_MAP_END +void accomm_state::main_map(address_map &map) +{ + map(0x000000, 0x1fffff).rw(this, FUNC(accomm_state::ram_r), FUNC(accomm_state::ram_w)); /* System RAM */ + map(0x200000, 0x3fffff).noprw(); /* External expansion RAM */ + map(0x400000, 0x400000).noprw(); /* MODEM */ + map(0x410000, 0x410000).ram(); /* Econet ID */ + map(0x420000, 0x42000f).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write)); /* 6522 VIA (printer etc) */ + map(0x430000, 0x430001).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write)); /* 2641 ACIA (RS423) */ + map(0x440000, 0x440000).w(this, FUNC(accomm_state::ch00switch_w)); /* CH00SWITCH */ + map(0x450000, 0x457fff).ram().share("vram"); /* Video RAM */ + map(0x458000, 0x459fff).r(this, FUNC(accomm_state::read_keyboard1)); /* Video ULA */ + map(0x45a000, 0x45bfff).r(this, FUNC(accomm_state::read_keyboard2)); /* Video ULA */ + map(0x45fe00, 0x45feff).rw(this, FUNC(accomm_state::sheila_r), FUNC(accomm_state::sheila_w)); /* Video ULA */ + map(0x460000, 0x467fff).ram().share("nvram"); /* CMOS RAM */ + map(0x470000, 0x47001f).rw(m_adlc, FUNC(mc6854_device::read), FUNC(mc6854_device::write)); /* 68B54 (Econet) */ + map(0x480000, 0x7fffff).noprw(); /* Reserved */ + map(0x800000, 0xbfffff).noprw(); /* External expansion IO */ + map(0xc00000, 0xf7ffff).noprw(); /* External expansion ROM */ + map(0xf80000, 0xf9ffff).noprw(); /* Empty */ + map(0xfa0000, 0xfbffff).noprw(); /* ROM bank 4 */ + map(0xfc0000, 0xfcffff).rom().region("maincpu", 0x000000); /* ROM bank 3 */ + map(0xfd0000, 0xfdffff).rom().region("maincpu", 0x010000); /* ROM bank 2 */ + map(0xfe0000, 0xfeffff).rom().region("maincpu", 0x020000); /* ROM bank 0 */ + map(0xff0000, 0xffffff).rom().region("maincpu", 0x030000); /* ROM bank 1 */ +} static INPUT_PORTS_START( accomm ) PORT_START("LINE1.0") |