diff --git a/src/keyboard_at.c b/src/keyboard_at.c
index dee2e17c3..53fc09762 100644
--- a/src/keyboard_at.c
+++ b/src/keyboard_at.c
@@ -8,7 +8,7 @@
*
* Intel 8042 (AT keyboard controller) emulation.
*
- * Version: @(#)keyboard_at.c 1.0.8 2017/11/04
+ * Version: @(#)keyboard_at.c 1.0.9 2017/11/09
*
* Authors: Sarah Walker,
* Miran Grca,
@@ -95,9 +95,6 @@ typedef struct {
int dtrans;
int first_write;
- void (*mouse_write)(uint8_t val, void *p);
- void *mouse_p;
-
int64_t refresh_time;
int refresh;
@@ -128,6 +125,8 @@ static uint8_t key_queue[16];
static int key_queue_start = 0,
key_queue_end = 0;
static uint8_t mouse_queue[16];
+static void (*mouse_write)(uint8_t val, void *priv) = NULL;
+static void *mouse_p = NULL;
static uint8_t sc_or = 0;
static atkbd_t *CurrentKbd = NULL; // FIXME: remove!!! --FvK
@@ -691,8 +690,8 @@ write_register:
case 0xd4: /*Write to mouse*/
kbd_log("ATkbd: write to mouse (%02X)\n", val);
- if (kbd->mouse_write && (machines[machine].flags & MACHINE_PS2))
- kbd->mouse_write(val, kbd->mouse_p);
+ if (mouse_write && (machines[machine].flags & MACHINE_PS2))
+ mouse_write(val, mouse_p);
else
keyboard_at_adddata_mouse(0xff);
break;
@@ -1229,7 +1228,7 @@ kbd_close(void *priv)
{
atkbd_t *kbd = (atkbd_t *)priv;
- kbd_reset(priv);
+ kbd_reset(kbd);
/* Stop timers. */
keyboard_delay = 0;
@@ -1278,12 +1277,10 @@ keyboard_at_reset(void)
void
-keyboard_at_set_mouse(void (*mouse_write)(uint8_t val, void *p), void *p)
+keyboard_at_set_mouse(void (*func)(uint8_t val, void *priv), void *priv)
{
- atkbd_t *kbd = CurrentKbd;
-
- kbd->mouse_write = mouse_write;
- kbd->mouse_p = p;
+ mouse_write = func;
+ mouse_p = priv;
}
diff --git a/src/machine/m_ps1.c b/src/machine/m_ps1.c
index 7fe78af20..463bc49ad 100644
--- a/src/machine/m_ps1.c
+++ b/src/machine/m_ps1.c
@@ -450,7 +450,7 @@ ps1_read(uint16_t port, void *priv)
ps->hd.int_status &= ~0x02;
}
break;
-
+
default:
break;
}
diff --git a/src/machine/m_ps2_mca.c b/src/machine/m_ps2_mca.c
index 2e0da9137..c96601a0b 100644
--- a/src/machine/m_ps2_mca.c
+++ b/src/machine/m_ps2_mca.c
@@ -817,7 +817,6 @@ machine_ps2_common_init(machine_t *model)
dma16_init();
ps2_dma_init();
device_add(&keyboard_ps2_device);
- mouse_ps2_init(NULL);
nvr_at_init(8);
pic2_init();