updated for version 7.3.577
Problem:    Size of memory does not fit in 32 bit unsigned.
Solution:   Use Kbyte instead of byte.  Call GlobalMemoryStatusEx() instead of
            GlobalMemoryStatus() when available.
diff --git a/src/os_win16.c b/src/os_win16.c
index 0be6c63..b620149 100644
--- a/src/os_win16.c
+++ b/src/os_win16.c
@@ -379,13 +379,13 @@
 
 
 /*
- * How much memory is available?
+ * How much memory is available in Kbyte?
  */
     long_u
 mch_avail_mem(
     int special)
 {
-    return GetFreeSpace(0);
+    return GetFreeSpace(0) >> 10;
 }