diff options
Diffstat (limited to 'src/devices/cpu/z80/tmpz84c011.h')
-rw-r--r-- | src/devices/cpu/z80/tmpz84c011.h | 74 |
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); } |