summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/accomm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/accomm.cpp')
-rw-r--r--src/mame/drivers/accomm.cpp49
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")