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
MM_Shutdown (gvar);\r
\r
MM_Reset (gvar);\r
-\r
gvar->mm.mmstarted = true;\r
gvar->mm.bombonerror = true;\r
//\r
//\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
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