summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/vip/exp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/vip/exp.cpp')
-rw-r--r--src/devices/bus/vip/exp.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/devices/bus/vip/exp.cpp b/src/devices/bus/vip/exp.cpp
index 132a4d753ef..16374ed7941 100644
--- a/src/devices/bus/vip/exp.cpp
+++ b/src/devices/bus/vip/exp.cpp
@@ -36,7 +36,7 @@ DEFINE_DEVICE_TYPE(VIP_EXPANSION_SLOT, vip_expansion_slot_device, "vip_expansion
//-------------------------------------------------
device_vip_expansion_card_interface::device_vip_expansion_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device)
+ : device_interface(device, "vipexp")
{
m_slot = dynamic_cast<vip_expansion_slot_device *>(device.owner());
}
@@ -53,7 +53,7 @@ device_vip_expansion_card_interface::device_vip_expansion_card_interface(const m
vip_expansion_slot_device::vip_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, VIP_EXPANSION_SLOT, tag, owner, clock),
- device_slot_interface(mconfig, *this),
+ device_single_card_slot_interface<device_vip_expansion_card_interface>(mconfig, *this),
m_write_int(*this),
m_write_dma_out(*this),
m_write_dma_in(*this), m_card(nullptr)
@@ -67,12 +67,7 @@ vip_expansion_slot_device::vip_expansion_slot_device(const machine_config &mconf
void vip_expansion_slot_device::device_start()
{
- m_card = dynamic_cast<device_vip_expansion_card_interface *>(get_card_device());
-
- // resolve callbacks
- m_write_int.resolve_safe();
- m_write_dma_out.resolve_safe();
- m_write_dma_in.resolve_safe();
+ m_card = get_card_device();
}
@@ -182,7 +177,7 @@ uint32_t vip_expansion_slot_device::screen_update(screen_device &screen, bitmap_
return value;
}
-READ_LINE_MEMBER(vip_expansion_slot_device::ef1_r)
+int vip_expansion_slot_device::ef1_r()
{
int state = CLEAR_LINE;
if (m_card != nullptr)
@@ -190,7 +185,7 @@ READ_LINE_MEMBER(vip_expansion_slot_device::ef1_r)
return state;
}
-READ_LINE_MEMBER(vip_expansion_slot_device::ef3_r)
+int vip_expansion_slot_device::ef3_r()
{
int state = CLEAR_LINE;
if (m_card != nullptr)
@@ -198,7 +193,7 @@ READ_LINE_MEMBER(vip_expansion_slot_device::ef3_r)
return state;
}
-READ_LINE_MEMBER(vip_expansion_slot_device::ef4_r)
+int vip_expansion_slot_device::ef4_r()
{
int state = CLEAR_LINE;
if (m_card != nullptr)
@@ -212,19 +207,19 @@ void vip_expansion_slot_device::sc_w(offs_t offset, uint8_t data)
m_card->vip_sc_w(offset, data);
}
-WRITE_LINE_MEMBER(vip_expansion_slot_device::q_w)
+void vip_expansion_slot_device::q_w(int state)
{
if (m_card != nullptr)
m_card->vip_q_w(state);
}
-WRITE_LINE_MEMBER(vip_expansion_slot_device::tpb_w)
+void vip_expansion_slot_device::tpb_w(int state)
{
if (m_card != nullptr)
m_card->vip_tpb_w(state);
}
-WRITE_LINE_MEMBER(vip_expansion_slot_device::run_w)
+void vip_expansion_slot_device::run_w(int state)
{
if (m_card != nullptr)
m_card->vip_run_w(state);