]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
pusing~
[16.git] / src / lib / 16_mm.c
index 0246d4e191e2f7b31aed686aef19866aad9eafb5..1800c7d5bde45ba148ad6cf03dcce2460a66a0b9 100644 (file)
@@ -83,10 +83,11 @@ static      char *ParmStringsexmm[] = {"noems","noxms",""};
 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
@@ -442,7 +443,8 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm)
        //find out how many blocks it spans!
        if(seglength>0xffffu)
        {
-               segm=seglength/0x4000u;
+//             segm=seglength/0x4000u;
+               segm=seglength/0xffffu;
        }
        else segm=1;
 
@@ -452,7 +454,7 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm)
        oldend = scan->start + scan->length;
        extra = oldend - (segstart+seglength);
        //++++emsver stuff!
-       if(extra>0xfffflu)
+       if(segm>1/*extra>0xfffflu*/)
        {
                /*__asm
                {
@@ -654,7 +656,7 @@ emsskip:
        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
        }
 
 //