X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.c;h=1ae9e65ab9f94e24f706f0eded02541424963b6a;hb=67103bcf34caaa89876b908820771584b3f4d05c;hp=065289cd9ecbf255afcc66c08fbf736426e2a813;hpb=8887e1292abee65a4736ad5ebe9400c7dd4c10c7;p=16.git diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 065289cd..1ae9e65a 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -270,7 +270,7 @@ unsigned MM_MapEMS(mminfo_t *mm) union REGS CPURegs; EMShandle=mm->EMShandle; - for (i=0;iEMSpagesmapped;i++) + for (i=0;i<4/*mm->EMSpagesmapped*/;i++) { __asm { @@ -292,7 +292,7 @@ unsigned MM_MapEMS(mminfo_t *mm) strcpy(str,"MM_MapEMS: EMS error 0x"); itoa(err,str2,16); strcpy(str,str2); - printf("%s\n",str); + //printf("%s\n",str); printf("FACK! %u\n", err); return err; } @@ -300,6 +300,36 @@ unsigned MM_MapEMS(mminfo_t *mm) return 0; } +/* +SUB EMS.MapXPages (PhysicalStart, LogicalStart, NumPages, Handle) + + 'Maps up to 4 logical EMS pages to physical pages in the page frame, where: + ' + 'PhysicalStart = Physical page first logical page is mapped to + 'LogicalStart = First logical page to map + 'NumPages = Number of pages to map (1 to 4) + 'Handle = EMS handle logical pages are allocated to + + 'Create a buffer containing the page information + FOR x = 0 TO NumPages - 1 + MapInfo$ = MapInfo$ + MKI$(LogicalStart + x) + MKI$(PhysicalStart + x) + NEXT + + Regs.ax = &H5000 'Map the pages in the buffer + Regs.cx = NumPages 'to the pageframe + Regs.dx = Handle + Regs.ds = VARSEG(MapInfo$) + Regs.si = SADD(MapInfo$) + InterruptX &H67, Regs, Regs + EMS.Error = (Regs.ax AND &HFF00&) \ &H100 'Store the status code + +END SUB +*/ +void MM_MapXEMS(mminfo_t *mm) +{ + +} + //========================================================================== /*