X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.h;h=7e43b271031a7f98b14952c5a7efe0984ad643ae;hb=d89b4d35446e64b0b8fd7c8fdcff32bcd0845e32;hp=8d3c09fe7e78587af2f0606690477874233ef3c7;hpb=0cffd35a64ad756d3c6845b533f39284bb969e1c;p=16.git diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 8d3c09fe..7e43b271 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -23,7 +23,6 @@ #include #include -//#include #include "src/lib/16_head.h" #include "src/lib/16_hc.h" //#include "src/lib/modex16.h" @@ -36,6 +35,11 @@ #define OUT_OF_MEM_MSG "\npee\n" #endif +//#define GETNEWBLOCK {if(!(mmnew=mmfree))Quit("MM_GETNEWBLOCK: No free blocks!") ;mmfree=mmfree->next;} +#define GETNEWBLOCK {if(!mm->mmfree)MML_ClearBlock(mm);mm->mmnew=mm->mmfree;mm->mmfree=mm->mmfree->next;mm->endid++;} + +#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;mm->endid--;} + #define SAVENEARHEAP 0//_memavl()/4 // space to leave in data segment #define SAVEFARHEAP 0//x400 // space to leave in far heap @@ -89,7 +93,6 @@ typedef struct { dword nearheap,farheap,EMSmem,XMSmem,mainmem; - //__segment segu; } mminfotype; //========================================================================== @@ -131,7 +134,12 @@ typedef struct memptr bufferseg; boolean mmstarted, bombonerror, mmerror; void huge *farheap; +#ifdef __BORLANDC__ + void *nearheap; +#endif +#ifdef __WATCOMC__ void __near *nearheap; +#endif //byte EMS_status; unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle; unsigned int EMSVer; @@ -186,8 +194,8 @@ dword MM_TotalFree(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); //==========================================================================