summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mc10.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mc10.cpp')
-rw-r--r--src/mame/drivers/mc10.cpp66
1 files changed, 35 insertions, 31 deletions
diff --git a/src/mame/drivers/mc10.cpp b/src/mame/drivers/mc10.cpp
index d0edc145c26..d8dbf426ccd 100644
--- a/src/mame/drivers/mc10.cpp
+++ b/src/mame/drivers/mc10.cpp
@@ -295,37 +295,41 @@ void mc10_state::driver_start()
ADDRESS MAPS
***************************************************************************/
-ADDRESS_MAP_START(mc10_state::mc10_mem)
- AM_RANGE(0x0100, 0x3fff) AM_NOP /* unused */
- AM_RANGE(0x4000, 0x4fff) AM_RAMBANK("bank1") /* 4k internal ram */
- AM_RANGE(0x5000, 0x8fff) AM_RAMBANK("bank2") /* 16k memory expansion */
- AM_RANGE(0x9000, 0xbffe) AM_NOP /* unused */
- AM_RANGE(0xbfff, 0xbfff) AM_READWRITE(mc10_bfff_r, mc10_bfff_w)
- AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000) /* ROM */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mc10_state::mc10_io)
- AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READWRITE(mc10_port1_r, mc10_port1_w)
- AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(mc10_port2_r, mc10_port2_w)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mc10_state::alice32_mem)
- AM_RANGE(0x0100, 0x2fff) AM_NOP /* unused */
- AM_RANGE(0x3000, 0x4fff) AM_RAMBANK("bank1") /* 8k internal ram */
- AM_RANGE(0x5000, 0x8fff) AM_RAMBANK("bank2") /* 16k memory expansion */
- AM_RANGE(0x9000, 0xafff) AM_NOP /* unused */
- AM_RANGE(0xbf20, 0xbf29) AM_DEVREADWRITE("ef9345", ef9345_device, data_r, data_w)
- AM_RANGE(0xbfff, 0xbfff) AM_READWRITE(mc10_bfff_r, alice32_bfff_w)
- AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000) /* ROM */
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(mc10_state::alice90_mem)
- AM_RANGE(0x0100, 0x2fff) AM_NOP /* unused */
- AM_RANGE(0x3000, 0xafff) AM_RAMBANK("bank1") /* 32k internal ram */
- AM_RANGE(0xbf20, 0xbf29) AM_DEVREADWRITE("ef9345", ef9345_device, data_r, data_w)
- AM_RANGE(0xbfff, 0xbfff) AM_READWRITE(alice90_bfff_r, alice32_bfff_w)
- AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000) /* ROM */
-ADDRESS_MAP_END
+void mc10_state::mc10_mem(address_map &map)
+{
+ map(0x0100, 0x3fff).noprw(); /* unused */
+ map(0x4000, 0x4fff).bankrw("bank1"); /* 4k internal ram */
+ map(0x5000, 0x8fff).bankrw("bank2"); /* 16k memory expansion */
+ map(0x9000, 0xbffe).noprw(); /* unused */
+ map(0xbfff, 0xbfff).rw(this, FUNC(mc10_state::mc10_bfff_r), FUNC(mc10_state::mc10_bfff_w));
+ map(0xe000, 0xffff).rom().region("maincpu", 0x0000); /* ROM */
+}
+
+void mc10_state::mc10_io(address_map &map)
+{
+ map(M6801_PORT1, M6801_PORT1).rw(this, FUNC(mc10_state::mc10_port1_r), FUNC(mc10_state::mc10_port1_w));
+ map(M6801_PORT2, M6801_PORT2).rw(this, FUNC(mc10_state::mc10_port2_r), FUNC(mc10_state::mc10_port2_w));
+}
+
+void mc10_state::alice32_mem(address_map &map)
+{
+ map(0x0100, 0x2fff).noprw(); /* unused */
+ map(0x3000, 0x4fff).bankrw("bank1"); /* 8k internal ram */
+ map(0x5000, 0x8fff).bankrw("bank2"); /* 16k memory expansion */
+ map(0x9000, 0xafff).noprw(); /* unused */
+ map(0xbf20, 0xbf29).rw(m_ef9345, FUNC(ef9345_device::data_r), FUNC(ef9345_device::data_w));
+ map(0xbfff, 0xbfff).rw(this, FUNC(mc10_state::mc10_bfff_r), FUNC(mc10_state::alice32_bfff_w));
+ map(0xc000, 0xffff).rom().region("maincpu", 0x0000); /* ROM */
+}
+
+void mc10_state::alice90_mem(address_map &map)
+{
+ map(0x0100, 0x2fff).noprw(); /* unused */
+ map(0x3000, 0xafff).bankrw("bank1"); /* 32k internal ram */
+ map(0xbf20, 0xbf29).rw(m_ef9345, FUNC(ef9345_device::data_r), FUNC(ef9345_device::data_w));
+ map(0xbfff, 0xbfff).rw(this, FUNC(mc10_state::alice90_bfff_r), FUNC(mc10_state::alice32_bfff_w));
+ map(0xc000, 0xffff).rom().region("maincpu", 0x0000); /* ROM */
+}
/***************************************************************************
INPUT PORTS