boolean MML_CheckForEMS(void)
{
boolean emmcfems;
- char emmname[] = "EMMXXXX0";
+ static char emmname[] = "EMMXXXX0"; //fix by andrius4669
// mov dx,OFFSET emmname
__asm {
- LEA DX, emmname //fix by andrius4669
+ //LEA DX, emmname //fix by andrius4669
+ mov dx,OFFSET emmname //fix by andrius4669
mov ax,0x3d00
int 0x21 // try to open EMMXXXX0 device
jc error
void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm)
{
mmblocktype huge *scan,huge *last;
+ word segm;
dword oldend;
dword extra;
}
//find out how many blocks it spans!
- /*++++if(seglength>0xffffu)
+ if(seglength>0xffffu)
{
- scan->sega=(word)seglength/0xffffu;
+// segm=seglength/0x4000u;
+ segm=seglength/0xffffu;
}
- else scan->sega=1;*/
+ else segm=1;
//
// take the given range out of the block
oldend = scan->start + scan->length;
extra = oldend - (segstart+seglength);
//++++emsver stuff!
- if(extra>0xfffflu)
+ if(segm>1/*extra>0xfffflu*/)
{
/*__asm
{
inc ax
mov ds,ax
}*/
-//++++printf("sega=%u ", scan->sega);
+printf("segm=%u ", segm);
printf("ex=%lu ", extra);
printf("len=%u ", scan->length);
printf("segsta=%x ", segstart);
if(MML_CheckForXMS(mm))
{
printf("XMS!\n");
- MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible
+ //MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible
}
//