/* Initialize PS/2 keyboard port */
// Enable the port
IOWriteB(PS2_CONTROL_PORT, 0xAE);
- IOWriteB(PS2_CONTROL_PORT, 0x60);
// Port interrupts and clock enabled,
// enable keyboard scancode translation.
// POST passed, force keyboard unlocking.
- IOWriteB(PS2_DATA_PORT , 0x4D);
+ IOWriteB(PS2_CONTROL_PORT, 0x60);
+ IOWriteB(PS2_DATA_PORT , 0x6D);
+ // Enable data reporting
+ IOWriteB(PS2_DATA_PORT , 0xF4);
EnableHwIRQ(0, BiosTimerIrq);
}
SendMouseCommand(0xFF);
Answer = ReadMouseData();
- /* A "Resend" (0xFE) signal is sent if no mouse is attached */
+ /* A "Resend" signal (0xFE) is sent if no mouse is attached */
if (Answer == 0xFE)
{
/* Resend */
/* Failure */
setAH(0x03);
Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF;
+ break;
}
setBL(ReadMouseData()); // Status
/* Failure */
setAH(0x03);
Stack[STACK_FLAGS] |= EMULATOR_FLAG_CF;
+ break;
}
/* Success */
/* Detect mouse presence by attempting a reset */
SendMouseCommand(0xFF);
Answer = ReadMouseData();
- /* If no mouse attached, it will return RESEND (0xFE) */
+ /* A "Resend" signal (0xFE) is sent if no mouse is attached */
if (Answer == 0xFE)
{
DPRINT1("No mouse present!\n");