X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.h;h=33e1e526cfb55f87c27e0120ec225a42f96d77a8;hb=c5a5d3be15dc4c1de46f86cec8dd5a161563b1b9;hp=2db7556144c0530e9463c8606a289e1c4df9e368;hpb=221553c7aa69dddd3f2ed960062080c60fcacf58;p=16.git diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h old mode 100644 new mode 100755 index 2db75561..33e1e526 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -25,6 +25,7 @@ #include #include "src/lib/16_head.h" #include "src/lib/16_hc.h" +#include "src/lib/16_lib.h" //#include "src/lib/modex16.h" //++++mh #include "src/lib/16_in.h" @@ -39,22 +40,13 @@ #define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;} -#define AARED "\x1b[41;31m" -#define AABLUE "\x1b[44;34m" -#define AAGREEN "\x1b[42;32m" -#define AAYELLOW "\x1b[43;33m" -#define AAGREY "\x1b[47;37m" -#define AABLACK "\x1b[40;30m" -#define AAWHITE "\x1b[47;37m" -#define AAMAGENTA "\x1b[45;35m" -#define AARESET "\x1b[0m" - #define SAVENEARHEAP 0x200 // space to leave in data segment #define SAVEFARHEAP 0//x400 // space to leave in far heap #define BUFFERSIZE 0x1000 // miscelanious, allways available buffer -#define MAXBLOCKS 1024 +//moved to typdefst +//#define MAXBLOCKS 1024 @@ -98,10 +90,11 @@ //========================================================================== -typedef struct +//moved to typdefst +/*typedef struct { dword nearheap,farheap,EMSmem,XMSmem,mainmem; -} mminfotype; +} mminfotype;*/ //========================================================================== @@ -124,17 +117,20 @@ extern void (* XMSaddr) (void); // far pointer to XMS driver #define PURGEMASK 0xfffc #define BASEATTRIBUTES 0 // unlocked, non purgable -#define MAXUMBS 12 +//moved to typedefst +//#define MAXUMBS 12 #define MAPPAGES 4//mm->EMSpagesmapped -typedef struct mmblockstruct +//moved to typdefst +/*typedef struct mmblockstruct { - //word start,length; - word start; dword length; + 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; @@ -142,7 +138,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,8 +151,9 @@ typedef struct 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; + //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;*/ /* ============================================================================= @@ -195,11 +193,11 @@ void MM_FreePtr(memptr *baseptr, mminfo_t *mm); void MM_SetPurge(memptr *baseptr, int purge, mminfo_t *mm); void MM_SetLock(memptr *baseptr, boolean locked, mminfo_t *mm); void MM_SortMem(mminfo_t *mm); -void MM_ShowMemory(global_game_variables_t *gvar,/*page_t *page, */mminfo_t *mm); +void MM_ShowMemory(global_game_variables_t *gvar);//,/*page_t *page, */mminfo_t *mm); void MM_DumpData(mminfo_t *mm); dword MM_UnusedMemory(mminfo_t *mm); dword MM_TotalFree(mminfo_t *mm); -void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi); +void MM_Report_(global_game_variables_t *gvar); static void MM_EMSerr(byte *stri, byte err); void MM_BombOnError(boolean bomb, mminfo_t *mm); //void MM_GetNewBlock(mminfo_t *mm);