diff options
Diffstat (limited to 'src/devices/bus/ql/exp.cpp')
-rw-r--r-- | src/devices/bus/ql/exp.cpp | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/src/devices/bus/ql/exp.cpp b/src/devices/bus/ql/exp.cpp index 433f8e257ff..ab2bb007d80 100644 --- a/src/devices/bus/ql/exp.cpp +++ b/src/devices/bus/ql/exp.cpp @@ -28,7 +28,7 @@ DEFINE_DEVICE_TYPE(QL_EXPANSION_SLOT, ql_expansion_slot_device, "ql_expansion_sl //------------------------------------------------- device_ql_expansion_card_interface::device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device) : - device_slot_card_interface(mconfig, device), + device_interface(device, "qlexp"), m_slot(dynamic_cast<ql_expansion_slot_device *>(device.owner())), m_romoeh(0) { @@ -37,8 +37,6 @@ device_ql_expansion_card_interface::device_ql_expansion_card_interface(const mac void device_ql_expansion_card_interface::interface_post_start() { - device_slot_card_interface::interface_post_start(); - device().save_item(NAME(m_romoeh)); } @@ -54,11 +52,12 @@ void device_ql_expansion_card_interface::interface_post_start() ql_expansion_slot_device::ql_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, QL_EXPANSION_SLOT, tag, owner, clock), - device_slot_interface(mconfig, *this), + device_single_card_slot_interface<device_ql_expansion_card_interface>(mconfig, *this), m_write_ipl0l(*this), m_write_ipl1l(*this), m_write_berrl(*this), - m_write_extintl(*this), m_card(nullptr) + m_write_extintl(*this), + m_card(nullptr) { } @@ -67,29 +66,13 @@ ql_expansion_slot_device::ql_expansion_slot_device(const machine_config &mconfig // device_start - device-specific startup //------------------------------------------------- -void ql_expansion_slot_device::device_validity_check(validity_checker &valid) const -{ - device_t *const card(get_card_device()); - if (card && !dynamic_cast<device_ql_expansion_card_interface *>(card)) - osd_printf_error("Card device %s (%s) does not implement device_ql_expansion_card_interface\n", card->tag(), card->name()); -} - void ql_expansion_slot_device::device_resolve_objects() { - // resolve callbacks - m_write_ipl0l.resolve_safe(); - m_write_ipl1l.resolve_safe(); - m_write_berrl.resolve_safe(); - m_write_extintl.resolve_safe(); - - m_card = dynamic_cast<device_ql_expansion_card_interface *>(get_card_device()); + m_card = get_card_device(); } void ql_expansion_slot_device::device_start() { - device_t *const card(get_card_device()); - if (card && !m_card) - throw emu_fatalerror("ql_expansion_slot_device: card device %s (%s) does not implement device_ql_expansion_card_interface\n", card->tag(), card->name()); } |