diff options
Diffstat (limited to 'src/devices/machine/mm5740.h')
-rw-r--r-- | src/devices/machine/mm5740.h | 38 |
1 files changed, 5 insertions, 33 deletions
diff --git a/src/devices/machine/mm5740.h b/src/devices/machine/mm5740.h index e28fbdc0956..1896f568e4c 100644 --- a/src/devices/machine/mm5740.h +++ b/src/devices/machine/mm5740.h @@ -80,23 +80,6 @@ Vgg 18 -12V //************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_MM5740_MATRIX_X1(_cb) downcast<mm5740_device &>(*device).set_x_cb<0>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X2(_cb) downcast<mm5740_device &>(*device).set_x_cb<1>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X3(_cb) downcast<mm5740_device &>(*device).set_x_cb<2>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X4(_cb) downcast<mm5740_device &>(*device).set_x_cb<3>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X5(_cb) downcast<mm5740_device &>(*device).set_x_cb<4>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X6(_cb) downcast<mm5740_device &>(*device).set_x_cb<5>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X7(_cb) downcast<mm5740_device &>(*device).set_x_cb<6>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X8(_cb) downcast<mm5740_device &>(*device).set_x_cb<7>(DEVCB_##_cb); -#define MCFG_MM5740_MATRIX_X9(_cb) downcast<mm5740_device &>(*device).set_x_cb<8>(DEVCB_##_cb); -#define MCFG_MM5740_SHIFT_CB(_cb) downcast<mm5740_device &>(*device).set_shift_cb(DEVCB_##_cb); -#define MCFG_MM5740_CONTROL_CB(_cb) downcast<mm5740_device &>(*device).set_control_cb(DEVCB_##_cb); -#define MCFG_MM5740_DATA_READY_CB(_cb) downcast<mm5740_device &>(*device).set_data_ready_cb(DEVCB_##_cb); - -//************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -111,22 +94,11 @@ public: // public interface uint16_t b_r(); - template <unsigned N, typename Object> devcb_base &set_x_cb(Object &&cb) - { - return m_read_x[N].set_callback(std::forward<Object>(cb)); - } - template <typename Object> devcb_base &set_shift_cb(Object &&cb) - { - return m_read_shift.set_callback(std::forward<Object>(cb)); - } - template <typename Object> devcb_base &set_control_cb(Object &&cb) - { - return m_read_control.set_callback(std::forward<Object>(cb)); - } - template <typename Object> devcb_base &set_data_ready_cb(Object &&cb) - { - return m_write_data_ready.set_callback(std::forward<Object>(cb)); - } + template <unsigned N> auto x_cb() { return m_read_x[N].bind(); } + auto shift_cb() { return m_read_shift.bind(); } + auto control_cb() { return m_read_control.bind(); } + auto data_ready_cb() { return m_write_data_ready.bind(); } + static uint32_t calc_effective_clock_key_debounce(uint32_t capacitance); protected: |