=======================
*/
-unsigned MML_SetupEMS(mminfo_t *mm)
+byte MML_SetupEMS(mminfo_t *mm)
{
- char str[80],str2[10];
- unsigned err;
+ char str[80];//,str2[10];
+ byte err;
boolean errorflag=false;
union REGS CPURegs;
mov [EMShandle],dx
jmp End
error:
+ mov err,ah
mov errorflag,1
jmp End
noEMS:
}
if(errorflag==true)
{
- err = CPURegs.h.ah;
+ //err = CPURegs.h.ah;
strcpy(str,"MML_SetupEMS: EMS error 0x");
- itoa(err,str2,16);
- strcpy(str,str2);
- printf("%s\n",str);
+ //itoa(err,str2,16);
+ //strcat(str,&err);
+ //printf("%s\n",str);
+ printf("%s%x\n",str,err);
return err;
}
mm->totalEMSpages=totalEMSpages;
====================
*/
-unsigned MM_MapEMS(mminfo_t *mm)
+byte MM_MapEMS(mminfo_t *mm)
{
- char str[80],str2[10];
- unsigned err, EMShandle;
+ char str[80];//,str2[10];
+ unsigned /*err, */EMShandle;
+ byte err;
boolean errorflag=false;
int i;
union REGS CPURegs;
EMShandle=mm->EMShandle;
- for (i=0;i<4/*mm->EMSpagesmapped*/;i++)
+ for (i=0;i<MAPPAGES;i++)
{
__asm
{
jnz error
jmp End
error:
+ mov err,ah
mov errorflag,1
End:
}
if(errorflag==true)
{
- err = CPURegs.h.ah;
+ //err = CPURegs.h.ah;
strcpy(str,"MM_MapEMS: EMS error 0x");
- itoa(err,str2,16);
- strcpy(str,str2);
+ //itoa(err,str2,16);
+ //strcat(str,&err);
//printf("%s\n",str);
- printf("FACK! %u\n", err);
+ printf("%s%x\n",str, err);
+ //printf("FACK! %x\n", err);
return err;
}
}
return 0;
}
-void MM_MapXEMS(mminfo_t *mm)
+byte MM_MapXEMS(mminfo_t *mm)
{
//SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle)\r
//NumPages = Number of pages to map (1 to 4)\r
//Handle = EMS handle logical pages are allocated to\r
\r
- //Create a buffer containing the page information\r
+ /*//Create a buffer containing the page information\r
// FOR x = 0 TO NumPages - 1\r
// MapInfo$ = MapInfo$ + MKI$(LogicalStart + x) + MKI$(PhysicalStart + x)\r
-// NEXT\r
+// NEXT*/\r
\r
// Regs.ax = &H5000 //Map the pages in the buffer\r
// Regs.cx = NumPages //to the pageframe\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;
+*/
}
//==========================================================================