summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/kc_keyb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/kc_keyb.h')
-rw-r--r--src/mame/machine/kc_keyb.h24
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