From: sparky4 Date: Tue, 21 Jul 2015 22:27:03 +0000 (-0500) Subject: damn! X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=commitdiff_plain;h=99fae0e9cff0b5609ca955a238ff22804c7fb2dc damn! modified: DEBUG.TXT modified: MMDUMP.TXT modified: exmmtest.exe modified: src/exmmtest.c modified: src/lib/16_ca.c modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- diff --git a/DEBUG.TXT b/DEBUG.TXT index bc6b5dd0..c72a4e78 100644 --- a/DEBUG.TXT +++ b/DEBUG.TXT @@ -1,6 +1,3 @@ -Seg:0 Size:92176 Owner:0xfe5e -Seg:1681 Size:4096 Owner:0x7298 -Seg:1caf Size:8752 Owner:0x80 -Seg:5ed0 Size:529152 Owner:0x80 +Seg:11c3 Size:811328 Owner:0xc918 MM_ShowMemory: Memory block order currupted! diff --git a/MMDUMP.TXT b/MMDUMP.TXT index b1326e93..27e324d2 100644 Binary files a/MMDUMP.TXT and b/MMDUMP.TXT differ diff --git a/exmmtest.exe b/exmmtest.exe index ef66fe39..64ece417 100644 Binary files a/exmmtest.exe and b/exmmtest.exe differ diff --git a/src/exmmtest.c b/src/exmmtest.c index 1e40e9b9..ac19617b 100644 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -26,17 +26,17 @@ #include "src/lib/16_mm.h" #include "src/lib/modex16.h" -//#define FILERL +#define FILERL //#define FILEINIT void main(int argc, char *argv[]) { - mminfo_t mm; mminfotype mmi; - memptr bigbuffer; - __segment segu; - char *bakapee; - word baka; + static mminfo_t mm; mminfotype mmi; + static memptr bigbuffer; + static __segment segu; + static char *bakapee; + static word baka; page_t screen; printf("&main()=%Fp\n", *argv[0]); diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index fc407353..bf94bc8c 100644 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -218,7 +218,7 @@ void CAL_GetGrChunkLength (int chunk) boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm) { boolean flag; - dword fat=0; + /*dword fat=0; word segm=0; //if(mm->EMSVer<0x40) if(length>0xfffflu) @@ -231,7 +231,7 @@ boolean CA_FarRead(int handle, byte huge *dest, dword length, mminfo_t *mm) } if(!fat&&!segm) - { + {*/ __asm { push ds @@ -257,7 +257,7 @@ done: End: } return flag; - }else return 0;//todo: EXPAND!!! + //}else return 0;//todo: EXPAND!!! } @@ -274,7 +274,7 @@ End: boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm) { boolean flag; - dword fat=0; + /*dword fat=0; word segm=0; //if(mm->EMSVer<0x40) if(length>0xfffflu) @@ -287,7 +287,7 @@ boolean CA_FarWrite(int handle, byte huge *source, dword length, mminfo_t *mm) } if(!fat&&!segm) - { + {*/ __asm { push ds @@ -313,7 +313,7 @@ done: End: } return flag; - }else return 0; + //}else return 0; } diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 1bd9866a..e61b2deb 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -641,7 +641,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // // set up the linked list (everything in the free list; // - printf(" linked list making!\n"); +// printf(" linked list making!\n"); mm->mmhead = NULL; mm->mmfree = &(mm->mmblocks[0]); for(i=0;immhead = mm->mmnew; // this will allways be the first node mm->mmnew->start = 0; @@ -669,6 +669,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) //---- length=coreleft(); //_nheapgrow(); length=_memmax(); + //printf(" %u\n", length); start = (void huge *)(mm->nearheap = _nmalloc(length)); length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; @@ -747,10 +748,10 @@ 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 MML_UseSpace(mm->EMSpageframe,(MAPPAGES)*0x4000lu, mm); 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! printf(" EMS4\n"); - if(mm->EMSVer<0x40) + //if(mm->EMSVer<0x40) MM_MapEMS(mm, mmi); // map in used pages - else - MM_MapXEMS(mm, mmi); // map in used pages + //else + //MM_MapXEMS(mm, mmi); // map in used pages } // @@ -1265,7 +1266,7 @@ void MM_DumpData(mminfo_t *mm) FILE *dumpfile; - free (mm->nearheap); + //++++free(mm->nearheap); dumpfile = fopen ("mmdump.txt","w"); if (!dumpfile){ printf("MM_DumpData: Couldn't open MMDUMP.TXT!\n"); @@ -1308,7 +1309,7 @@ void MM_DumpData(mminfo_t *mm) } while (lowest != 0xffff); - fclose (dumpfile); + fclose(dumpfile); printf("MMDUMP.TXT created.\n"); } diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index c40b9855..8d71369d 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -30,13 +30,13 @@ //++++mh #include "src/lib/16_in.h" #ifdef __DEBUG__ // 1 == Debug/Dev ; 0 == Production/final -#define OUT_OF_MEM_MSG "MM_GetPtr: Out of memory!\nYou were short :%ld bytes" +#define OUT_OF_MEM_MSG "MM_GetPtr: Out of memory!\nYou were short :%lu bytes" #else #define OUT_OF_MEM_MSG "\npee\n" #endif -#define SAVENEARHEAP 0x200 // space to leave in data segment +#define SAVENEARHEAP 0//x400 // space to leave in data segment #define SAVEFARHEAP 0//x4000 // space to leave in far heap #define BUFFERSIZE 0x1000 // miscelanious, allways available buffer @@ -115,7 +115,7 @@ extern void (* XMSaddr) (void); // far pointer to XMS driver #define BASEATTRIBUTES 0 // unlocked, non purgable #define MAXUMBS 12 -#define MAPPAGES mm->EMSpagesmapped +#define MAPPAGES 4//mm->EMSpagesmapped typedef struct mmblockstruct {