summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/gt913_kbd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/gt913_kbd.h')
-rw-r--r--src/devices/machine/gt913_kbd.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/devices/machine/gt913_kbd.h b/src/devices/machine/gt913_kbd.h
index 3823442ff86..3bf2ced327e 100644
--- a/src/devices/machine/gt913_kbd.h
+++ b/src/devices/machine/gt913_kbd.h
@@ -9,7 +9,6 @@
#pragma once
-#include "cpu/h8/h8_intc.h"
#include "keyboard.h"
//**************************************************************************
@@ -18,17 +17,13 @@
// ======================> gt913_kbd_hle_device
-class gt913_kbd_hle_device : public device_t, protected device_matrix_keyboard_interface<13>
+class gt913_kbd_hle_device : public device_t, protected device_matrix_keyboard_interface<14>
{
public:
// construction/destruction
gt913_kbd_hle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
- gt913_kbd_hle_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *intc, int irq)
- : gt913_kbd_hle_device(mconfig, tag, owner, 0)
- {
- m_intc_tag = intc;
- m_irq = irq;
- }
+
+ auto irq_cb() { return m_irq_cb.bind(); }
uint16_t read();
void status_w(uint16_t data);
@@ -46,11 +41,10 @@ protected:
void key_add(uint8_t row, uint8_t column, int state);
void update_status();
private:
- h8_intc_device *m_intc;
- const char *m_intc_tag;
- int m_irq;
optional_ioport m_velocity;
+ devcb_write_line m_irq_cb;
+
uint16_t m_status;
uint8_t m_fifo[16];
uint8_t m_fifo_read, m_fifo_write;