diff options
Diffstat (limited to 'src/devices/bus/coco/coco_multi.cpp')
-rw-r--r-- | src/devices/bus/coco/coco_multi.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/devices/bus/coco/coco_multi.cpp b/src/devices/bus/coco/coco_multi.cpp index 5e1737d7347..32813925984 100644 --- a/src/devices/bus/coco/coco_multi.cpp +++ b/src/devices/bus/coco/coco_multi.cpp @@ -111,7 +111,7 @@ MACHINE_CONFIG_END // GLOBAL VARIABLES //************************************************************************** -const device_type COCO_MULTIPAK = device_creator<coco_multipak_device>; +DEFINE_DEVICE_TYPE(COCO_MULTIPAK, coco_multipak_device, "coco_multipack", "CoCo Multi-Pak Interface") @@ -124,8 +124,9 @@ const device_type COCO_MULTIPAK = device_creator<coco_multipak_device>; //------------------------------------------------- coco_multipak_device::coco_multipak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, COCO_MULTIPAK, "CoCo Multi-Pak Interface", tag, owner, clock, "coco_multipak", __FILE__), - device_cococart_interface( mconfig, *this ), m_select(0) + : device_t(mconfig, COCO_MULTIPAK, tag, owner, clock) + , device_cococart_interface(mconfig, *this) + , m_slots(*this, "slot%u", 1), m_select(0) { } @@ -136,12 +137,6 @@ coco_multipak_device::coco_multipak_device(const machine_config &mconfig, const void coco_multipak_device::device_start() { - // identify slots - m_slots[0] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT1_TAG)); - m_slots[1] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT2_TAG)); - m_slots[2] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT3_TAG)); - m_slots[3] = dynamic_cast<cococart_slot_device *>(subdevice(SLOT4_TAG)); - // install $FF7F handler write8_delegate wh = write8_delegate(FUNC(coco_multipak_device::ff7f_write), this); machine().device(":maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xFF7F, 0xFF7F, wh); |