diff options
Diffstat (limited to 'src/devices/machine/kr2376.h')
-rw-r--r-- | src/devices/machine/kr2376.h | 37 |
1 files changed, 4 insertions, 33 deletions
diff --git a/src/devices/machine/kr2376.h b/src/devices/machine/kr2376.h index 5a9529fd7c7..155782df91e 100644 --- a/src/devices/machine/kr2376.h +++ b/src/devices/machine/kr2376.h @@ -34,34 +34,6 @@ #pragma once - -//************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_KR2376_MATRIX_X0(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<0>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X1(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<1>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X2(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<2>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X3(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<3>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X4(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<4>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X5(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<5>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X6(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<6>(DEVCB_##_cb); -#define MCFG_KR2376_MATRIX_X7(_cb) \ - downcast<kr2376_device &>(*device).set_x_cb<7>(DEVCB_##_cb); -#define MCFG_KR2376_SHIFT_CB(_cb) \ - downcast<kr2376_device &>(*device).set_shift_cb(DEVCB_##_cb); -#define MCFG_KR2376_CONTROL_CB(_cb) \ - downcast<kr2376_device &>(*device).set_control_cb(DEVCB_##_cb); -#define MCFG_KR2376_STROBE_CB(_cb) \ - downcast<kr2376_device &>(*device).set_strobe_cb(DEVCB_##_cb); - class kr2376_device : public device_t { public: @@ -82,10 +54,10 @@ public: kr2376_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); - template <unsigned N, class Object> devcb_base &set_x_cb(Object &&cb) { return m_read_x[N].set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_shift_cb(Object &&cb) { return m_read_shift.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_control_cb(Object &&cb) { return m_read_control.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_strobe_cb(Object &&cb) { return m_write_strobe.set_callback(std::forward<Object>(cb)); } + template <unsigned N> auto x() { return m_read_x[N].bind(); } + auto shift() { return m_read_shift.bind(); } + auto control() { return m_read_control.bind(); } + auto strobe() { return m_write_strobe.bind(); } /* keyboard data */ DECLARE_READ8_MEMBER( data_r ); @@ -133,7 +105,6 @@ private: class kr2376_st_device : public kr2376_device { public: - // construction/destruction kr2376_st_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: virtual uint8_t key_codes(int mode, int x, int y) override; |