summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sunkbd/sunkbd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/sunkbd/sunkbd.cpp')
-rw-r--r--src/devices/bus/sunkbd/sunkbd.cpp42
1 files changed, 4 insertions, 38 deletions
diff --git a/src/devices/bus/sunkbd/sunkbd.cpp b/src/devices/bus/sunkbd/sunkbd.cpp
index 82152b5f905..315b9332130 100644
--- a/src/devices/bus/sunkbd/sunkbd.cpp
+++ b/src/devices/bus/sunkbd/sunkbd.cpp
@@ -95,13 +95,6 @@
DEFINE_DEVICE_TYPE(SUNKBD_PORT, sun_keyboard_port_device, "sunkbd", "Sun Keyboard Port")
-int const device_sun_keyboard_port_interface::START_BIT_COUNT;
-int const device_sun_keyboard_port_interface::DATA_BIT_COUNT;
-device_serial_interface::parity_t const device_sun_keyboard_port_interface::PARITY;
-device_serial_interface::stop_bits_t const device_sun_keyboard_port_interface::STOP_BITS;
-int const device_sun_keyboard_port_interface::BAUD;
-
-
sun_keyboard_port_device::sun_keyboard_port_device(
machine_config const &mconfig,
@@ -120,7 +113,7 @@ sun_keyboard_port_device::sun_keyboard_port_device(
device_t *owner,
uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
+ , device_single_card_slot_interface<device_sun_keyboard_port_interface>(mconfig, *this)
, m_rxd(0)
, m_rxd_handler(*this)
, m_dev(nullptr)
@@ -135,39 +128,12 @@ sun_keyboard_port_device::~sun_keyboard_port_device()
void sun_keyboard_port_device::device_config_complete()
{
- m_dev = dynamic_cast<device_sun_keyboard_port_interface *>(get_card_device());
-}
-
-
-void sun_keyboard_port_device::device_validity_check(validity_checker &valid) const
-{
- device_t *const card(get_card_device());
- if (card && !dynamic_cast<device_sun_keyboard_port_interface *>(card))
- {
- osd_printf_error(
- "Card device %s (%s) does not implement device_sun_keyboard_port_interface\n",
- card->tag(),
- card->name());
- }
-}
-
-
-void sun_keyboard_port_device::device_resolve_objects()
-{
- m_rxd_handler.resolve_safe();
+ m_dev = get_card_device();
}
void sun_keyboard_port_device::device_start()
{
- if (get_card_device() && !m_dev)
- {
- throw emu_fatalerror(
- "Card device %s (%s) does not implement device_sun_keyboard_port_interface\n",
- get_card_device()->tag(),
- get_card_device()->name());
- }
-
save_item(NAME(m_rxd));
m_rxd = 1;
@@ -176,7 +142,7 @@ void sun_keyboard_port_device::device_start()
}
-WRITE_LINE_MEMBER( sun_keyboard_port_device::write_txd )
+void sun_keyboard_port_device::write_txd(int state)
{
if (m_dev)
m_dev->input_txd(state);
@@ -185,7 +151,7 @@ WRITE_LINE_MEMBER( sun_keyboard_port_device::write_txd )
device_sun_keyboard_port_interface::device_sun_keyboard_port_interface(machine_config const &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
+ : device_interface(device, "sunkbd")
, m_port(dynamic_cast<sun_keyboard_port_device *>(device.owner()))
{
}