From fbd6184f27cfe601faae05238dfefae71408cb66 Mon Sep 17 00:00:00 2001 From: Aleksandar Andrejevic Date: Tue, 5 May 2015 20:49:09 +0000 Subject: [PATCH] [NTVDM] Fix INT 16h, AH=01h/11h. svn path=/trunk/; revision=67569 --- .../subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c b/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c index 11f8080ef09..bb12c3d1a24 100644 --- a/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c +++ b/reactos/subsystems/mvdm/ntvdm/bios/bios32/kbdbios32.c @@ -122,6 +122,13 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) { /* There is a character, clear ZF and return it */ Stack[STACK_FLAGS] &= ~EMULATOR_FLAG_ZF; + + if (getAH() == 0x01 && LOBYTE(Character) == 0xE0) + { + /* Clear the extended code */ + Character &= 0xFF00; + } + setAX(Character); } else @@ -130,12 +137,6 @@ static VOID WINAPI BiosKeyboardService(LPWORD Stack) Stack[STACK_FLAGS] |= EMULATOR_FLAG_ZF; } - if (getAH() == 0x01 && LOBYTE(Character) == 0xE0) - { - /* Clear the extended code */ - Character &= 0xFF00; - } - break; }