summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/z80/tmpz84c011.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/z80/tmpz84c011.h')
-rw-r--r--src/devices/cpu/z80/tmpz84c011.h74
1 files changed, 15 insertions, 59 deletions
diff --git a/src/devices/cpu/z80/tmpz84c011.h b/src/devices/cpu/z80/tmpz84c011.h
index bef9986698c..013416cbd9e 100644
--- a/src/devices/cpu/z80/tmpz84c011.h
+++ b/src/devices/cpu/z80/tmpz84c011.h
@@ -23,50 +23,6 @@
// For daisy chain configuration, insert this:
#define TMPZ84C011_DAISY_INTERNAL { "tmpz84c011_ctc" }
-// CTC callbacks
-#define MCFG_TMPZ84C011_ZC0_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_zc0_callback(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_ZC1_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_zc1_callback(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_ZC2_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_zc2_callback(DEVCB_##_devcb);
-
-
-// I/O callbacks
-#define MCFG_TMPZ84C011_PORTA_READ_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_inportsa_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTB_READ_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_inportsb_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTC_READ_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_inportsc_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTD_READ_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_inportsd_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTE_READ_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_inportse_cb(DEVCB_##_devcb);
-
-
-#define MCFG_TMPZ84C011_PORTA_WRITE_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_outportsa_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTB_WRITE_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_outportsb_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTC_WRITE_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_outportsc_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTD_WRITE_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_outportsd_cb(DEVCB_##_devcb);
-
-#define MCFG_TMPZ84C011_PORTE_WRITE_CB(_devcb) \
- downcast<tmpz84c011_device &>(*device).set_outportse_cb(DEVCB_##_devcb);
-
-
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
@@ -77,21 +33,21 @@ public:
tmpz84c011_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t);
// configuration helpers
- template<class Object> devcb_base &set_zc0_callback(Object &&cb) { return m_zc0_cb.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_zc1_callback(Object &&cb) { return m_zc1_cb.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_zc2_callback(Object &&cb) { return m_zc2_cb.set_callback(std::forward<Object>(cb)); }
-
- template<class Object> devcb_base &set_outportsa_cb(Object &&cb) { return m_outportsa.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_outportsb_cb(Object &&cb) { return m_outportsb.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_outportsc_cb(Object &&cb) { return m_outportsc.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_outportsd_cb(Object &&cb) { return m_outportsd.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_outportse_cb(Object &&cb) { return m_outportse.set_callback(std::forward<Object>(cb)); }
-
- template<class Object> devcb_base &set_inportsa_cb(Object &&cb) { return m_inportsa.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_inportsb_cb(Object &&cb) { return m_inportsb.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_inportsc_cb(Object &&cb) { return m_inportsc.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_inportsd_cb(Object &&cb) { return m_inportsd.set_callback(std::forward<Object>(cb)); }
- template<class Object> devcb_base &set_inportse_cb(Object &&cb) { return m_inportse.set_callback(std::forward<Object>(cb)); }
+ auto zc0_callback() { return m_zc0_cb.bind(); }
+ auto zc1_callback() { return m_zc1_cb.bind(); }
+ auto zc2_callback() { return m_zc2_cb.bind(); }
+
+ auto out_pa_callback() { return m_outportsa.bind(); }
+ auto out_pb_callback() { return m_outportsb.bind(); }
+ auto out_pc_callback() { return m_outportsc.bind(); }
+ auto out_pd_callback() { return m_outportsd.bind(); }
+ auto out_pe_callback() { return m_outportse.bind(); }
+
+ auto in_pa_callback() { return m_inportsa.bind(); }
+ auto in_pb_callback() { return m_inportsb.bind(); }
+ auto in_pc_callback() { return m_inportsc.bind(); }
+ auto in_pd_callback() { return m_inportsd.bind(); }
+ auto in_pe_callback() { return m_inportse.bind(); }
// CTC public interface
DECLARE_WRITE_LINE_MEMBER( trg0 ) { m_ctc->trg0(state); }