diff options
Diffstat (limited to 'src/devices/bus/epson_sio/epson_sio.cpp')
-rw-r--r-- | src/devices/bus/epson_sio/epson_sio.cpp | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/src/devices/bus/epson_sio/epson_sio.cpp b/src/devices/bus/epson_sio/epson_sio.cpp index 32a572bb45d..926c1080ec2 100644 --- a/src/devices/bus/epson_sio/epson_sio.cpp +++ b/src/devices/bus/epson_sio/epson_sio.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(EPSON_SIO, epson_sio_device, "epson_sio", "EPSON SIO port") //------------------------------------------------- device_epson_sio_interface::device_epson_sio_interface(const machine_config &mconfig, device_t &device) : - device_slot_card_interface(mconfig, device) + device_interface(device, "epsonsio") { m_slot = dynamic_cast<epson_sio_device *>(device.owner()); } @@ -55,7 +55,7 @@ device_epson_sio_interface::~device_epson_sio_interface() epson_sio_device::epson_sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, EPSON_SIO, tag, owner, clock), - device_slot_interface(mconfig, *this), + device_single_card_slot_interface<device_epson_sio_interface>(mconfig, *this), m_cart(nullptr), m_write_rx(*this), m_write_pin(*this) @@ -78,29 +78,17 @@ epson_sio_device::~epson_sio_device() void epson_sio_device::device_start() { - m_cart = dynamic_cast<device_epson_sio_interface *>(get_card_device()); - - m_write_rx.resolve_safe(); - m_write_pin.resolve_safe(); -} - - -//------------------------------------------------- -// device_reset - device-specific reset -//------------------------------------------------- - -void epson_sio_device::device_reset() -{ + m_cart = get_card_device(); } -WRITE_LINE_MEMBER( epson_sio_device::tx_w ) +void epson_sio_device::tx_w(int state) { if (m_cart != nullptr) m_cart->tx_w(state); } -WRITE_LINE_MEMBER( epson_sio_device::pout_w ) +void epson_sio_device::pout_w(int state) { if (m_cart != nullptr) m_cart->pout_w(state); |