diff --git a/miscemu/int2f.c b/miscemu/int2f.c
index ad797d1..88bd229 100644
--- a/miscemu/int2f.c
+++ b/miscemu/int2f.c
@@ -9,35 +9,37 @@
 /* #define DEBUG_INT */
 #include "debug.h"
 
-int do_int2f_16(struct sigcontext_struct *context);
+static void do_int2f_16(struct sigcontext_struct *context);
 
-int do_int2f(struct sigcontext_struct *context)
+/**********************************************************************
+ *	    INT_Int2fHandler
+ *
+ * Handler for int 2fh (multiplex).
+ */
+void INT_Int2fHandler( struct sigcontext_struct sigcontext )
 {
-        dprintf_int(stddeb,"int2f: AX %04x, BX %04x, CX %04x, DX %04x, "
-               "SI %04x, DI %04x, DS %04x, ES %04x\n",
-               AX, BX, CX, DX, SI, DI, DS, ES);
-
-	switch(AH)
-	{
+#define context (&sigcontext)
+    switch(AH)
+    {
 	case 0x10:
                 AL = 0xff; /* share is installed */
 		break;
 
 	case 0x15: /* mscdex */
 		/* ignore requests */
-		return 1;
+		break;
 
 	case 0x16:
-		return do_int2f_16(context);
-
+		do_int2f_16( context );
+                break;
 	default:
-		IntBarf(0x2f, context);
-	};
-	return 1;
+		INT_BARF( 0x2f );
+            }
+#undef context
 }
 
 
-int do_int2f_16(struct sigcontext_struct *context)
+static void do_int2f_16(struct sigcontext_struct *context)
 {
     switch(AL)
     {
@@ -51,6 +53,9 @@
         CX = Options.enhanced ? 3 : 2;
         break;
 
+    case 0x80:  /* Release time-slice */
+        break;  /* nothing to do */
+
     case 0x86:  /* DPMI detect mode */
         AX = 0;  /* Running under DPMI */
         break;
@@ -58,17 +63,16 @@
     case 0x87:  /* DPMI installation check */
         AX = 0x0000;  /* DPMI Installed */
         BX = 0x0001;  /* 32bits available */
-        CX = 0x04;    /* processor 486 */
-        DX = 0x0009;  /* DPMI major/minor 0.9 */
+        CL = 0x03;    /* processor 386 */
+        DX = 0x005a;  /* DPMI major/minor 0.90 */
         SI = 0;       /* # of para. of DOS extended private data */
         ES = 0;       /* ES:DI is DPMI switch entry point */
         DI = 0;
         break;
 
     default:
-        IntBarf(0x2f, context);
+        INT_BARF( 0x2f );
     }
-    return 1;
 }
 
 
