diff options
Diffstat (limited to 'src/devices/machine/msm6200.h')
-rw-r--r-- | src/devices/machine/msm6200.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/devices/machine/msm6200.h b/src/devices/machine/msm6200.h index 034950d10e7..584511fb808 100644 --- a/src/devices/machine/msm6200.h +++ b/src/devices/machine/msm6200.h @@ -20,15 +20,21 @@ public: u8 read(); protected: - virtual void device_start() override; - virtual void device_reset() override; + virtual void device_start() override ATTR_COLD; + virtual void device_reset() override ATTR_COLD; private: + static constexpr unsigned TIMER_RATE = 256; // arbitrary + + TIMER_CALLBACK_MEMBER(scan_timer); + optional_ioport_array<38> m_keys; optional_ioport m_velocity; devcb_write_line m_irq_cb; + emu_timer *m_timer; + u8 m_cmd, m_row, m_key_data; u8 m_key_state; u8 m_last_state[38]; |