From 63c2a1f0ef54fb7867e0828dadbaff0361ec190a Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 2 Jul 2015 16:13:10 -0500 Subject: [PATCH] divide the memory blob into chunks modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- exmmtest.exe | Bin 45245 -> 45320 bytes src/lib/16_mm.c | 16 +++++++++------- src/lib/16_mm.h | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/exmmtest.exe b/exmmtest.exe index 42dba971abb5187246f3dc8718b65b51c34d1281..df027297c0e69293b1cef9fe4d2e498d25940c8f 100644 GIT binary patch delta 12469 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 delta 12586 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 Zx0eaXQR%<-?iEJVEqrI4BrSs{{tv_uVk7_n diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index d39e2683..3f0e7e57 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -410,12 +410,12 @@ void MML_ShutdownXMS(mminfo_t *mm) ====================== */ -void MML_UseSpace(unsigned segstart, unsigned seglength, mminfo_t *mm) +void MML_UseSpace(unsigned segstart, dword seglength, mminfo_t *mm) { mmblocktype huge *scan,huge *last; unsigned oldend; //++++if(mm->EMSVer) - long extra; + dword extra; scan = last = mm->mmhead; mm->mmrover = mm->mmhead; // reset rover to start of memory @@ -435,10 +435,10 @@ void MML_UseSpace(unsigned segstart, unsigned seglength, mminfo_t *mm) oldend = scan->start + scan->length; extra = oldend - (segstart+seglength); //++++emsver stuff! - if(extra < 0) + if(extra > 0xffffl) { - printf("MML_UseSpace: Segment spans two blocks!"); - return; + printf("MML_UseSpace: Segment spans two blocks!\n"); + //return; } @@ -593,11 +593,13 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) MML_SetupEMS(mm); // allocate space printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); //bug! //TODO: EMS4! AND EMS 3.2 MASSIVE DATA HANDLMENT! - MML_UseSpace(mm->EMSpageframe,mm->EMSpagesmapped*0x400, mm); + if(mm->EMSVer>=0x40) MML_UseSpace(mm->EMSpageframe,((dword)mm->EMSpagesmapped)*((dword)mm->freeEMSpages), mm); + else MML_UseSpace(mm->EMSpageframe,mm->EMSpagesmapped*0x400, mm); //printf("EMS3\n"); MM_MapEMS(mm); // map in used pages //printf("EMS4\n"); - mmi->EMSmem = mm->EMSpagesmapped*0x4000l; + if(mm->EMSVer>=0x40) mmi->EMSmem = ((dword)mm->EMSpagesmapped)*((dword)mm->freeEMSpages); + else mmi->EMSmem = mm->EMSpagesmapped*0x4000l; } // diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index bef21c03..bc178f15 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -160,7 +160,7 @@ unsigned MM_MapEMS(mminfo_t *mm); boolean MML_CheckForXMS(mminfo_t *mm); void MML_SetupXMS(mminfo_t *mm, mminfotype *mmi); void MML_ShutdownXMS(mminfo_t *mm); -void MML_UseSpace(unsigned segstart, unsigned seglength, mminfo_t *mm); +void MML_UseSpace(unsigned segstart, dword seglength, mminfo_t *mm); void MML_ClearBlock(mminfo_t *mm); void MM_Startup(mminfo_t *mm, mminfotype *mmi); @@ -175,7 +175,7 @@ void MM_ShowMemory(mminfo_t *mm); dword MM_UnusedMemory(mminfo_t *mm); dword MM_TotalFree(mminfo_t *mm); void MM_Report(mminfo_t *mm, mminfotype *mmi); -int MM_EMSVer(void); +//int MM_EMSVer(void); void MM_BombOnError(boolean bomb, mminfo_t *mm); void MM_GetNewBlock(mminfo_t *mm); void MM_FreeBlock(mmblocktype *x, mminfo_t *mm); -- 2.39.5