diff options
Diffstat (limited to 'src/devices/machine/68230pit.h')
-rw-r--r-- | src/devices/machine/68230pit.h | 64 |
1 files changed, 12 insertions, 52 deletions
diff --git a/src/devices/machine/68230pit.h b/src/devices/machine/68230pit.h index eaf7356d202..fbd1a4d73cb 100644 --- a/src/devices/machine/68230pit.h +++ b/src/devices/machine/68230pit.h @@ -38,46 +38,6 @@ #pragma once -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_PIT68230_PA_INPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pa_in_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PA_OUTPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pa_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PB_INPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pb_in_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PB_OUTPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pb_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PC_INPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pc_in_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PC_OUTPUT_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pc_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_H1_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_h1_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_H2_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_h2_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_H3_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_h3_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_H4_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_h4_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_TIMER_IRQ_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_tirq_out_callback(DEVCB_##_devcb); - -#define MCFG_PIT68230_PORT_IRQ_CB(_devcb) \ - downcast<pit68230_device &>(*device).set_pirq_out_callback(DEVCB_##_devcb); - /*----------------------------------------------------------------------- * Registers RS1-RS5 R/W Description * -------------------------------------------------------------------------*/ @@ -114,18 +74,18 @@ public: // construction/destruction pit68230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template <class Object> devcb_base &set_pa_in_callback(Object &&cb){ return m_pa_in_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pa_out_callback(Object &&cb){ return m_pa_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pb_in_callback(Object &&cb){ return m_pb_in_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pb_out_callback(Object &&cb){ return m_pb_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pc_in_callback(Object &&cb){ return m_pc_in_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pc_out_callback(Object &&cb){ return m_pc_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_h1_out_callback(Object &&cb){ return m_h1_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_h2_out_callback(Object &&cb){ return m_h2_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_h3_out_callback(Object &&cb){ return m_h3_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_h4_out_callback(Object &&cb){ return m_h4_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_tirq_out_callback(Object &&cb){ return m_tirq_out_cb.set_callback (std::forward<Object>(cb)); } - template <class Object> devcb_base &set_pirq_out_callback(Object &&cb){ return m_pirq_out_cb.set_callback (std::forward<Object>(cb)); } + auto pa_in_callback() { return m_pa_in_cb.bind(); } + auto pa_out_callback() { return m_pa_out_cb.bind(); } + auto pb_in_callback() { return m_pb_in_cb.bind(); } + auto pb_out_callback() { return m_pb_out_cb.bind(); } + auto pc_in_callback() { return m_pc_in_cb.bind(); } + auto pc_out_callback() { return m_pc_out_cb.bind(); } + auto h1_out_callback() { return m_h1_out_cb.bind(); } + auto h2_out_callback() { return m_h2_out_cb.bind(); } + auto h3_out_callback() { return m_h3_out_cb.bind(); } + auto h4_out_callback() { return m_h4_out_cb.bind(); } + auto timer_irq_callback() { return m_tirq_out_cb.bind(); } + auto port_irq_callback() { return m_pirq_out_cb.bind(); } DECLARE_WRITE8_MEMBER (write); DECLARE_READ8_MEMBER (read); |