From 97d898169d2e247f35d2467ea38ff8d2dc3e7720 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 29 Jun 2015 19:22:54 -0500 Subject: [PATCH] started to work on mm libery~ modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- exmmtest.exe | Bin 50035 -> 50058 bytes src/lib/16_mm.c | 60 ++++++++++++++++++++++++++++++++++++++++++------ src/lib/16_mm.h | 10 ++++---- 3 files changed, 57 insertions(+), 13 deletions(-) diff --git a/exmmtest.exe b/exmmtest.exe index ee5838f32f913686d178711a9387835802243712..3306249c050dceaad65e86f9550e3b3c7c01417a 100644 GIT binary patch delta 14683 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 G=KmjTq^f)X delta 14406 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 diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 9dbc0eef..52fdf8e9 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -43,6 +43,48 @@ EMS / XMS unmanaged routines */ #include "src/lib/16_mm.h" + +/* +============================================================================= + + GLOBAL VARIABLES + +============================================================================= +*/ + +mminfotype mminfo; +memptr bufferseg; +boolean mmerror; + +void (* beforesort) (void); +void (* aftersort) (void); + +/* +============================================================================= + + LOCAL VARIABLES + +============================================================================= +*/ + +boolean mmstarted; + +void far *farheap; +void *nearheap; + +mmblocktype far mmblocks[MAXBLOCKS] + ,far *mmhead,far *mmfree,far *mmrover,far *mmnew; + +boolean bombonerror; + +unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle; +unsigned int EMSVer; + +void (* XMSaddr) (void); // far pointer to XMS driver + +unsigned numUMBs,UMBbase[MAXUMBS]; + +static char *ParmStringsexmm[] = {"noems","noxms",""}; /* ====================== @@ -570,7 +612,7 @@ emsskip: if (MML_CheckForXMS()) { // printf("XMS!\n"); - MML_SetupXMS(); // allocate as many UMBs as possible +//++++ MML_SetupXMS(); // allocate as many UMBs as possible } // @@ -599,11 +641,16 @@ void MM_Shutdown (void) if (!mminfo.mmstarted) return; - _ffree (farheap); - free (nearheap); - hfree(hugeheap); - MML_ShutdownEMS (); - MML_ShutdownXMS (); + _ffree (farheap); + printf("far freed\n"); + free (nearheap); + printf("near freed\n"); + //hfree(hugeheap); + printf("huge freed\n"); + MML_ShutdownEMS (); + printf("EMS freed\n"); +//++++ MML_ShutdownXMS (); + printf("XMS freed\n"); } //========================================================================== @@ -1175,4 +1222,3 @@ US_CheckParm(char *parm,char **strings) } return(-1); } - diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index fceb1550..701f002d 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -135,11 +135,11 @@ typedef struct mmblockstruct ============================================================================= */ -static mminfotype mminfo; +/*static mminfotype mminfo; static memptr bufferseg; static void (* beforesort) (void); -static void (* aftersort) (void); +static void (* aftersort) (void);*/ /* ============================================================================= @@ -149,7 +149,7 @@ static void (* aftersort) (void); ============================================================================= */ -static void huge *hugeheap; +/*static void huge *hugeheap; static void far *farheap; static void *nearheap; @@ -162,9 +162,7 @@ static unsigned int EMSVer; static void (* XMSaddr) (void); // far pointer to XMS driver -static unsigned numUMBs,UMBbase[MAXUMBS]; - -static char *ParmStringsexmm[] = {"noems","noxms",""}; +static unsigned numUMBs,UMBbase[MAXUMBS];*/ //========================================================================== -- 2.39.5