From e5cb235d748a442c66e6b1c556072b70dfc05c91 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Sat, 8 Aug 2015 18:14:12 -0500 Subject: [PATCH] ok i am working on makin the debug.16 data and tinking abut large amount of data management! new file: DEBUG.16 new file: HEAP.16 new file: MMDUMP.16 new file: PROFILE.16 modified: exmmtest.exe modified: src/lib/16_ca.c modified: src/lib/16_head.h modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- DEBUG.16 | 12 ++++++ HEAP.16 | 45 ++++++++++++++++++++ MMDUMP.16 | Bin 0 -> 136 bytes PROFILE.16 | 0 exmmtest.exe | Bin 43656 -> 44008 bytes src/lib/16_ca.c | 6 +-- src/lib/16_head.h | 2 +- src/lib/16_mm.c | 104 +++++++++++++++++++++++++--------------------- src/lib/16_mm.h | 13 +++--- 9 files changed, 125 insertions(+), 57 deletions(-) create mode 100644 DEBUG.16 create mode 100644 HEAP.16 create mode 100644 MMDUMP.16 create mode 100644 PROFILE.16 diff --git a/DEBUG.16 b/DEBUG.16 new file mode 100644 index 00000000..f02d76dc --- /dev/null +++ b/DEBUG.16 @@ -0,0 +1,12 @@ +Seg:0 Size:5538 Owner:0xe000 ++_ +Seg:15a2 Size:256 Owner:0x3506 ++_ +Seg:16a2 Size:273 Owner:0x857a ++_0 +Seg:1cf2 Size:49 Owner:0x159f ++_0 +Seg:ad23 Size:13021 Owner:0x169f ++_ +Seg:e000 Size:4294909951 Owner:0xc483 ++_ diff --git a/HEAP.16 b/HEAP.16 new file mode 100644 index 00000000..a2a1a674 --- /dev/null +++ b/HEAP.16 @@ -0,0 +1,45 @@ + + == default == + + USED block at 1d140016 of size 136 + USED block at 1d14009e of size 66 + FREE block at 1d1400e0 of size 18 + USED block at 1d1400f2 of size 20 + FREE block at 1d140106 of size 7926 +OK - end of heap + + == near == + + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 +OK - end of heap + + == far == + + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 + USED block at 0 of size 0 +OK - end of heap + +Memory Type Total Used Free +---------------- -------- -------- -------- +Default 8166 222 7944 +Near 31318 834 30484 +Far 8166 222 7944 +---------------- -------- -------- -------- +coreleft = 30482 +farcoreleft = 38230 +GetFreeSize = 7768 +GetNearFreeSize = 30484 +GetFarFreeSize = 7768 +memavl = 30482 +stackavail = 11023 diff --git a/MMDUMP.16 b/MMDUMP.16 new file mode 100644 index 0000000000000000000000000000000000000000..66f20d2774fd6a48a598be0d28a0b4e1c057d483 GIT binary patch literal 136 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 delta 10766 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 X*~MxP%kl&xzI!BWMCp^Xn~?tjNwx(H diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index f134df8b..169c4a85 100644 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -1083,8 +1083,8 @@ void CA_Startup(global_game_variables_t *gvar) unlink("profile.16"); gvar->handle.profilehandle = open("profile.16", O_CREAT | O_WRONLY | O_TEXT); #endif - unlink("debug0.16"); - gvar->handle.showmemhandle = open("debug0.16", O_CREAT | O_WRONLY | O_TEXT); +// unlink("debug0.16"); +// gvar->handle.showmemhandle = open("debug0.16", O_CREAT | O_WRONLY | O_TEXT); /*++++ // MDM begin - (GAMERS EDGE) // @@ -1146,7 +1146,7 @@ void CA_Shutdown(global_game_variables_t *gvar) #ifdef PROFILE close(gvar->handle.profilehandle); #endif - close(gvar->handle.showmemhandle); +// close(gvar->handle.showmemhandle); /*++++ close(maphandle); close(grhandle); diff --git a/src/lib/16_head.h b/src/lib/16_head.h index 8baff16a..15c4a54d 100644 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -179,7 +179,7 @@ typedef void _seg * memptr; typedef struct { - int showmemhandle; +// int showmemhandle; int profilehandle,debughandle; int heaphandle; } handle_t; diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index a9bcd0c1..cc5a894c 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -610,7 +610,7 @@ void MML_UseSpace(/*d*/word segstart, dword seglength, mminfo_t *mm) { pop ds }*/ - //printf("MML_UseSpace: Segment spans two blocks!\n"); + printf("MML_UseSpace: Segment spans two blocks!\n"); } // @@ -838,6 +838,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) // emsskip: mmi->XMSmem = 0; + goto xmsskip; for(i = 1;i < #ifdef __WATCOMC__ __argc @@ -1267,24 +1268,24 @@ void MM_ShowMemory(global_game_variables_t *gvar,/*page_t *page, */mminfo_t *mm) mmblocktype huge *scan; //byte color; word temp; - long end,owner; - word chx,chy; + sdword end,owner; + //word chx,chy; + word w; byte scratch[160],scratch0[4096],str[16]; - byte d = "#"; + byte d = '#'; //**** VW_SetDefaultColors(); //**** VW_SetLineWidth(40); //++++mh temp = bufferofs; //++++mh bufferofs = 0; //**** VW_SetScreen (0,0); - scan = mm->mmhead; end = -1; -CA_OpenDebug (gvar); - chx=0; -//++++ chy=0; + CA_OpenDebug (gvar); + w=0; while(scan) { + strcpy(scratch, AARESET); if(scan->attributes & PURGEBITS) strcpy(scratch0, AAMAGENTA); // dark purple = purgable else @@ -1293,11 +1294,19 @@ CA_OpenDebug (gvar); strcpy(scratch0, AARED); // red = locked if(scan->start<=end) { - write(gvar->handle.debughandle,"\nMM_ShowMemory: Memory block order currupted!\n",strlen("\nMM_ShowMemory: Memory block order currupted!\n")); + printf("\n%d\n\n", end); + strcat(scratch, "MM_ShowMemory: Memory block order currupted!\n"); + strcat(scratch, "End's Size: "); + ultoa (end,str,10); + strcat (scratch,str); + strcat(scratch, "\nscan->start's Size: "); + ultoa (scan->start,str,10); + strcat (scratch,str); + write(gvar->handle.debughandle,scratch,strlen(scratch)); //modexprint(&page, chx, chy, 1, 0, 24, "\nMM_ShowMemory: Memory block order currupted!\n"); break; } - end = scan->start+scan->length-1; + end = scan->start+(word)scan->length-1; //++++ chy = scan->start/320; //++++ chx = scan->start%320; //modexhlin(page, scan->start, (unsigned)end, chy, color); @@ -1306,22 +1315,31 @@ CA_OpenDebug (gvar); //++++ modexClearRegion(page, chx, chy, 4, 4, color); //} //++++ VW_Hlin(scan->start,(unsigned)end,0,color); - for(chx=scan->start;chx>=(word)end;chx++) - { - strcat(scratch0,&d); - } - strcat (scratch0,AAWHITE); strcat(scratch0,&d); +// for(w=0;w>=(word)scan->length/80;w++) +// { +// printf("+ %lu\n", w); + //ultoa (w,str,10); + //strcat (scratch0,str); + strcat(scratch0, "+"); +// } + strcat(scratch0, AARESET); strcat(scratch0, AAGREY); strcat(scratch0,"_"); //++++ VW_Plot(scan->start,0,15); //++++ modexClearRegion(page, chx, chy, 4, 4, 15); //++++ VW_Hlin(end+1,scan->next->start,0,0); // black = free - if(scan->next->start > end+1) - { - strcat(scratch0,AABLACK); - for(chx=end+1;chx>=(word)scan->next->start;chx++) - { - strcat(scratch0,&d); - } - } + if(scan->next->start > end+1) + { + strcat(scratch0, AARESET); + //ultoa (w,str,10); + //strcat (scratch0,str); + strcat(scratch0,AAGREEN); +// for(w=(scan->next->start)/80;w>=(word)((scan->length+1)/80);w++) +// { +// printf("0 %lu\n", w); + strcat(scratch0,"0"); +// } + } + strcat(scratch0, AARESET); + strcat(scratch0,"\n"); //for(chx=scan->next->start;chx+4>=(word)end+1;chx+=4) //{ // chx+=scan->next->start; @@ -1331,31 +1349,21 @@ CA_OpenDebug (gvar); /* y = scan->start/320; x = scan->start%320; VW_Hlin(x,x+end,y,color); - VW_Plot(x,y,15); - if (scan->next && scan->next->start > end+1) - { - //write(gvar->handle.showmemhandle,AABLACK,strlen(AABLACK)); - //for(chx=scan->start;chx>=(word)end;chx++) - //{ - //write(gvar->handle.showmemhandle,"_",1); - //} - //write(gvar->handle.showmemhandle,"\n",strlen("\n")); - strcat(scratch0,AABLACK); strcat(scratch0,0x10); - }*/ + VW_Plot(x,y,15);*/ //++++ VW_Hlin(x+end+1,x+(scan->next->start-scan->start),y,0); // black = free -write(gvar->handle.showmemhandle,scratch0,strlen(scratch0)); -strcpy(scratch,"Seg:"); -ultoa (scan->start,str,16); -strcat (scratch,str); -strcat (scratch,"\tSize:"); -ultoa ((dword)scan->length,str,10); -strcat (scratch,str); -strcat (scratch,"\tOwner:0x"); -owner = (unsigned)scan->useptr; -ultoa (owner,str,16); -strcat (scratch,str); -strcat (scratch,"\n"); -write(gvar->handle.debughandle,scratch,strlen(scratch)); + strcat(scratch,"Seg:"); + ultoa (scan->start,str,16); + strcat (scratch,str); + strcat (scratch,"\tSize:"); + ultoa ((dword)scan->length,str,10); + strcat (scratch,str); + strcat (scratch,"\tOwner:0x"); + owner = (unsigned)scan->useptr; + ultoa (owner,str,16); + strcat (scratch,str); + strcat (scratch,"\n"); + write(gvar->handle.debughandle,scratch,strlen(scratch)); + write(gvar->handle.debughandle,scratch0,strlen(scratch0)); //modexprint(page, chx, chy, 1, 0, 24, &scratch); //++++chy+=4; //fprintf(stdout, "%s", scratch); @@ -1363,7 +1371,7 @@ write(gvar->handle.debughandle,scratch,strlen(scratch)); scan = scan->next; } -CA_CloseDebug (gvar); + CA_CloseDebug (gvar); //++++mh IN_Ack(); //**** VW_SetLineWidth(64); diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 1ecca330..e67d2fcf 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -40,11 +40,14 @@ #define FREEBLOCK(x) {*x->useptr=NULL;x->next=mm->mmfree;mm->mmfree=x;mm->endid--;} -#define AAMAGENTA "\x1b[35;35m" -#define AABLUE "\x1b[34;34m" -#define AARED "\x1b[31;31m" -#define AABLACK "\x1b[40;40m" -#define AAWHITE "\x1b[37;37m" +#define AARED "\x1b[41;31m" +#define AABLUE "\x1b[44;34m" +#define AAGREEN "\x1b[42;32m" +#define AAYELLOW "\x1b[43;33m" +#define AAGREY "\x1b[47;37m" +#define AABLACK "\x1b[40;30m" +#define AAWHITE "\x1b[47;37m" +#define AAMAGENTA "\x1b[45;35m" #define AARESET "\x1b[0m" #define SAVENEARHEAP 0x200 // space to leave in data segment -- 2.39.2