diff options
Diffstat (limited to 'src/devices/bus/cbmiec/c1541.cpp')
-rw-r--r-- | src/devices/bus/cbmiec/c1541.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/devices/bus/cbmiec/c1541.cpp b/src/devices/bus/cbmiec/c1541.cpp index 9d708a588a1..d4455704934 100644 --- a/src/devices/bus/cbmiec/c1541.cpp +++ b/src/devices/bus/cbmiec/c1541.cpp @@ -500,12 +500,13 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_device::write ) // ADDRESS_MAP( c1541_mem ) //------------------------------------------------- -ADDRESS_MAP_START(c1541_device_base::c1541_mem) - AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM - AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write) - AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write) - AM_RANGE(0x8000, 0xbfff) AM_MIRROR(0x4000) AM_ROM AM_REGION(M6502_TAG, 0) -ADDRESS_MAP_END +void c1541_device_base::c1541_mem(address_map &map) +{ + map(0x0000, 0x07ff).mirror(0x6000).ram(); + map(0x1800, 0x180f).mirror(0x63f0).rw(M6522_0_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x1c00, 0x1c0f).mirror(0x63f0).rw(M6522_1_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x8000, 0xbfff).mirror(0x4000).rom().region(M6502_TAG, 0); +} //------------------------------------------------- @@ -539,8 +540,9 @@ ADDRESS_MAP_END // ADDRESS_MAP( c1541pdc_mem ) //------------------------------------------------- -ADDRESS_MAP_START(c1541_prologic_dos_classic_device::c1541pdc_mem) - AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write) +void c1541_prologic_dos_classic_device::c1541pdc_mem(address_map &map) +{ + map(0x0000, 0xffff).rw(this, FUNC(c1541_prologic_dos_classic_device::read), FUNC(c1541_prologic_dos_classic_device::write)); /* AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("share1") AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write) AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write) @@ -549,7 +551,7 @@ ADDRESS_MAP_START(c1541_prologic_dos_classic_device::c1541pdc_mem) AM_RANGE(0xa000, 0xb7ff) AM_ROM AM_REGION(M6502_TAG, 0x0000) AM_RANGE(0xb800, 0xb80f) AM_READWRITE(pia_r, pia_w) AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0x2000)*/ -ADDRESS_MAP_END +} WRITE_LINE_MEMBER( c1541_device_base::via0_irq_w ) |