From 27d0cb90ffb9bb976a28d544d636247fc4088c77 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sat, 7 Jul 2018 09:37:57 +1000 Subject: (nw) well that was dumb - fix crashing ATA devices, slightly modernise some code --- src/devices/machine/ataintf.cpp | 16 ++++++++-------- src/emu/devcb.h | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/devices/machine/ataintf.cpp b/src/devices/machine/ataintf.cpp index 8cf2d77228c..0e377c5e0ed 100644 --- a/src/devices/machine/ataintf.cpp +++ b/src/devices/machine/ataintf.cpp @@ -251,17 +251,17 @@ void abstract_ata_interface_device::device_start() { if (i == 0) { - dev->m_irq_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, irq0_write_line)); - dev->m_dmarq_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, dmarq0_write_line)); - dev->m_dasp_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, dasp0_write_line)); - dev->m_pdiag_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, pdiag0_write_line)); + dev->m_irq_handler.bind().set(*this, FUNC(abstract_ata_interface_device::irq0_write_line)); + dev->m_dmarq_handler.bind().set(*this, FUNC(abstract_ata_interface_device::dmarq0_write_line)); + dev->m_dasp_handler.bind().set(*this, FUNC(abstract_ata_interface_device::dasp0_write_line)); + dev->m_pdiag_handler.bind().set(*this, FUNC(abstract_ata_interface_device::pdiag0_write_line)); } else { - dev->m_irq_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, irq1_write_line)); - dev->m_dmarq_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, dmarq1_write_line)); - dev->m_dasp_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, dasp1_write_line)); - dev->m_pdiag_handler.set_callback(DEVCB_WRITELINE(*this, abstract_ata_interface_device, pdiag1_write_line)); + dev->m_irq_handler.bind().set(*this, FUNC(abstract_ata_interface_device::irq1_write_line)); + dev->m_dmarq_handler.bind().set(*this, FUNC(abstract_ata_interface_device::dmarq1_write_line)); + dev->m_dasp_handler.bind().set(*this, FUNC(abstract_ata_interface_device::dasp1_write_line)); + dev->m_pdiag_handler.bind().set(*this, FUNC(abstract_ata_interface_device::pdiag1_write_line)); } dev->write_csel(i); diff --git a/src/emu/devcb.h b/src/emu/devcb.h index 5f65235cb70..bd50b60f47d 100644 --- a/src/emu/devcb.h +++ b/src/emu/devcb.h @@ -784,7 +784,7 @@ private: std::enable_if_t::value, delegate_builder > > set(U &obj, T &&func, char const *name) { set_used(); - return delegate_builder >(m_target, m_append, m_target.owner().mconfig().current_device(), devcb_read::cast_reference >(obj), std::forward(func), name); + return delegate_builder >(m_target, m_append, m_target.owner(), devcb_read::cast_reference >(obj), std::forward(func), name); } template @@ -2141,7 +2141,7 @@ private: std::enable_if_t::value, delegate_builder > > set(U &obj, T &&func, char const *name) { set_used(); - return delegate_builder >(m_target, m_append, m_target.owner().mconfig().current_device(), devcb_write::cast_reference >(obj), std::forward(func), name); + return delegate_builder >(m_target, m_append, m_target.owner(), devcb_write::cast_reference >(obj), std::forward(func), name); } template -- cgit v1.2.3