summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/bbc/tube/tube_80286.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/bbc/tube/tube_80286.cpp')
-rw-r--r--src/devices/bus/bbc/tube/tube_80286.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/devices/bus/bbc/tube/tube_80286.cpp b/src/devices/bus/bbc/tube/tube_80286.cpp
index 601793b6958..7f7484c7d1e 100644
--- a/src/devices/bus/bbc/tube/tube_80286.cpp
+++ b/src/devices/bus/bbc/tube/tube_80286.cpp
@@ -24,22 +24,24 @@ DEFINE_DEVICE_TYPE(BBC_TUBE_80286, bbc_tube_80286_device, "bbc_tube_80286", "Aco
// ADDRESS_MAP( tube_80286_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(bbc_tube_80286_device::tube_80286_mem)
- ADDRESS_MAP_GLOBAL_MASK(0xfffff)
- AM_RANGE(0x00000, 0xbffff) AM_RAM AM_SHARE("ram")
- AM_RANGE(0xc0000, 0xc3fff) AM_ROM AM_REGION("bootstrap", 0) AM_MIRROR(0x3c000)
-ADDRESS_MAP_END
+void bbc_tube_80286_device::tube_80286_mem(address_map &map)
+{
+ map.global_mask(0xfffff);
+ map(0x00000, 0xbffff).ram().share("ram");
+ map(0xc0000, 0xc3fff).rom().region("bootstrap", 0).mirror(0x3c000);
+}
//-------------------------------------------------
// ADDRESS_MAP( tube_80286_io )
//-------------------------------------------------
-ADDRESS_MAP_START(bbc_tube_80286_device::tube_80286_io)
- ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x50, 0x51) AM_READ8(disable_boot_rom, 0x00ff)
- AM_RANGE(0x60, 0x61) AM_WRITE8(irq_latch_w, 0x00ff)
- AM_RANGE(0x80, 0x8f) AM_DEVREADWRITE8("ula", tube_device, parasite_r, parasite_w, 0x00ff)
-ADDRESS_MAP_END
+void bbc_tube_80286_device::tube_80286_io(address_map &map)
+{
+ map.unmap_value_high();
+ map(0x50, 0x50).r(this, FUNC(bbc_tube_80286_device::disable_boot_rom));
+ map(0x60, 0x60).w(this, FUNC(bbc_tube_80286_device::irq_latch_w));
+ map(0x80, 0x8f).rw("ula", FUNC(tube_device::parasite_r), FUNC(tube_device::parasite_w)).umask16(0x00ff);
+}
//-------------------------------------------------
// ROM( tube_80286 )