From e93bc1e55825312e1a12173fe6312b7b502a86d4 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 14 Nov 2012 13:22:04 +0000 Subject: [PATCH] Enable interrupt flag after call 0x11 as well. Thanks ripsaw. Fixes a Korean game Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3802 --- src/ints/bios_keyboard.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ints/bios_keyboard.cpp b/src/ints/bios_keyboard.cpp index b17328e7..0ad09c36 100644 --- a/src/ints/bios_keyboard.cpp +++ b/src/ints/bios_keyboard.cpp @@ -514,7 +514,7 @@ static Bitu INT16_Handler(void) { break; case 0x01: /* CHECK FOR KEYSTROKE */ // enable interrupt-flag after IRET of this int16 - mem_writew(SegPhys(ss)+reg_sp+4,(mem_readw(SegPhys(ss)+reg_sp+4) | FLAG_IF)); + CALLBACK_SIF(true); for (;;) { if (check_key(temp)) { if (!IsEnhancedKey(temp)) { @@ -535,6 +535,8 @@ static Bitu INT16_Handler(void) { } break; case 0x11: /* CHECK FOR KEYSTROKE (enhanced keyboards only) */ + // enable interrupt-flag after IRET of this int16 + CALLBACK_SIF(true); if (!check_key(temp)) { CALLBACK_SZF(true); } else {