]> 4ch.mooo.com Git - 16.git/commitdiff
ok
authorsparky4 <sparky4@cock.li>
Mon, 13 Jul 2015 04:16:16 +0000 (23:16 -0500)
committersparky4 <sparky4@cock.li>
Mon, 13 Jul 2015 04:16:16 +0000 (23:16 -0500)
modified:   src/lib/16_mm.c

src/lib/16_mm.c

index 7b8dfec921cb94ad430771410c71477c641a4fa5..f63c126a1158d6926ecddb3b03b38bc38a0ad781 100644 (file)
@@ -300,6 +300,32 @@ unsigned MM_MapEMS(mminfo_t *mm)
        return 0;
 }
 
+/*
+SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle)\r
+\r
+  'Maps up to 4 logical EMS pages to physical pages in the page frame, where:\r
+  '\r
+  'PhysicalStart = Physical page first logical page is mapped to\r
+  'LogicalStart  = First logical page to map\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
+  FOR x = 0 TO NumPages - 1\r
+    MapInfo$ = MapInfo$ + MKI$(LogicalStart + x) + MKI$(PhysicalStart + x)\r
+  NEXT\r
+\r
+  Regs.ax = &H5000                           'Map the pages in the buffer\r
+  Regs.cx = NumPages                         'to the pageframe\r
+  Regs.dx = Handle\r
+  Regs.ds = VARSEG(MapInfo$)\r
+  Regs.si = SADD(MapInfo$)\r
+  InterruptX &H67, Regs, Regs\r
+  EMS.Error = (Regs.ax AND &HFF00&) \ &H100  'Store the status code\r
+\r
+END SUB
+*/
+
 //==========================================================================
 
 /*