summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/hexbus/tp0370.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/hexbus/tp0370.h')
-rw-r--r--src/devices/bus/hexbus/tp0370.h21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/devices/bus/hexbus/tp0370.h b/src/devices/bus/hexbus/tp0370.h
index 5f5c02489c0..385059c7fa3 100644
--- a/src/devices/bus/hexbus/tp0370.h
+++ b/src/devices/bus/hexbus/tp0370.h
@@ -28,9 +28,10 @@ public:
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
- template <class Object> static devcb_base &set_ibc_int_callback(device_t &device, Object &&cb) { return downcast<ibc_device &>(device).m_int.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_hexbus_wr_callback(device_t &device, Object &&cb) { return downcast<ibc_device &>(device).m_hexout.set_callback(std::forward<Object>(cb)); }
- template <class Object> static devcb_base &set_hsklatch_wr_callback(device_t &device, Object &&cb) { return downcast<ibc_device &>(device).m_latch.set_callback(std::forward<Object>(cb)); }
+ // Callbacks
+ auto int_cb() { return m_int.bind(); }
+ auto hexbus_cb() { return m_hexout.bind(); }
+ auto hsklatch_cb() { return m_latch.bind(); }
// INT line
devcb_write_line m_int;
@@ -68,19 +69,5 @@ private:
} }
-
-/*
- Links to outside
-*/
-
-#define MCFG_IBC_HEXBUS_OUT_CALLBACK(_write) \
- ibc_device::set_hexbus_wr_callback(*device, DEVCB_##_write);
-
-#define MCFG_IBC_HSKLATCH_CALLBACK(_write) \
- ibc_device::set_hsklatch_wr_callback(*device, DEVCB_##_write);
-
-#define MCFG_IBC_INT_CALLBACK(_write) \
- ibc_device::set_ibc_int_callback(*device, DEVCB_##_write);
-
DECLARE_DEVICE_TYPE_NS(IBC, bus::hexbus, ibc_device)
#endif