return 0;
}
-void MM_MapXEMS(mminfo_t *mm)
+byte MM_MapXEMS(mminfo_t *mm)
{
//SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle)\r
// EMS.Error = (Regs.ax AND &HFF00&) \ &H100 //Store the status code\r
\r
//END SUB
+/*
+char str[80];//,str2[10];
+ unsigned EMShandle;
+ byte err;
+ boolean errorflag=false;
+ int i;
+ union REGS CPURegs;
+ EMShandle=mm->EMShandle;
+
+ for (i=0;i<MAPPAGES;i++)
+ {
+ __asm
+ {
+ mov ah,EMS_MAPPAGE
+ mov bx,[i] // logical page
+ mov al,bl // physical page
+ mov dx,[EMShandle] // handle
+ int EMS_INT
+ or ah,ah
+ jnz error
+ jmp End
+ error:
+ mov err,ah
+ mov errorflag,1
+ End:
+ }
+ if(errorflag==true)
+ {
+ //err = CPURegs.h.ah;
+ strcpy(str,"MM_MapEMS: EMS error 0x");
+ //itoa(err,str2,16);
+ //strcat(str,&err);
+ //printf("%s\n",str);
+ printf("%s%x\n",str, err);
+ //printf("FACK! %x\n", err);
+ return err;
+ }
+ }
+ return 0;
+*/
}
//==========================================================================
byte MML_SetupEMS(mminfo_t *mm);
void MML_ShutdownEMS(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);