diff options
Diffstat (limited to 'src/mame/drivers/coco3.cpp')
-rw-r--r-- | src/mame/drivers/coco3.cpp | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/src/mame/drivers/coco3.cpp b/src/mame/drivers/coco3.cpp index 24e2d0292da..a1bd10a3cf1 100644 --- a/src/mame/drivers/coco3.cpp +++ b/src/mame/drivers/coco3.cpp @@ -30,29 +30,30 @@ // ADDRESS_MAP( coco3_mem ) //------------------------------------------------- -ADDRESS_MAP_START(coco3_state::coco3_mem) - AM_RANGE(0x0000, 0x1FFF) AM_READ_BANK("rbank0") AM_WRITE_BANK("wbank0") - AM_RANGE(0x2000, 0x3FFF) AM_READ_BANK("rbank1") AM_WRITE_BANK("wbank1") - AM_RANGE(0x4000, 0x5FFF) AM_READ_BANK("rbank2") AM_WRITE_BANK("wbank2") - AM_RANGE(0x6000, 0x7FFF) AM_READ_BANK("rbank3") AM_WRITE_BANK("wbank3") - AM_RANGE(0x8000, 0x9FFF) AM_READ_BANK("rbank4") AM_WRITE_BANK("wbank4") - AM_RANGE(0xA000, 0xBFFF) AM_READ_BANK("rbank5") AM_WRITE_BANK("wbank5") - AM_RANGE(0xC000, 0xDFFF) AM_READ_BANK("rbank6") AM_WRITE_BANK("wbank6") - AM_RANGE(0xE000, 0xFDFF) AM_READ_BANK("rbank7") AM_WRITE_BANK("wbank7") - AM_RANGE(0xFE00, 0xFEFF) AM_READ_BANK("rbank8") AM_WRITE_BANK("wbank8") - AM_RANGE(0xFF00, 0xFF1F) AM_READWRITE(ff00_read, ff00_write) - AM_RANGE(0xFF20, 0xFF3F) AM_READWRITE(ff20_read, ff20_write) - AM_RANGE(0xFF40, 0xFF5F) AM_READWRITE(ff40_read, ff40_write) - AM_RANGE(0xFF60, 0xFF8F) AM_READWRITE(ff60_read, ff60_write) - AM_RANGE(0xFF90, 0xFFDF) AM_DEVREADWRITE(GIME_TAG, gime_device, read, write) +void coco3_state::coco3_mem(address_map &map) +{ + map(0x0000, 0x1FFF).bankr("rbank0").bankw("wbank0"); + map(0x2000, 0x3FFF).bankr("rbank1").bankw("wbank1"); + map(0x4000, 0x5FFF).bankr("rbank2").bankw("wbank2"); + map(0x6000, 0x7FFF).bankr("rbank3").bankw("wbank3"); + map(0x8000, 0x9FFF).bankr("rbank4").bankw("wbank4"); + map(0xA000, 0xBFFF).bankr("rbank5").bankw("wbank5"); + map(0xC000, 0xDFFF).bankr("rbank6").bankw("wbank6"); + map(0xE000, 0xFDFF).bankr("rbank7").bankw("wbank7"); + map(0xFE00, 0xFEFF).bankr("rbank8").bankw("wbank8"); + map(0xFF00, 0xFF1F).rw(this, FUNC(coco3_state::ff00_read), FUNC(coco3_state::ff00_write)); + map(0xFF20, 0xFF3F).rw(this, FUNC(coco3_state::ff20_read), FUNC(coco3_state::ff20_write)); + map(0xFF40, 0xFF5F).rw(this, FUNC(coco3_state::ff40_read), FUNC(coco3_state::ff40_write)); + map(0xFF60, 0xFF8F).rw(this, FUNC(coco3_state::ff60_read), FUNC(coco3_state::ff60_write)); + map(0xFF90, 0xFFDF).rw(m_gime, FUNC(gime_device::read), FUNC(gime_device::write)); // While Tepolt and other sources say that the interrupt vectors are mapped to // the same memory accessed at $BFFx, William Astle offered evidence that this // memory on a CoCo 3 is not the same. // // http://lost.l-w.ca/0x05/coco3-and-interrupt-vectors/ - AM_RANGE(0xFFE0, 0xFFFF) AM_ROM AM_REGION(MAINCPU_TAG, 0x7FE0) -ADDRESS_MAP_END + map(0xFFE0, 0xFFFF).rom().region(MAINCPU_TAG, 0x7FE0); +} |