summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ql/exp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ql/exp.cpp')
-rw-r--r--src/devices/bus/ql/exp.cpp21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/devices/bus/ql/exp.cpp b/src/devices/bus/ql/exp.cpp
index 433f8e257ff..aadb3905b86 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,13 +66,6 @@ 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
@@ -82,14 +74,11 @@ void ql_expansion_slot_device::device_resolve_objects()
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());
}