=============================================================================
*/
+/*
+
+Open Watcom port by sparky4
+*/
#include "src/lib/16_mm.h"
/*
=============================================================================
*/
-//mminfo_t mminfo;
-//memptr bufferseg;
-//boolean mmerror;
-
void (* beforesort) (void);
void (* aftersort) (void);
void (* XMSaddr) (void); // far pointer to XMS driver
=============================================================================
*/
-//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",""};
/*
{
mmblocktype far *scan,far *last;
unsigned oldend;
+ //++++if(mm->EMSVer)
long extra;
scan = last = mm->mmhead;
{
int i;
dword length;
- void far *start;
+ void huge *start;
unsigned segstart,seglength,endfree;
if(mm->mmstarted)
//---- length=coreleft();
_nheapgrow();
length=_memavl();
- start = (void far *)(mm->nearheap = malloc(length));
+ start = (void huge *)(mm->nearheap = malloc(length));
length -= 16-(FP_OFF(start)&15);
length -= SAVENEARHEAP;
//==========================================================================
-/*extern mminfotype mminfo;
-extern memptr bufferseg;
-extern boolean mmerror;*/
-
extern void (* beforesort) (void);
extern void (* aftersort) (void);
extern void (* XMSaddr) (void); // far pointer to XMS driver
unsigned start,length;
unsigned attributes;
memptr *useptr; // pointer to the segment start
- struct mmblockstruct far *next;
+ struct mmblockstruct huge *next;
} mmblocktype;
mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;
} mminfo_t;
-
-//#define GETNEWBLOCK {if(!(mmnew=mmfree))Quit("MM_GETNEWBLOCK: No free blocks!");mmfree=mmfree->next;}
-//#define GETNEWBLOCK {if(!mmfree)MML_ClearBlock();mmnew=mmfree;mmfree=mmfree->next;}
-//#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mmfree;mmfree=x;}
-
/*
=============================================================================
=============================================================================
*/
-/*static mminfotype mminfo;
-static memptr bufferseg;
-
-static void (* beforesort) (void);
-static void (* aftersort) (void);*/
/*
=============================================================================
=============================================================================
*/
-/*static void huge *hugeheap;
-static void far *farheap;
-static void *nearheap;
-
-static mmblocktype far mmblocks[MAXBLOCKS]
- ,far *mmhead,far *mmfree,far *mmrover,far *mmnew;
-
-
-static unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
-static unsigned int EMSVer;
-
-static void (* XMSaddr) (void); // far pointer to XMS driver
-
-static unsigned numUMBs,UMBbase[MAXUMBS];*/
-
//==========================================================================
boolean MML_CheckForEMS(void);