X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fexmm%2Fmemory.c;h=38b12255b41e45e2ef7c269f6fe9e64a4e793f13;hb=88a70251309902e450052de212343e9d1835d834;hp=75b8664629107d2579ea0ba872430eb746553cb5;hpb=de4d33a05ca28e5332570749f3a1c1648db896a3;p=16.git diff --git a/src/lib/exmm/memory.c b/src/lib/exmm/memory.c index 75b86646..38b12255 100644 --- a/src/lib/exmm/memory.c +++ b/src/lib/exmm/memory.c @@ -42,6 +42,21 @@ static int GetNumPages(int Handle); static int EMStateSave(int Handle); static void EMStateRestore(int Handle); +/********************************************************************/ +//beta +unsigned long +EMInfo(void) +{ + int EMSinfo; + _asm + { + mov ah,0x58 + int 0x67 + mov EMSinfo,ax + } + return((unsigned long)EMSinfo); +} + /********************************************************************/ int @@ -57,7 +72,8 @@ EMVer(void) return(EMSver); } -/********************************************************************/ +/********************************************************************/ + int OpenEMM(void) { @@ -112,7 +128,7 @@ EMMCoreLeft(void) End: } if(!interr) - RtnVal = ((unsigned long)Pages << 14); /* Pages * 16K rtns bytes*/ + RtnVal = ((unsigned long)Pages); /* Pages * 16K rtns bytes*/ //<< 14); return(RtnVal); } /* End of EMMCoreLeft() */ @@ -129,7 +145,7 @@ EMMalloc(int *Handle, int Pages) *Handle = NOTREADY; return(NULL); } - if ((Pages < 1) || (Pages > 1020)) { + if ((Pages < 1) || (Pages > EMMCoreLeft(/*1020*/))) { *Handle = VALUE_OUTF_RANGE; return (NULL); } @@ -152,7 +168,7 @@ EMMRealloc(int Handle, int Pages) { int RtnCode = FALSE; - if (!EMMSeg || (Pages < 0) || (Pages > 1020)) { + if (!EMMSeg || (Pages < 0) || (Pages > EMMCoreLeft(/*1020*/))) { return (FALSE); } _asm {