Modularized CallFrom/To16 routines.  Adapted dependent routines,
16-bit snoop/relay debugging, and make rules.

diff --git a/scheduler/syslevel.c b/scheduler/syslevel.c
index 37c3325..aeb3692 100644
--- a/scheduler/syslevel.c
+++ b/scheduler/syslevel.c
@@ -204,14 +204,10 @@
  */
 VOID SYSLEVEL_ReleaseWin16Lock(VOID)
 {
-    DWORD count;
+    /* entry_point is never used again once the entry point has
+       been called.  Thus we re-use it to hold the Win16Lock count */
 
-    ReleaseThunkLock(&count);
-
-    if (count > 0xffff)
-        ERR("Win16Mutex recursion count too large!\n");
-
-    CURRENT_STACK16->mutex_count = (WORD)count;
+    ReleaseThunkLock(&CURRENT_STACK16->entry_point);
 }
 
 /************************************************************************
@@ -219,12 +215,7 @@
  */
 VOID SYSLEVEL_RestoreWin16Lock(VOID)
 {
-    DWORD count = CURRENT_STACK16->mutex_count;
-
-    if (!count)
-        ERR("Win16Mutex recursion count is zero!\n");
-
-    RestoreThunkLock(count);
+    RestoreThunkLock(CURRENT_STACK16->entry_point);
 }
 
 /************************************************************************