summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/tms9914.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/tms9914.h')
-rw-r--r--src/devices/machine/tms9914.h59
1 files changed, 6 insertions, 53 deletions
diff --git a/src/devices/machine/tms9914.h b/src/devices/machine/tms9914.h
index 08b413af2d9..14df9d80647 100644
--- a/src/devices/machine/tms9914.h
+++ b/src/devices/machine/tms9914.h
@@ -35,44 +35,6 @@
#pragma once
-// Set read and write callbacks to access DIO bus on IEEE-488
-#define MCFG_TMS9914_DIO_READWRITE_CB(_read , _write) \
- downcast<tms9914_device &>(*device).set_dio_read_cb(DEVCB_##_read); \
- downcast<tms9914_device &>(*device).set_dio_write_cb(DEVCB_##_write);
-
-// Set write callbacks to access uniline signals on IEEE-488
-#define MCFG_TMS9914_EOI_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_EOI , DEVCB_##_write);
-
-#define MCFG_TMS9914_DAV_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_DAV , DEVCB_##_write);
-
-#define MCFG_TMS9914_NRFD_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_NRFD , DEVCB_##_write);
-
-#define MCFG_TMS9914_NDAC_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_NDAC , DEVCB_##_write);
-
-#define MCFG_TMS9914_IFC_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_IFC , DEVCB_##_write);
-
-#define MCFG_TMS9914_SRQ_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_SRQ , DEVCB_##_write);
-
-#define MCFG_TMS9914_ATN_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_ATN , DEVCB_##_write);
-
-#define MCFG_TMS9914_REN_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_488_signal_write_cb(tms9914_device::IEEE_488_REN , DEVCB_##_write);
-
-// Set write callback for INT signal
-#define MCFG_TMS9914_INT_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_int_write_cb(DEVCB_##_write);
-
-// Set write callback for ACCRQ signal
-#define MCFG_TMS9914_ACCRQ_WRITE_CB(_write) \
- downcast<tms9914_device &>(*device).set_accrq_write_cb(DEVCB_##_write);
-
class tms9914_device : public device_t
{
public:
@@ -92,23 +54,11 @@ public:
IEEE_488_SIGNAL_COUNT
};
- template <class Object> devcb_base& set_dio_read_cb(Object &&cb)
- { return m_dio_read_func.set_callback(std::forward<Object>(cb)); }
-
- template <class Object> devcb_base& set_dio_write_cb(Object &&cb)
- { return m_dio_write_func.set_callback(std::forward<Object>(cb)); }
-
- template <class Object> devcb_base& set_488_signal_write_cb(ieee_488_signal_t signal , Object &&cb)
- { return m_signal_wr_fns[ signal ].set_callback(std::forward<Object>(cb)); }
-
- template <class Object> devcb_base& set_int_write_cb(Object &&cb)
- { return m_int_write_func.set_callback(std::forward<Object>(cb)); }
-
- template <class Object> devcb_base& set_accrq_write_cb(Object &&cb)
- { return m_accrq_write_func.set_callback(std::forward<Object>(cb)); }
-
+ // Set read and write callbacks to access DIO bus on IEEE-488
auto dio_read_cb() { return m_dio_read_func.bind(); }
auto dio_write_cb() { return m_dio_write_func.bind(); }
+
+ // Set write callbacks to access uniline signals on IEEE-488
auto eoi_write_cb() { return m_signal_wr_fns[IEEE_488_EOI].bind(); }
auto dav_write_cb() { return m_signal_wr_fns[IEEE_488_DAV].bind(); }
auto nrfd_write_cb() { return m_signal_wr_fns[IEEE_488_NRFD].bind(); }
@@ -118,7 +68,10 @@ public:
auto atn_write_cb() { return m_signal_wr_fns[IEEE_488_ATN].bind(); }
auto ren_write_cb() { return m_signal_wr_fns[IEEE_488_REN].bind(); }
+ // Set write callback for INT signal
auto int_write_cb() { return m_int_write_func.bind(); }
+
+ // Set write callback for ACCRQ signal
auto accrq_write_cb() { return m_accrq_write_func.bind(); }
DECLARE_WRITE_LINE_MEMBER(eoi_w);