diff options
Diffstat (limited to 'src/devices/bus/vip/exp.cpp')
-rw-r--r-- | src/devices/bus/vip/exp.cpp | 23 |
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); |