#define MAXBLOCKS 600
+
//--------
#define EMS_INT 0x67
#define BASEATTRIBUTES 0 // unlocked, non purgable
#define MAXUMBS 12
-#define MAPPAGES 4/*mm->EMSpagesmapped*/
+#define MAPPAGES mm->EMSpagesmapped
typedef struct mmblockstruct
{
{
memptr bufferseg;
boolean mmstarted, bombonerror, mmerror;
+ word segm;
void huge *farheap;
void *nearheap;
+ //byte EMS_status;
unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle;
unsigned int EMSVer;
word numUMBs,UMBbase[MAXUMBS];
//==========================================================================
boolean MML_CheckForEMS(void);
-unsigned MML_SetupEMS(mminfo_t *mm);
+byte MML_SetupEMS(mminfo_t *mm);
void MML_ShutdownEMS(mminfo_t *mm);
-unsigned MM_MapEMS(mminfo_t *mm);
+byte MM_MapEMS(mminfo_t *mm);
+byte MM_MapXEMS(mminfo_t *mm);
boolean MML_CheckForXMS(mminfo_t *mm);
void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi);
void MML_ShutdownXMS(mminfo_t *mm);