summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a800/a8sio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a800/a8sio.cpp')
-rw-r--r--src/devices/bus/a800/a8sio.cpp46
1 files changed, 18 insertions, 28 deletions
diff --git a/src/devices/bus/a800/a8sio.cpp b/src/devices/bus/a800/a8sio.cpp
index 45fdb47ba45..c7e134a4e46 100644
--- a/src/devices/bus/a800/a8sio.cpp
+++ b/src/devices/bus/a800/a8sio.cpp
@@ -41,7 +41,7 @@
// GLOBAL VARIABLES
//**************************************************************************
-DEFINE_DEVICE_TYPE(A8SIO, a8sio_device, "a8sio", "Atari 8 bit SIO Slot")
+DEFINE_DEVICE_TYPE(A8SIO, a8sio_device, "a8sio", "Atari 8-bit SIO Slot")
//**************************************************************************
// LIVE DEVICE
@@ -53,7 +53,7 @@ DEFINE_DEVICE_TYPE(A8SIO, a8sio_device, "a8sio", "Atari 8 bit SIO Slot")
a8sio_device::a8sio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, A8SIO, tag, owner, clock)
- , device_slot_interface(mconfig, *this)
+ , device_single_card_slot_interface<device_a8sio_card_interface>(mconfig, *this)
, m_out_clock_in_cb(*this)
, m_out_data_in_cb(*this)
, m_out_proceed_cb(*this)
@@ -71,19 +71,9 @@ a8sio_device::a8sio_device(const machine_config &mconfig, const char *tag, devic
void a8sio_device::device_resolve_objects()
{
- m_device = dynamic_cast<device_a8sio_card_interface *>(get_card_device());
-
+ m_device = get_card_device();
if (m_device)
- {
m_device->set_a8sio_device(this);
- }
-
- // resolve callbacks
- m_out_clock_in_cb.resolve_safe();
- m_out_data_in_cb.resolve_safe();
- m_out_proceed_cb.resolve_safe();
- m_out_audio_in_cb.resolve_safe();
- m_out_interrupt_cb.resolve_safe();
}
//-------------------------------------------------
@@ -107,51 +97,51 @@ device_a8sio_card_interface *a8sio_device::get_a8sio_card()
return m_device;
}
-WRITE_LINE_MEMBER( a8sio_device::clock_in_w )
+void a8sio_device::clock_in_w(int state)
{
m_out_clock_in_cb(state);
}
-WRITE_LINE_MEMBER( a8sio_device::clock_out_w )
+void a8sio_device::clock_out_w(int state)
{
if (m_device)
m_device->clock_out_w(state);
}
-WRITE_LINE_MEMBER( a8sio_device::data_in_w )
+void a8sio_device::data_in_w(int state)
{
m_out_data_in_cb(state);
}
-WRITE_LINE_MEMBER( a8sio_device::data_out_w )
+void a8sio_device::data_out_w(int state)
{
if (m_device)
m_device->data_out_w(state);
}
-WRITE_LINE_MEMBER( a8sio_device::command_w )
+void a8sio_device::command_w(int state)
{
if (m_device)
m_device->command_w(state);
}
-WRITE_LINE_MEMBER( a8sio_device::motor_w )
+void a8sio_device::motor_w(int state)
{
if (m_device)
m_device->motor_w(state);
}
-WRITE_LINE_MEMBER( a8sio_device::proceed_w )
+void a8sio_device::proceed_w(int state)
{
m_out_proceed_cb(state);
}
-WRITE8_MEMBER( a8sio_device::audio_in_w )
+void a8sio_device::audio_in_w(uint8_t data)
{
m_out_audio_in_cb(data);
}
-WRITE_LINE_MEMBER( a8sio_device::interrupt_w )
+void a8sio_device::interrupt_w(int state)
{
m_out_interrupt_cb(state);
}
@@ -166,7 +156,7 @@ WRITE_LINE_MEMBER( a8sio_device::interrupt_w )
//-------------------------------------------------
device_a8sio_card_interface::device_a8sio_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
+ : device_interface(device, "a8sio")
, m_a8sio(nullptr)
{
}
@@ -185,24 +175,24 @@ void device_a8sio_card_interface::set_a8sio_device(a8sio_device *sio)
m_a8sio = sio;
}
-WRITE_LINE_MEMBER( device_a8sio_card_interface::clock_out_w )
+void device_a8sio_card_interface::clock_out_w(int state)
{
}
-WRITE_LINE_MEMBER( device_a8sio_card_interface::data_out_w )
+void device_a8sio_card_interface::data_out_w(int state)
{
}
-WRITE_LINE_MEMBER( device_a8sio_card_interface::command_w )
+void device_a8sio_card_interface::command_w(int state)
{
}
-WRITE_LINE_MEMBER( device_a8sio_card_interface::motor_w )
+void device_a8sio_card_interface::motor_w(int state)
{
//printf("device_a8sio_card_interface::motor_w %d\n", state);
}
-WRITE_LINE_MEMBER( device_a8sio_card_interface::ready_w )
+void device_a8sio_card_interface::ready_w(int state)
{
}