diff options
Diffstat (limited to 'src/devices/bus/ieee488/c8050.cpp')
-rw-r--r-- | src/devices/bus/ieee488/c8050.cpp | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/devices/bus/ieee488/c8050.cpp b/src/devices/bus/ieee488/c8050.cpp index 92169a77d6e..c1dffe45afb 100644 --- a/src/devices/bus/ieee488/c8050.cpp +++ b/src/devices/bus/ieee488/c8050.cpp @@ -184,34 +184,36 @@ const tiny_rom_entry *sfd1001_device::device_rom_region() const // ADDRESS_MAP( c8050_main_mem ) //------------------------------------------------- -ADDRESS_MAP_START(c8050_device::c8050_main_mem) - 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(0xc000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0) -ADDRESS_MAP_END +void c8050_device::c8050_main_mem(address_map &map) +{ + 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(0xc000, 0xffff).rom().region(M6502_TAG, 0); +} //------------------------------------------------- // ADDRESS_MAP( c8050_fdc_mem ) //------------------------------------------------- -ADDRESS_MAP_START(c8050_device::c8050_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_DEVICE(M6530_TAG, mos6530_new_device, rom_map) -ADDRESS_MAP_END +void c8050_device::c8050_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).m(M6530_TAG, FUNC(mos6530_new_device::rom_map)); +} //------------------------------------------------- |