]> 4ch.mooo.com Git - 16.git/commitdiff
ok about to add the massive page management stuff
authorsparky4 <sparky4@cock.li>
Tue, 21 Jul 2015 01:46:58 +0000 (20:46 -0500)
committersparky4 <sparky4@cock.li>
Tue, 21 Jul 2015 01:46:58 +0000 (20:46 -0500)
modified:   exmmtest.exe
modified:   src/lib/16_mm.c
modified:   src/lib/16_mm.h

exmmtest.exe
src/lib/16_mm.c
src/lib/16_mm.h

index 858770f84b011519f39e6d69c1795b58a5a61948..45ae666753ac250f49b98dc31c5bba3caa7133eb 100644 (file)
Binary files a/exmmtest.exe and b/exmmtest.exe differ
index c7577924c22be821048d3cc94505e5b047dc4b4b..24f78c5bd67e5499be869a796f1f7b99b59a22d0 100644 (file)
@@ -307,7 +307,7 @@ byte MM_MapEMS(mminfo_t *mm)
        return 0;
 }
 
-void MM_MapXEMS(mminfo_t *mm)
+byte MM_MapXEMS(mminfo_t *mm)
 {
 
 //SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle)\r
@@ -332,6 +332,46 @@ void MM_MapXEMS(mminfo_t *mm)
 //     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;
+*/
 }
 
 //==========================================================================
index a665b22436c5c128bc21d7d6b38a8ae2c6f03880..8570016c53f05131cc809b0ef61ae6554279fdfb 100644 (file)
@@ -166,6 +166,7 @@ boolean MML_CheckForEMS(void);
 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);