]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
started to work on mm libery~
[16.git] / src / lib / 16_mm.c
index 9dbc0eef1ff3be4e25b975607b86cc36571d4543..52fdf8e9d385ddb3fec5c2b110713d1933dac320 100644 (file)
@@ -43,6 +43,48 @@ EMS / XMS unmanaged routines
 */\r
 \r
 #include "src/lib/16_mm.h"\r
+
+/*\r
+=============================================================================\r
+\r
+                                                GLOBAL VARIABLES\r
+\r
+=============================================================================\r
+*/\r
+\r
+mminfotype     mminfo;\r
+memptr         bufferseg;\r
+boolean                mmerror;\r
+\r
+void           (* beforesort) (void);\r
+void           (* aftersort) (void);\r
+\r
+/*\r
+=============================================================================\r
+\r
+                                                LOCAL VARIABLES\r
+\r
+=============================================================================\r
+*/\r
+\r
+boolean                mmstarted;\r
+\r
+void far       *farheap;\r
+void           *nearheap;\r
+\r
+mmblocktype    far mmblocks[MAXBLOCKS]\r
+                       ,far *mmhead,far *mmfree,far *mmrover,far *mmnew;\r
+\r
+boolean                bombonerror;\r
+\r
+unsigned       totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
+unsigned int EMSVer;\r
+\r
+void           (* XMSaddr) (void);             // far pointer to XMS driver\r
+\r
+unsigned       numUMBs,UMBbase[MAXUMBS];
+
+static char *ParmStringsexmm[] = {"noems","noxms",""};
 \r
 /*\r
 ======================\r
@@ -570,7 +612,7 @@ emsskip:
        if (MML_CheckForXMS())\r
        {\r
 //             printf("XMS!\n");\r
-               MML_SetupXMS();                                 // allocate as many UMBs as possible\r
+//++++         MML_SetupXMS();                                 // allocate as many UMBs as possible\r
        }\r
 \r
 //\r
@@ -599,11 +641,16 @@ void MM_Shutdown (void)
   if (!mminfo.mmstarted)\r
        return;\r
 \r
-  _ffree (farheap);\r
-  free (nearheap);\r
-  hfree(hugeheap);\r
-  MML_ShutdownEMS ();\r
-  MML_ShutdownXMS ();\r
+  _ffree (farheap);
+  printf("far freed\n");\r
+  free (nearheap);
+  printf("near freed\n");\r
+  //hfree(hugeheap);
+  printf("huge freed\n");\r
+  MML_ShutdownEMS ();
+  printf("EMS freed\n");\r
+//++++  MML_ShutdownXMS ();
+  printf("XMS freed\n");\r
 }\r
 \r
 //==========================================================================\r
@@ -1175,4 +1222,3 @@ US_CheckParm(char *parm,char **strings)
        }\r
        return(-1);\r
 }\r
-\r