summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ieee488/c2040.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ieee488/c2040.cpp')
-rw-r--r--src/devices/bus/ieee488/c2040.cpp48
1 files changed, 25 insertions, 23 deletions
diff --git a/src/devices/bus/ieee488/c2040.cpp b/src/devices/bus/ieee488/c2040.cpp
index f8b28152f3b..1e4adf7f19e 100644
--- a/src/devices/bus/ieee488/c2040.cpp
+++ b/src/devices/bus/ieee488/c2040.cpp
@@ -168,35 +168,37 @@ const tiny_rom_entry *c4040_device::device_rom_region() const
// ADDRESS_MAP( c2040_main_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c2040_device::c2040_main_mem)
- ADDRESS_MAP_GLOBAL_MASK(0x7fff)
- AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x0100) AM_DEVICE(M6532_0_TAG, mos6532_new_device, ram_map)
- AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x0100) AM_DEVICE(M6532_1_TAG, mos6532_new_device, ram_map)
- AM_RANGE(0x0200, 0x021f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_0_TAG, mos6532_new_device, io_map)
- AM_RANGE(0x0280, 0x029f) AM_MIRROR(0x0d60) AM_DEVICE(M6532_1_TAG, mos6532_new_device, io_map)
- AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share2")
- AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share3")
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0c00) AM_RAM AM_SHARE("share4")
- AM_RANGE(0x5000, 0x7fff) AM_ROM AM_REGION(M6502_TAG, 0)
-ADDRESS_MAP_END
+void c2040_device::c2040_main_mem(address_map &map)
+{
+ map.global_mask(0x7fff);
+ map(0x0000, 0x007f).mirror(0x0100).m(M6532_0_TAG, FUNC(mos6532_new_device::ram_map));
+ map(0x0080, 0x00ff).mirror(0x0100).m(M6532_1_TAG, FUNC(mos6532_new_device::ram_map));
+ map(0x0200, 0x021f).mirror(0x0d60).m(M6532_0_TAG, FUNC(mos6532_new_device::io_map));
+ map(0x0280, 0x029f).mirror(0x0d60).m(M6532_1_TAG, FUNC(mos6532_new_device::io_map));
+ map(0x1000, 0x13ff).mirror(0x0c00).ram().share("share1");
+ map(0x2000, 0x23ff).mirror(0x0c00).ram().share("share2");
+ map(0x3000, 0x33ff).mirror(0x0c00).ram().share("share3");
+ map(0x4000, 0x43ff).mirror(0x0c00).ram().share("share4");
+ map(0x5000, 0x7fff).rom().region(M6502_TAG, 0);
+}
//-------------------------------------------------
// ADDRESS_MAP( c2040_fdc_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(c2040_device::c2040_fdc_mem)
- ADDRESS_MAP_GLOBAL_MASK(0x1fff)
- AM_RANGE(0x0000, 0x003f) AM_MIRROR(0x0300) AM_DEVICE(M6530_TAG, mos6530_new_device, ram_map)
- AM_RANGE(0x0040, 0x004f) AM_MIRROR(0x0330) AM_DEVICE(M6522_TAG, via6522_device, map)
- AM_RANGE(0x0080, 0x008f) AM_MIRROR(0x0330) AM_DEVICE(M6530_TAG, mos6530_new_device, io_map)
- AM_RANGE(0x0400, 0x07ff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("share2")
- AM_RANGE(0x0c00, 0x0fff) AM_RAM AM_SHARE("share3")
- AM_RANGE(0x1000, 0x13ff) AM_RAM AM_SHARE("share4")
- AM_RANGE(0x1c00, 0x1fff) AM_ROM AM_REGION(M6504_TAG, 0)
-ADDRESS_MAP_END
+void c2040_device::c2040_fdc_mem(address_map &map)
+{
+ map.global_mask(0x1fff);
+ map(0x0000, 0x003f).mirror(0x0300).m(M6530_TAG, FUNC(mos6530_new_device::ram_map));
+ map(0x0040, 0x004f).mirror(0x0330).m(M6522_TAG, FUNC(via6522_device::map));
+ map(0x0080, 0x008f).mirror(0x0330).m(M6530_TAG, FUNC(mos6530_new_device::io_map));
+ map(0x0400, 0x07ff).ram().share("share1");
+ map(0x0800, 0x0bff).ram().share("share2");
+ map(0x0c00, 0x0fff).ram().share("share3");
+ map(0x1000, 0x13ff).ram().share("share4");
+ map(0x1c00, 0x1fff).rom().region(M6504_TAG, 0);
+}
//-------------------------------------------------