]> 4ch.mooo.com Git - 16.git/commitdiff
omg so many bugs!!!
authorsparky4 <sparky4@cock.li>
Tue, 7 Jul 2015 04:27:08 +0000 (23:27 -0500)
committersparky4 <sparky4@cock.li>
Tue, 7 Jul 2015 04:27:08 +0000 (23:27 -0500)
modified:   data/g.pal
modified:   exmmtest.exe
modified:   src/lib/16_mm.c
modified:   src/lib/16_mm.h

data/g.pal
exmmtest.exe
src/lib/16_mm.c
src/lib/16_mm.h

index 0ecbac33f44529d9701eae8c9b262c7da0f50416..cf668e3509805fa4ec96876045fe2f979a02ab37 100644 (file)
Binary files a/data/g.pal and b/data/g.pal differ
index 4a81b1d60a5186264f06eaf6e79a74d42ff1bc03..f5938d31687065be04efadf9cafefe80e557cbcf 100644 (file)
Binary files a/exmmtest.exe and b/exmmtest.exe differ
index 1f7593ec9696c43c2971903c059515a14d4b2540..398fd082d173cc1a3b382ed2ef4c835269c2c229 100644 (file)
@@ -438,12 +438,12 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm)
                scan = scan->next;
        }
 
-       //find out how many blocks it span!
-       if(seglength>0xfffflu)
+       //find out how many blocks it spans!
+       /*++++if(seglength>0xffffu)
        {
-               scan->segm=seglength/0xffffu;
+               scan->sega=(word)seglength/0xffffu;
        }
-       else scan->segm=1;
+       else scan->sega=1;*/
 
 //
 // take the given range out of the block
@@ -460,7 +460,7 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm)
                        inc             ax
                        mov     ds,ax
                }*/
-printf("segm=%u        ", scan->segm);
+//++++printf("sega=%u  ", scan->sega);
 printf("ex=%lu ", extra);
 printf("len=%u ", scan->length);
 printf("segsta=%x      ", segstart);
@@ -549,7 +549,7 @@ void MML_ClearBlock(mminfo_t *mm)
 void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 {
        int i;
-       dword length;//,farlen;
+       dword length;
        void huge       *start;
        unsigned        segstart,seglength,endfree;
 
@@ -575,7 +575,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        MM_GetNewBlock(mm);
        mm->mmhead = mm->mmnew;                         // this will allways be the first node
        mm->mmnew->start = 0;
-       mm->mmnew->length = 0xffff;                     //todo: mm make it fucking massive as fuck!~
+       mm->mmnew->length = 0xffff;
        mm->mmnew->attributes = LOCKBIT;
        mm->mmnew->next = NULL;
        mm->mmrover = mm->mmhead;
@@ -589,13 +589,13 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        _nheapgrow();
        length=_memavl();
        start = (void huge *)(mm->nearheap = malloc(length));
-
        length -= 16-(FP_OFF(start)&15);
        length -= SAVENEARHEAP;
        seglength = length / 16;                        // now in paragraphs
        segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;
        MML_UseSpace(segstart,seglength, mm);
        mmi->nearheap = length;
+       //printf("near heap ok!\n");
 
 //
 // get all available far conventional memory segments
@@ -603,8 +603,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 //---- length=farcoreleft();
        _fheapgrow();
        length=_memavl();
-       //length-=farlen;
-       start = mm->farheap = halloc(length, sizeof(dword));
+       start = mm->farheap = halloc(length, sizeof(byte));
        //start = mm->farheap = _fmalloc(length);
        length -= 16-(FP_OFF(start)&15);
        length -= SAVEFARHEAP;
@@ -613,6 +612,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
        MML_UseSpace(segstart,seglength, mm);
        mmi->farheap = length;
        mmi->mainmem = mmi->nearheap + mmi->farheap;
+       //printf("far heap ok!\n");
 
 
 //
@@ -1034,7 +1034,7 @@ void MM_SortMem(mminfo_t *mm)
 void MM_ShowMemory(mminfo_t *mm)
 {
        mmblocktype huge *scan;
-       unsigned color,temp;//, i;
+       unsigned color,temp;
        long    end,owner;
        char    scratch[160],str[16];
 
index 8f064ce09d6e5363691704c288c8c8705026b2ce..6aac19b7e814a9c636229436e69ca5c8fdb89994 100644 (file)
@@ -114,11 +114,11 @@ extern void               (* XMSaddr) (void);             // far pointer to XMS driver
 
 typedef struct mmblockstruct
 {
-       word    start,length,segm;
+       word    start,length;
        //dword start,length;
        //word  start;
        //dword length;
-       ///word segm;                           //how many 64kb segment blocks it takes up if there is many data!
+       //++++word sega;                                //how many 64kb segment blocks it takes up if there is many data!
        unsigned        attributes;
        memptr          *useptr;        // pointer to the segment start
        struct mmblockstruct huge *next;