diff --git a/msdos/int10.c b/msdos/int10.c
index 3f55dba7ce219e28bd3bf0f2da319de70c94eb97..924d6b14052d2e8783e7fad14294a02053f48f96 100644
--- a/msdos/int10.c
+++ b/msdos/int10.c
@@ -114,7 +114,7 @@ void WINAPI INT_Int10Handler( CONTEXT *context )
 		case 0x00: /* 40x25 */
             	case 0x01:
                 	VGA_Exit();
-                	TRACE(int10, "Set Video Mode - Set to Text - 0x0%x\n",
+                	TRACE(int10, "Set VESA Text Mode - 0x0%x\n",
                 	   BX_reg(context));
                 	CONSOLE_ResizeScreen(40, 25);
                 	CONSOLE_ClearScreen();
@@ -124,46 +124,26 @@ void WINAPI INT_Int10Handler( CONTEXT *context )
             	case 0x03:
             	case 0x07:
             	    VGA_Exit();
-            	    TRACE(int10, "Set Video Mode - Set to Text - 0x0%x\n",
+            	    TRACE(int10, "Set VESA Text Mode - 0x0%x\n",
             	       BX_reg(context));
             	    CONSOLE_ResizeScreen(80, 25);
             	    CONSOLE_ClearScreen();
                     DOSMEM_BiosData()->VideoColumns = 80;
             	    break;
-	        case 0x04:
-                    TRACE(int10, "Setting VGA 320x200 4-color mode\n");
-                    VGA_SetMode(320,200,2); /* FIXME is this right/supported? */
-                    break;
-	        case 0x05:
-                    TRACE(int10, "Setting VGA 320x200 4-color mode\n");
-                    VGA_SetMode(320,200,2); /* FIXME is this right/supported? */
-                    break;
-  	        case 0x06:
-                    TRACE(int10, "Setting VGA 640x200 2-color mode\n");
-                    VGA_SetMode(640,200,1); /* FIXME is this right/supported? */
-                    break;
 	        case 0x0D:
-                    TRACE(int10, "Setting VGA 320x200 16-color mode\n");
+                    TRACE(int10, "Setting VESA 320x200 16-color mode\n");
                     VGA_SetMode(320,200,4);
                     break;
  	        case 0x0E:
-                    TRACE(int10, "Setting VGA 640x200 16-color mode\n");
+                    TRACE(int10, "Setting VESA 640x200 16-color mode\n");
                     VGA_SetMode(640,200,4); 
                     break;
- 	        case 0x0F:
-                    TRACE(int10, "Setting VGA 640x350 2-color mode\n");
-                    VGA_SetMode(640,350,1); /* FIXME is this right/supported? */
-                    break;
 	        case 0x10:
-                    TRACE(int10, "Setting VGA 640x350 16-color mode\n");
+                    TRACE(int10, "Setting VESA 640x350 16-color mode\n");
                     VGA_SetMode(640,350,4);
                     break;
-	        case 0x11:
-                    TRACE(int10, "Setting VGA 640x480 2-color mode\n");
-                    VGA_SetMode(640,480,1); /* FIXME is this right/supported? */
-                    break;
 	        case 0x12:
-                    TRACE(int10, "Setting VGA 640x480 16-color mode\n");
+                    TRACE(int10, "Setting VESA 640x480 16-color mode\n");
                     VGA_SetMode(640,480,4);
                     break;
                 case 0x13:
@@ -337,7 +317,6 @@ else {
                    AL_reg(context));
                 CONSOLE_ResizeScreen(40, 25);
                 CONSOLE_ClearScreen();
-                DOSMEM_BiosData()->VideoMode = AL_reg(context);
                 DOSMEM_BiosData()->VideoColumns = 40;
                 break;                
             case 0x02:
@@ -348,18 +327,33 @@ else {
                    AL_reg(context));
                 CONSOLE_ResizeScreen(80, 25);
                 CONSOLE_ClearScreen();
-                DOSMEM_BiosData()->VideoMode = AL_reg(context);
                 DOSMEM_BiosData()->VideoColumns = 80;
                 break;
+	    case 0x0D:
+                TRACE(int10, "Setting VGA 320x200 16-color mode\n");
+                VGA_SetMode(320,200,4);
+                break;
+	    case 0x0E:
+                TRACE(int10, "Setting VGA 640x200 16-color mode\n");
+                VGA_SetMode(640,200,4); 
+                break;
+	    case 0x10:
+                TRACE(int10, "Setting VGA 640x350 16-color mode\n");
+                VGA_SetMode(640,350,4);
+                break;
+	    case 0x12:
+                TRACE(int10, "Setting VGA 640x480 16-color mode\n");
+                VGA_SetMode(640,480,4);
+                break;
             case 0x13:
                 TRACE(int10, "Setting VGA 320x200 256-color mode\n");
                 VGA_SetMode(320,200,8);
-                DOSMEM_BiosData()->VideoMode = AL_reg(context);
                 break;
             default:
                 FIXME(int10, "Set Video Mode (0x%x) - Not Supported\n", 
                    AL_reg(context));
         }
+        DOSMEM_BiosData()->VideoMode = AL_reg(context);
         break;
 
     case 0x01: /* SET CURSOR SHAPE */
diff --git a/msdos/int16.c b/msdos/int16.c
index aba0de1061d291a4321a57c474ccca91d3ae3c3d..1de9f1962f15e0da6f3f6b458f47c38c7c1fe26e 100644
--- a/msdos/int16.c
+++ b/msdos/int16.c
@@ -68,11 +68,26 @@ void WINAPI INT_Int16Handler( CONTEXT *context )
       break;
 
    case 0x10: /* Get Enhanced Keystroke */
-      FIXME(int16, "Get Enhanced Keystroke - Not Supported\n");
+      TRACE(int16, "Get Enhanced Keystroke - Partially supported\n");
+      /* Returns: AH = Scan code
+                  AL = ASCII character */   
+      CONSOLE_GetKeystroke(&AH_reg(context), &AL_reg(context));
       break;
+  
 
    case 0x11: /* Check for Enhanced Keystroke */
-      FIXME(int16, "Check for Enhanced Keystroke - Not Supported\n");
+      /* Returns: ZF set if no keystroke */
+      /*          AH = Scan code */
+      /*          AL = ASCII character */
+      TRACE(int16, "Check for Enhanced Keystroke - Partially supported\n");
+      if (!CONSOLE_CheckForKeystroke(&AH_reg(context), &AL_reg(context)))
+      {
+          SET_ZFLAG(context);
+      }
+      else
+      {
+          RESET_ZFLAG(context);
+      }
       break;
 
    case 0x12: /* Get Extended Shift States */
diff --git a/msdos/int21.c b/msdos/int21.c
index 71f7c0cfa7e857961a8d519a9b416d61039ff9a3..1549b69e6911ce6f9d095ac0061077d06aed4183 100644
--- a/msdos/int21.c
+++ b/msdos/int21.c
@@ -1149,7 +1149,6 @@ void WINAPI DOS3Call( CONTEXT *context )
     case 0x26: /* CREATE NEW PROGRAM SEGMENT PREFIX */
     case 0x27: /* RANDOM BLOCK READ FROM FCB FILE */
     case 0x28: /* RANDOM BLOCK WRITE TO FCB FILE */
-    case 0x54: /* GET VERIFY FLAG */
         INT_BARF( context, 0x21 );
         break;
 
@@ -1903,6 +1902,11 @@ void WINAPI DOS3Call( CONTEXT *context )
         }
         break;
 
+    case 0x54: /* Get Verify Flag */
+	TRACE(int21,"Get Verify Flag - Not Supported\n");
+	AL_reg(context) = 0x00;  /* pretend we can tell. 00h = off 01h = on */
+	break;
+
     case 0x56: /* "RENAME" - RENAME FILE */
         TRACE(int21,"RENAME %s to %s\n",
 	      (LPCSTR)CTX_SEG_OFF_TO_LIN(context, DS_reg(context),EDX_reg(context)),
diff --git a/msdos/int2f.c b/msdos/int2f.c
index f370ed560177a755b2d294047e9ec218b32a6dbb..913f67d4994212b50b837d552014d321da6f1edf 100644
--- a/msdos/int2f.c
+++ b/msdos/int2f.c
@@ -225,6 +225,19 @@ void WINAPI INT_Int2fHandler( CONTEXT *context )
             break;
         }
         break;
+    case 0xd2:
+	switch(AL_reg(context))
+	{
+	case 0x01: /* Quarterdeck RPCI - QEMM/QRAM - PCL-838.EXE functions */
+	    if(BX_reg(context) == 0x5145 && CX_reg(context) == 0x4D4D 
+	      && DX_reg(context) == 0x3432)
+		TRACE(int, "Check for QEMM v5.0+ (not installed)\n");
+		break;
+	default:
+	    INT_BARF( context, 0x2f );
+	    break;
+	}
+	break;
     case 0xd7:  /* Banyan Vines */
         switch (AL_reg(context))
         {
@@ -236,6 +249,19 @@ void WINAPI INT_Int2fHandler( CONTEXT *context )
             break;
         }
         break;
+    case 0xde:
+	switch(AL_reg(context))
+	{
+	case 0x01:   /* Quarterdeck QDPMI.SYS - DESQview */
+	    if(BX_reg(context) == 0x4450 && CX_reg(context) == 0x4d49 
+	      && DX_reg(context) == 0x8f4f)
+		TRACE(int, "Check for QDPMI.SYS (not installed)\n");
+		break;
+	default:
+	    INT_BARF( context, 0x2f );
+	    break;
+	}
+	break;
     case 0xfa:  /* Watcom debugger check, returns 0x666 if installed */
         break;
     default: