summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/trs80dt1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/trs80dt1.cpp')
-rw-r--r--src/mame/drivers/trs80dt1.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/mame/drivers/trs80dt1.cpp b/src/mame/drivers/trs80dt1.cpp
index ea83fab4e9f..1977a415d4d 100644
--- a/src/mame/drivers/trs80dt1.cpp
+++ b/src/mame/drivers/trs80dt1.cpp
@@ -143,20 +143,22 @@ WRITE8_MEMBER( trs80dt1_state::port3_w )
m_beep->set_state(BIT(data, 4));
}
-ADDRESS_MAP_START(trs80dt1_state::prg_map)
- AM_RANGE(0x0000, 0x0fff) AM_ROM
- AM_RANGE(0x2000, 0x27ff) AM_READ(dma_r)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(trs80dt1_state::io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xbfff) // A14 not used
- AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0xa800, 0xa83f) AM_MIRROR(0x3c0) AM_DEVREADWRITE("nvram", x2210_device, read, write) // X2210
- AM_RANGE(0xac00, 0xafff) AM_READ(key_r)
- AM_RANGE(0xb000, 0xb3ff) AM_READ_PORT("X9") // also reads some RS232 inputs
- AM_RANGE(0xb400, 0xb7ff) AM_WRITE(store_w)
- AM_RANGE(0xbc00, 0xbc01) AM_MIRROR(0x3fe) AM_DEVREADWRITE("crtc", i8275_device, read, write) // i8276
-ADDRESS_MAP_END
+void trs80dt1_state::prg_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom();
+ map(0x2000, 0x27ff).r(this, FUNC(trs80dt1_state::dma_r));
+}
+
+void trs80dt1_state::io_map(address_map &map)
+{
+ map.global_mask(0xbfff); // A14 not used
+ map(0xa000, 0xa7ff).ram().share("videoram");
+ map(0xa800, 0xa83f).mirror(0x3c0).rw(m_nvram, FUNC(x2210_device::read), FUNC(x2210_device::write)); // X2210
+ map(0xac00, 0xafff).r(this, FUNC(trs80dt1_state::key_r));
+ map(0xb000, 0xb3ff).portr("X9"); // also reads some RS232 inputs
+ map(0xb400, 0xb7ff).w(this, FUNC(trs80dt1_state::store_w));
+ map(0xbc00, 0xbc01).mirror(0x3fe).rw(m_crtc, FUNC(i8275_device::read), FUNC(i8275_device::write)); // i8276
+}
/* Input ports */
static INPUT_PORTS_START( trs80dt1 )