diff options
author | 2019-05-31 19:23:06 +0700 | |
---|---|---|
committer | 2019-05-31 19:23:06 +0700 | |
commit | d944b36ca874be298d62d5bec35fe972c30f3e17 (patch) | |
tree | 6b7a65e8925c338a6d652943a17087ce92425c92 /src/devices/bus/pc_kbd | |
parent | 9658fd8bbafa5cc4e0b01f994048f93778aa16ef (diff) |
hle_mouse: minor fixes (nw)
The Indy/Indigo² issue appears to be related wait states or other unemulated delays on the driver side, and not a problem with this device or at_keybc.
Diffstat (limited to 'src/devices/bus/pc_kbd')
-rw-r--r-- | src/devices/bus/pc_kbd/hle_mouse.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/devices/bus/pc_kbd/hle_mouse.cpp b/src/devices/bus/pc_kbd/hle_mouse.cpp index e7de97e61dd..b88f5b40039 100644 --- a/src/devices/bus/pc_kbd/hle_mouse.cpp +++ b/src/devices/bus/pc_kbd/hle_mouse.cpp @@ -32,7 +32,6 @@ * - IntelliMouse device/protocol (4-byte packet, 5 buttons, scroll wheel) * - configurable clock (10kHz-16.7kHz) * - receive parity error handling - * - resolve issue with earlier Indy/Indigo² PROM versions (IBF ignored) */ #include "emu.h" @@ -95,6 +94,7 @@ void hle_ps2_mouse_device::device_start() save_item(NAME(m_rx_buf)); save_item(NAME(m_tx_len)); save_item(NAME(m_tx_pos)); + save_item(NAME(m_tx_buf)); save_item(NAME(m_data)); save_item(NAME(m_parity)); @@ -399,7 +399,8 @@ void hle_ps2_mouse_device::command(u8 const command) m_tx_buf[m_tx_len++] = 0xfa; // force data sample after acknowledge transmitted - m_sample->adjust(serial_cycle * 48, 1); + if (!m_sample->enabled()) + m_sample->adjust(serial_cycle * 48, 1); break; case 0xec: // reset wrap mode |