From 96df8584cf232081548f527624e0c2d964abe9fe Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Tue, 25 Nov 2003 08:27:50 +0000 Subject: [PATCH] Added reset and enable commands for port 0x60 Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1462 --- src/hardware/keyboard.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/hardware/keyboard.cpp b/src/hardware/keyboard.cpp index 23d9395d..8f60f903 100644 --- a/src/hardware/keyboard.cpp +++ b/src/hardware/keyboard.cpp @@ -179,8 +179,21 @@ static void write_p60(Bit32u port,Bit8u val) { keyb.command=CMD_SETTYPERATE; KEYBOARD_AddCode(0xfa,0,0,STATE_NORMAL); /* Acknowledge */ break; + case 0xf4: /* Enable keyboard,clear buffer, start scanning */ + keyb.active=true; + KEYBOARD_ClrBuffer(); + LOG(LOG_KEYBOARD,LOG_NORMAL)("Activated"); + KEYBOARD_AddCode(0xfa,0,0,STATE_NORMAL); /* Acknowledge */ + break; + case 0xf5: /* Reset keyboard and disable scanning */ + case 0xf6: /* Reset keyboard and enable scanning */ + LOG(LOG_KEYBOARD,LOG_NORMAL)("Reset"); + KEYBOARD_AddCode(0xfa,0,0,STATE_NORMAL); /* Acknowledge */ + break; default: + /* Just always acknowledge strange commands */ LOG(LOG_KEYBOARD,LOG_ERROR)("60:Unhandled command %X",val); + KEYBOARD_AddCode(0xfa,0,0,STATE_NORMAL); /* Acknowledge */ } return; case CMD_SETOUTPORT: