summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/coco3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/coco3.cpp')
-rw-r--r--src/mame/drivers/coco3.cpp35
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);
+}