X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.h;h=23daa0bb1b231b090f967b4acfa729b713800f61;hb=c5dbea494cdfaf301cc12246fea54557c7bc4f21;hp=1d82e82603204d069151d6d3e5584cdbd46a99a9;hpb=45151cf05d1815a6bb2c04cb6ef7650d9113df61;p=16.git diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h old mode 100644 new mode 100755 index 1d82e826..23daa0bb --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -26,7 +26,6 @@ #include "src/lib/16_head.h" #include "src/lib/16_hc.h" //#include "src/lib/modex16.h" -//#include "src/lib/16_ca.h" //++++mh #include "src/lib/16_in.h" #ifdef __DEBUG__ // 1 == Debug/Dev ; 0 == Production/final @@ -36,9 +35,9 @@ #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 GETNEWBLOCK {if(!mm->mmfree)MML_ClearBlock(mm);mm->mmnew=mm->mmfree;mm->mmfree=mm->mmfree->next;} -#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;mm->endid--;} +#define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;} #define AARED "\x1b[41;31m" #define AABLUE "\x1b[44;34m" @@ -130,12 +129,13 @@ extern void (* XMSaddr) (void); // far pointer to XMS driver typedef struct mmblockstruct { - //word start,length; - word start; dword length; - word blob; //fore data larger than 64k + word start,length; + //word start; dword length; + word blob; //for data larger than 64k unsigned attributes; memptr *useptr; // pointer to the segment start - struct mmblockstruct huge *next; + //huge struct mmblockstruct huge *next; + struct mmblockstruct far *next; } mmblocktype; @@ -143,7 +143,8 @@ typedef struct { memptr bufferseg; boolean mmstarted, bombonerror, mmerror; - void huge *farheap; + //huge void huge *farheap; + void far *farheap; #ifdef __BORLANDC__ void *nearheap; #endif @@ -154,9 +155,9 @@ typedef struct unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle; unsigned int EMSVer; word numUMBs,UMBbase[MAXUMBS]; - word endid; //end of list //dword numUMBs,UMBbase[MAXUMBS]; - mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew; + //huge mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew; + mmblocktype far mmblocks[MAXBLOCKS],far *mmhead,far *mmfree,far *mmrover,far *mmnew; } mminfo_t; /*