]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
pee
[16.git] / src / lib / 16_mm.c
index c5c51486ef9d8d01f6626968657c6cfda337af32..c044ae47a75cb5f688d383eedf6cbf732f116b2c 100755 (executable)
@@ -849,7 +849,7 @@ void MM_Reset (global_game_variables_t *gvar)
 void MM_Startup (global_game_variables_t *gvar)\r
 {\r
        int i;\r
-       dword length;\r
+       unsigned        long length;\r
        void far        *start;\r
        unsigned        segstart,seglength;//,endfree;\r
 \r
@@ -857,7 +857,6 @@ void MM_Startup (global_game_variables_t *gvar)
                MM_Shutdown (gvar);\r
 \r
        MM_Reset (gvar);\r
-\r
        gvar->mm.mmstarted = true;\r
        gvar->mm.bombonerror = true;\r
 //\r
@@ -884,17 +883,8 @@ void MM_Startup (global_game_variables_t *gvar)
 //\r
 // get all available near conventional memory segments\r
 //\r
-#ifdef __WATCOMC__\r
-       _nheapgrow();\r
-#endif\r
-       length=(word)_memavl();//(word)coreleft();\r
-       //start = gvar->mm.nearheap = _fmalloc(length);\r
-#ifdef __WATCOMC__\r
-       start = (void __far *)(gvar->mm.nearheap = _nmalloc(length));\r
-#endif\r
-#ifdef __BORLANDC__\r
-       start = (void far *)(gvar->mm.nearheap = malloc(length));\r
-#endif\r
+       length=coreleft();\r
+       start = (void far *)(gvar->mm.nearheap = nearmalloc(length));\r
 \r
        length -= 16-(FP_OFF(start)&15);\r
        length -= SAVENEARHEAP;\r
@@ -903,30 +893,19 @@ void MM_Startup (global_game_variables_t *gvar)
        MML_UseSpace (segstart,seglength, gvar);\r
        gvar->mmi.nearheap = length;\r
        //0000printf("near:     start=%Fp       segstart=%x     seglen=%lu      len=%lu\n", start, segstart, (dword)seglength, length);\r
-\r
 //\r
 // get all available far conventional memory segments\r
 //\r
-#ifdef __WATCOMC__\r
-       _fheapgrow();\r
-#endif\r
-#ifdef __BORLANDC__\r
-//     printf("farcoreleft()                           %lu\n", farcoreleft());\r
-//     printf("(farcoreleft()+32)-_FCORELEFT   %d\n", (sword)((farcoreleft()+32)-_FCORELEFT));\r
-#endif\r
-       length=_FCORELEFT;\r
-       start = gvar->mm.farheap = _fmalloc(length);//start = gvar->mm.farheap = halloc(length, 1);\r
-\r
+       length=HC_farcoreleft();\r
+       start = gvar->mm.farheap = farmalloc(length);\r
        length -= 16-(FP_OFF(start)&15);\r
        length -= SAVEFARHEAP;\r
        seglength = length / 16;                        // now in paragraphs\r
        segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;\r
        MML_UseSpace (segstart,seglength, gvar);\r
        gvar->mmi.farheap = length;\r
-       //0000printf("far:      start=%Fp       segstart=%x     seglen=%lu      len=%lu\n", start, segstart, (dword)seglength, length);\r
-\r
        gvar->mmi.mainmem = gvar->mmi.nearheap + gvar->mmi.farheap;\r
-\r
+       //0000printf("far:      start=%Fp       segstart=%x     seglen=%lu      len=%lu\n", start, segstart, (dword)seglength, length);\r
 #if !defined(__16_PM__)// && defined(__WATCOMC__)\r
 #if 0\r
        if(!dbg_debugpm) {\r