From ed6a6d3e013cfe95f25ebab2729767763b3f4af2 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Fri, 3 Jul 2015 22:17:09 -0500 Subject: [PATCH] here! modified: exmmtest.exe modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- exmmtest.exe | Bin 45646 -> 45713 bytes src/lib/16_mm.c | 37 ++++++++++++++++++++++++++++++++----- src/lib/16_mm.h | 4 +++- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/exmmtest.exe b/exmmtest.exe index 8346f750358b7a1616e2908d2d4f67c4f2909385..bab546ee5dfbe899c6f7d7b4c106d8e40481f04d 100644 GIT binary patch delta 12410 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 Jpv)rV{{Z2wL_h!l delta 12839 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 diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 77466490..90b07cd7 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -420,13 +420,13 @@ void MML_ShutdownXMS(mminfo_t *mm) ====================== */ -void MML_UseSpace(/*d*/word segstart, /*d*/word seglength, mminfo_t *mm) +void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm) { mmblocktype huge *scan,huge *last; - /*d*/word oldend; + dword oldend; /*d*/word fat=0; word segm=0; - /*d*/word extra; + dword extra; scan = last = mm->mmhead; mm->mmrover = mm->mmhead; // reset rover to start of memory @@ -614,11 +614,11 @@ 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*/4)*0x4000lu, mm); + MML_UseSpace(mm->EMSpageframe,(mm->EMSpagesmapped)*0x4000lu, mm); //printf("EMS3\n"); MM_MapEMS(mm); // map in used pages //printf("EMS4\n"); - mmi->EMSmem = (/*mm->EMSpagesmapped*/4)*0x4000lu; + mmi->EMSmem = (mm->EMSpagesmapped)*0x4000lu; } // @@ -1230,3 +1230,30 @@ void MM_FreeBlock(mmblocktype *x, mminfo_t *mm) x->next=mm->mmfree; mm->mmfree=x; } + +void MM_seguin(void) +{ + __asm + { + push ds + inc ds + } +} + +void MM_segude(void) + __asm + { + pop ds + } +} + +/* +pull data from far and put it into ds var +mov ax,es:si +mov x,ax +*/ +/* +ss stack segment +sp top of stack +bp bottem of stack +*/ diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index d1ccd0da..1ef85c95 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -116,6 +116,8 @@ typedef struct mmblockstruct { word start,length; //dword start,length; + //word start; + //dword length; unsigned attributes; memptr *useptr; // pointer to the segment start struct mmblockstruct huge *next; @@ -161,7 +163,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(/*d*/word segstart, /*d*/word seglength, mminfo_t *mm); +void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm); void MML_ClearBlock(mminfo_t *mm); void MM_Startup(mminfo_t *mm, mminfotype *mmi); -- 2.39.5