summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sgikbd/sgikbd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/sgikbd/sgikbd.cpp')
-rw-r--r--src/devices/bus/sgikbd/sgikbd.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/devices/bus/sgikbd/sgikbd.cpp b/src/devices/bus/sgikbd/sgikbd.cpp
index 4ad2d1f925a..478a65243b5 100644
--- a/src/devices/bus/sgikbd/sgikbd.cpp
+++ b/src/devices/bus/sgikbd/sgikbd.cpp
@@ -21,7 +21,7 @@ sgi_keyboard_port_device::sgi_keyboard_port_device(machine_config const &mconfig
sgi_keyboard_port_device::sgi_keyboard_port_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
+ , device_single_card_slot_interface<device_sgi_keyboard_port_interface>(mconfig, *this)
, m_rxd(0)
, m_rxd_handler(*this)
, m_dev(nullptr)
@@ -34,16 +34,7 @@ sgi_keyboard_port_device::~sgi_keyboard_port_device()
void sgi_keyboard_port_device::device_config_complete()
{
- m_dev = dynamic_cast<device_sgi_keyboard_port_interface *>(get_card_device());
-}
-
-void sgi_keyboard_port_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const card(get_card_device());
- if (card && !dynamic_cast<device_sgi_keyboard_port_interface *>(card))
- {
- logerror("Card device %s (%s) does not implement device_sgi_keyboard_port_interface\n", card->tag(), card->name());
- }
+ m_dev = get_card_device();
}
void sgi_keyboard_port_device::device_resolve_objects()
@@ -53,11 +44,6 @@ void sgi_keyboard_port_device::device_resolve_objects()
void sgi_keyboard_port_device::device_start()
{
- if (get_card_device() && !m_dev)
- {
- throw emu_fatalerror("Card device %s (%s) does not implement device_sgi_keyboard_port_interface\n", get_card_device()->tag(), get_card_device()->name());
- }
-
save_item(NAME(m_rxd));
m_rxd = 1;
@@ -71,7 +57,7 @@ WRITE_LINE_MEMBER(sgi_keyboard_port_device::write_txd)
}
device_sgi_keyboard_port_interface::device_sgi_keyboard_port_interface(machine_config const &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
+ : device_interface(device, "sgikbd")
, m_port(dynamic_cast<sgi_keyboard_port_device *>(device.owner()))
{
}