//#include "src/lib/16_ca.h"
//++++mh #include "src/lib/16_in.h"
#ifdef __DEBUG__ // 1 == Debug/Dev ; 0 == Production/final
//#include "src/lib/16_ca.h"
//++++mh #include "src/lib/16_in.h"
#ifdef __DEBUG__ // 1 == Debug/Dev ; 0 == Production/final
-#define SAVENEARHEAP 0x200 // space to leave in data segment
-#define SAVEFARHEAP 0//x2000 // space to leave in far heap
+#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;}
+
+
+#define SAVENEARHEAP 0//_memavl()/4 // space to leave in data segment
+#define SAVEFARHEAP 0//x400 // space to leave in far heap
//byte EMS_status;
unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
unsigned int EMSVer;
word numUMBs,UMBbase[MAXUMBS];
//byte EMS_status;
unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
unsigned int EMSVer;
word numUMBs,UMBbase[MAXUMBS];
//dword numUMBs,UMBbase[MAXUMBS];
mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;
} mminfo_t;
//dword numUMBs,UMBbase[MAXUMBS];
mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew;
} mminfo_t;
void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi);
static void MM_EMSerr(byte *stri, byte err);
void MM_BombOnError(boolean bomb, mminfo_t *mm);
void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi);
static void MM_EMSerr(byte *stri, byte err);
void MM_BombOnError(boolean bomb, mminfo_t *mm);
-void MM_GetNewBlock(mminfo_t *mm);
-void MM_FreeBlock(mmblocktype *x, mminfo_t *mm);
+//void MM_GetNewBlock(mminfo_t *mm);
+//void MM_FreeBlock(mmblocktype *x, mminfo_t *mm);