summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/amiga/keyboard/keyboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/amiga/keyboard/keyboard.cpp')
-rw-r--r--src/devices/bus/amiga/keyboard/keyboard.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/devices/bus/amiga/keyboard/keyboard.cpp b/src/devices/bus/amiga/keyboard/keyboard.cpp
index d60ad3256a2..a7c52973239 100644
--- a/src/devices/bus/amiga/keyboard/keyboard.cpp
+++ b/src/devices/bus/amiga/keyboard/keyboard.cpp
@@ -1,5 +1,5 @@
-// license: GPL-2.0+
-// copyright-holders: Dirk Best
+// license:BSD-3-Clause
+// copyright-holders:Dirk Best
/***************************************************************************
Amiga Keyboard Interface
@@ -34,7 +34,7 @@ template class device_finder<device_amiga_keyboard_interface, true>;
amiga_keyboard_bus_device::amiga_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, AMIGA_KEYBOARD_INTERFACE, tag, owner, clock),
- device_slot_interface(mconfig, *this),
+ device_single_card_slot_interface<device_amiga_keyboard_interface>(mconfig, *this),
m_kbd(nullptr),
m_kclk_handler(*this), m_kdat_handler(*this), m_krst_handler(*this)
{
@@ -55,12 +55,7 @@ amiga_keyboard_bus_device::~amiga_keyboard_bus_device()
void amiga_keyboard_bus_device::device_start()
{
// get connected keyboard
- m_kbd = dynamic_cast<device_amiga_keyboard_interface *>(get_card_device());
-
- // resolve callbacks
- m_kclk_handler.resolve_safe();
- m_kdat_handler.resolve_safe();
- m_krst_handler.resolve_safe();
+ m_kbd = get_card_device();
}
//-------------------------------------------------
@@ -75,7 +70,7 @@ void amiga_keyboard_bus_device::device_reset()
// host to module interface
//-------------------------------------------------
-WRITE_LINE_MEMBER( amiga_keyboard_bus_device::kdat_in_w )
+void amiga_keyboard_bus_device::kdat_in_w(int state)
{
if (m_kbd)
m_kbd->kdat_w(state);
@@ -91,7 +86,7 @@ WRITE_LINE_MEMBER( amiga_keyboard_bus_device::kdat_in_w )
//-------------------------------------------------
device_amiga_keyboard_interface::device_amiga_keyboard_interface(const machine_config &mconfig, device_t &device) :
- device_slot_card_interface(mconfig, device)
+ device_interface(device, "amigakbd")
{
m_host = dynamic_cast<amiga_keyboard_bus_device *>(device.owner());
}