//static globals --------------------------------\r
\r
static int ActiveEMList[MAXEMHANDLES];\r
-static unsigned int EMMSeg;\r
+static unsigned long EMMSeg;\r
\r
//forward declarations ---------------------------------\r
static int EMPresent(void);\r
static int EMReady(void);\r
-static unsigned int GetEMMSeg(void);\r
+static unsigned long GetEMMSeg(void);\r
static int GetEMHandle(int NumPages);\r
static int EMMap(int Handle, int LogPg, int PhyPg);\r
static int FreeEMHandle(int Handle);\r
static int EMStateSave(int Handle);\r
static void EMStateRestore(int Handle);\r
+/********************************************************************/
+//beta
+unsigned long\r
+EMInfo(void)\r
+{
+ int EMSinfo;\r
+ _asm
+ {
+ mov ah,0x58\r
+ int 0x67
+ mov EMSinfo,ax\r
+ }
+ return((unsigned long)EMSinfo);\r
+}
+
/********************************************************************/
int\r
return(EMSver);\r
}\r
\r
-/********************************************************************/\r
+/********************************************************************/
+\r
int\r
OpenEMM(void)\r
{\r
End:
}
if(!interr)
- RtnVal = ((unsigned long)Pages); /* Pages * 16K rtns bytes*/
+ RtnVal = ((unsigned long)Pages); /* Pages * 16K rtns bytes*/ //<< 14);
\r
return(RtnVal);\r
} /* End of EMMCoreLeft() */\r
*Handle = NOTREADY;\r
return(NULL);\r
}\r
- if ((Pages < 1) || (Pages > EMMCoreLeft())) {\r
+ if ((Pages < 1) || (Pages > EMMCoreLeft(/*1020*/))) {\r
*Handle = VALUE_OUTF_RANGE;\r
return (NULL);\r
}\r
{\r
int RtnCode = FALSE;\r
\r
- if (!EMMSeg || (Pages < 0) || (Pages > 1020)) {\r
+ if (!EMMSeg || (Pages < 0) || (Pages > EMMCoreLeft(/*1020*/))) {\r
return (FALSE);\r
}\r
_asm {\r
\r
/********************************************************************/\r
\r
-static unsigned int\r
+static unsigned long\r
GetEMMSeg(void)\r
{\r
unsigned int EMSegment;\r
\r
//NotReady:\r
// return(NOTREADY);\r
-} /* End of GetEMMSeg() */\r
+} /* End of GetEMMSeg() */
+
+/********************************************************************/\r
+\r
+unsigned long\r
+GetEMMSeg0(void)\r
+{\r
+ unsigned int EMSegment;\r
+\r
+ _asm {\r
+ mov ah,0x41 /* get EMM page frame segment */\r
+ int 0x67\r
+ or ah,ah\r
+ js NotReady /* returns 80, 81, or 84 hex on error */\r
+ mov EMSegment,bx
+ jmp End
+ NotReady:
+ mov EMSegment,NOTREADY
+ End:\r
+ }\r
+ return(EMSegment); /*lint !e530 */\r
+\r
+//NotReady:\r
+// return(NOTREADY);\r
+} /* End of GetEMMSeg0() */\r
\r
/********************************************************************/\r
\r