diff options
Diffstat (limited to 'src/devices/machine/at_keybc.h')
-rw-r--r-- | src/devices/machine/at_keybc.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/devices/machine/at_keybc.h b/src/devices/machine/at_keybc.h index 9e769416cb2..784ecb803b5 100644 --- a/src/devices/machine/at_keybc.h +++ b/src/devices/machine/at_keybc.h @@ -20,6 +20,8 @@ class at_kbc_device_base : public device_t { public: + virtual ~at_kbc_device_base(); + // outputs to host auto hot_res() { return m_hot_res_cb.bind(); } auto gate_a20() { return m_gate_a20_cb.bind(); } @@ -36,16 +38,15 @@ public: void command_w(uint8_t data); // inputs from keyboard - DECLARE_WRITE_LINE_MEMBER(kbd_clk_w); - DECLARE_WRITE_LINE_MEMBER(kbd_data_w); + void kbd_clk_w(int state); + void kbd_data_w(int state); protected: // trampoline constructor at_kbc_device_base(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock); // device_t implementation - virtual void device_resolve_objects() override; - virtual void device_start() override; + virtual void device_start() override ATTR_COLD; // host outputs - use 1 = asserted, 0 = deasserted void set_hot_res(u8 state); @@ -84,12 +85,13 @@ class at_keyboard_controller_device : public at_kbc_device_base public: // standard constructor at_keyboard_controller_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + virtual ~at_keyboard_controller_device(); protected: // device_t implementation - virtual tiny_rom_entry const *device_rom_region() const override; - virtual void device_add_mconfig(machine_config &config) override; - virtual ioport_constructor device_input_ports() const override; + virtual tiny_rom_entry const *device_rom_region() const override ATTR_COLD; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + virtual ioport_constructor device_input_ports() const override ATTR_COLD; private: // MCU I/O handlers @@ -116,18 +118,18 @@ public: virtual uint8_t status_r() override; // inputs from aux - DECLARE_WRITE_LINE_MEMBER(aux_clk_w); - DECLARE_WRITE_LINE_MEMBER(aux_data_w); + void aux_clk_w(int state); + void aux_data_w(int state); // standard constructor ps2_keyboard_controller_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + virtual ~ps2_keyboard_controller_device(); protected: // device_t implementation - virtual tiny_rom_entry const *device_rom_region() const override; - virtual void device_add_mconfig(machine_config &config) override; - virtual void device_resolve_objects() override; - virtual void device_start() override; + virtual tiny_rom_entry const *device_rom_region() const override ATTR_COLD; + virtual void device_add_mconfig(machine_config &config) override ATTR_COLD; + virtual void device_start() override ATTR_COLD; private: // host outputs - use 1 = asserted, 0 = deasserted @@ -142,11 +144,13 @@ private: // internal sync helpers TIMER_CALLBACK_MEMBER(set_aux_clk_in); TIMER_CALLBACK_MEMBER(set_aux_data_in); + TIMER_CALLBACK_MEMBER(set_aux_irq_timer_callback); // MCU I/O handlers uint8_t p1_r(); void p2_w(uint8_t data); + emu_timer* m_aux_irq_timer; devcb_write_line m_aux_irq_cb; devcb_write_line m_aux_clk_cb, m_aux_data_cb; |