Moved the few remaining functions in wprocs.dll to kernel.dll.
No longer load wprocs.dll unconditionally.
Restored default interrupt handler behavior (reported by Andreas Mohr).
diff --git a/msdos/interrupts.c b/msdos/interrupts.c
index c8662e5..cea83b4 100644
--- a/msdos/interrupts.c
+++ b/msdos/interrupts.c
@@ -32,13 +32,18 @@
static HMODULE16 wprocs;
if (!wprocs)
{
- if ((wprocs = GetModuleHandle16( "wprocs" )) < 32)
+ if (((wprocs = GetModuleHandle16( "wprocs" )) < 32) &&
+ ((wprocs = LoadLibrary16( "wprocs" )) < 32))
{
ERR("could not load wprocs.dll\n");
return 0;
}
}
- INT_Vectors[intnum] = NE_GetEntryPoint( wprocs, FIRST_INTERRUPT + intnum );
+ if (!(INT_Vectors[intnum] = GetProcAddress16( wprocs, (LPCSTR)(FIRST_INTERRUPT + intnum))))
+ {
+ WARN("int%x not implemented, returning dummy handler\n", intnum );
+ INT_Vectors[intnum] = GetProcAddress16( wprocs, (LPCSTR)(FIRST_INTERRUPT + 256) );
+ }
}
return INT_Vectors[intnum];
}
@@ -176,3 +181,13 @@
}
return 0;
}
+
+
+/**********************************************************************
+ * INT_DefaultHandler
+ *
+ * Default interrupt handler.
+ */
+void WINAPI INT_DefaultHandler( CONTEXT86 *context )
+{
+}