diff options
Diffstat (limited to 'src/mame/machine/kc_keyb.h')
-rw-r--r-- | src/mame/machine/kc_keyb.h | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/mame/machine/kc_keyb.h b/src/mame/machine/kc_keyb.h index 4bebcd761a1..726724df280 100644 --- a/src/mame/machine/kc_keyb.h +++ b/src/mame/machine/kc_keyb.h @@ -6,8 +6,10 @@ *********************************************************************/ -#ifndef __KC_KEYB_H__ -#define __KC_KEYB_H__ +#ifndef MAME_MACHINE_KC_KEYB_H +#define MAME_MACHINE_KC_KEYB_H + +#pragma once #define MCFG_KC_KEYBOARD_OUT_CALLBACK(_write) \ devcb = &kc_keyboard_device::set_out_wr_callback(*device, DEVCB_##_write); @@ -16,9 +18,6 @@ TYPE DEFINITIONS ***************************************************************************/ -/* number of pulses that can be stored */ -#define KC_TRANSMIT_BUFFER_LENGTH 256 - // ======================> kc_keyboard_device class kc_keyboard_device : public device_t @@ -28,12 +27,15 @@ public: kc_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual ~kc_keyboard_device(); - template<class _Object> static devcb_base &set_out_wr_callback(device_t &device, _Object object) { return downcast<kc_keyboard_device &>(device).m_write_out.set_callback(object); } + template <class Object> static devcb_base &set_out_wr_callback(device_t &device, Object &&cb) { return downcast<kc_keyboard_device &>(device).m_write_out.set_callback(std::forward<Object>(cb)); } // optional information overrides virtual ioport_constructor device_input_ports() const override; protected: + /* number of pulses that can be stored */ + static constexpr unsigned TRANSMIT_BUFFER_LENGTH = 256; + // device-level overrides virtual void device_start() override; virtual void device_reset() override; @@ -44,22 +46,22 @@ protected: void transmit_scancode(uint8_t scan_code); private: - static const device_timer_id TIMER_TRANSMIT_PULSE = 1; + static constexpr device_timer_id TIMER_TRANSMIT_PULSE = 1; // internal state - emu_timer * m_timer_transmit_pulse; + emu_timer * m_timer_transmit_pulse; devcb_write_line m_write_out; // pulses to transmit struct { - uint8_t data[KC_TRANSMIT_BUFFER_LENGTH>>3]; + uint8_t data[TRANSMIT_BUFFER_LENGTH>>3]; int pulse_sent; int pulse_count; } m_transmit_buffer; }; // device type definition -extern const device_type KC_KEYBOARD; +DECLARE_DEVICE_TYPE(KC_KEYBOARD, kc_keyboard_device) -#endif /* __KC_KEYB_H__ */ +#endif // MAME_MACHINE_KC_KEYB_H |