summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ecbbus/ecbbus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ecbbus/ecbbus.cpp')
-rw-r--r--src/devices/bus/ecbbus/ecbbus.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/devices/bus/ecbbus/ecbbus.cpp b/src/devices/bus/ecbbus/ecbbus.cpp
index c5499f1fb6c..d222573cdf4 100644
--- a/src/devices/bus/ecbbus/ecbbus.cpp
+++ b/src/devices/bus/ecbbus/ecbbus.cpp
@@ -29,8 +29,9 @@ DEFINE_DEVICE_TYPE(ECBBUS_SLOT, ecbbus_slot_device, "ecbbus_slot", "ECB bus slot
ecbbus_slot_device::ecbbus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, ECBBUS_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this),
- m_bus_tag(nullptr), m_bus_num(0), m_bus(nullptr)
+ device_single_card_slot_interface<device_ecbbus_card_interface>(mconfig, *this),
+ m_bus(*this, finder_base::DUMMY_TAG),
+ m_bus_num(0)
{
}
@@ -41,9 +42,9 @@ ecbbus_slot_device::ecbbus_slot_device(const machine_config &mconfig, const char
void ecbbus_slot_device::device_start()
{
- m_bus = machine().device<ecbbus_device>(m_bus_tag);
- device_ecbbus_card_interface *dev = dynamic_cast<device_ecbbus_card_interface *>(get_card_device());
- if (dev) m_bus->add_card(dev, m_bus_num);
+ device_ecbbus_card_interface *const dev = get_card_device();
+ if (dev)
+ m_bus->add_card(*dev, m_bus_num);
}
@@ -65,7 +66,7 @@ DEFINE_DEVICE_TYPE(ECBBUS, ecbbus_device, "ecbbus", "ECB bus")
//-------------------------------------------------
device_ecbbus_card_interface::device_ecbbus_card_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device)
+ device_interface(device, "ecbbus")
{
m_slot = dynamic_cast<ecbbus_slot_device *>(device.owner());
}
@@ -105,9 +106,9 @@ void ecbbus_device::device_start()
// add_card - add ECB bus card
//-------------------------------------------------
-void ecbbus_device::add_card(device_ecbbus_card_interface *card, int pos)
+void ecbbus_device::add_card(device_ecbbus_card_interface &card, int pos)
{
- m_ecbbus_device[pos] = card;
+ m_ecbbus_device[pos] = &card;
}