From: sparky4 Date: Wed, 22 Jul 2015 00:30:55 +0000 (-0500) Subject: PEEEEEEEEEE FACK!!!!! X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=1d18e37e88759bbd3ecc829766f29e695ef24c55;p=16.git PEEEEEEEEEE FACK!!!!! modified: 16.exe modified: DEBUG.TXT modified: MMDUMP.TXT modified: exmmtest.exe modified: fmemtest.exe modified: fontgfx.exe modified: fonttest.exe modified: inputest.exe modified: makefile modified: maptest.exe modified: palettec.exe modified: pcxtest.exe modified: sountest.exe modified: src/exmmtest.c modified: src/lib/16_mm.c modified: src/lib/16_mm.h modified: test.exe modified: test2.exe modified: tsthimem.exe --- diff --git a/16.exe b/16.exe index 8a4d70a0..975ba236 100644 Binary files a/16.exe and b/16.exe differ diff --git a/DEBUG.TXT b/DEBUG.TXT index c441f4a3..d48599be 100644 --- a/DEBUG.TXT +++ b/DEBUG.TXT @@ -1,3 +1,5 @@ -Seg:5500 Size:968880 Owner:0x768b -Seg:f000 Size:67072 Owner:0x1060 -Seg:38fe Size:48 Owner:0x0 +Seg:0 Size:46544 Owner:0x0 +Seg:b5d Size:4096 Owner:0x1586 +Seg:199b Size:9264 Owner:0x0 +Seg:5bdc Size:541248 Owner:0x0 +Seg:e000 Size:131056 Owner:0x0 diff --git a/MMDUMP.TXT b/MMDUMP.TXT index 8c695c13..c3648a37 100644 Binary files a/MMDUMP.TXT and b/MMDUMP.TXT differ diff --git a/exmmtest.exe b/exmmtest.exe index 97d14374..f23c4b75 100644 Binary files a/exmmtest.exe and b/exmmtest.exe differ diff --git a/fmemtest.exe b/fmemtest.exe index 27be6722..49bc0fed 100644 Binary files a/fmemtest.exe and b/fmemtest.exe differ diff --git a/fontgfx.exe b/fontgfx.exe index a6c57419..1925939b 100644 Binary files a/fontgfx.exe and b/fontgfx.exe differ diff --git a/fonttest.exe b/fonttest.exe index 43a4e897..10e0fc03 100644 Binary files a/fonttest.exe and b/fonttest.exe differ diff --git a/inputest.exe b/inputest.exe index a23905b5..ec6d4d9d 100644 Binary files a/inputest.exe and b/inputest.exe differ diff --git a/makefile b/makefile index 3d27a0de..8a54f8bb 100644 --- a/makefile +++ b/makefile @@ -15,7 +15,7 @@ TARGET_OS = dos DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1# -zm CFLAGS=-zk0 -wo -x -mc -zu -k32768#16384# -zdp# -zp16 -zq OFLAGS=-ot -ox -ob -oh -or# -om -ol -ol+ -FLAGS=-0 -lr $(OFLAGS) $(CFLAGS) $(DFLAGS) -d2 +FLAGS=-0 -d2 -lr $(OFLAGS) $(CFLAGS) $(DFLAGS) SRC=src$(DIRSEP) SRCLIB=$(SRC)lib$(DIRSEP) JSMNLIB=$(SRCLIB)jsmn$(DIRSEP) diff --git a/maptest.exe b/maptest.exe index ac7236cb..a7f711eb 100644 Binary files a/maptest.exe and b/maptest.exe differ diff --git a/palettec.exe b/palettec.exe index 7092088f..d5f554ab 100644 Binary files a/palettec.exe and b/palettec.exe differ diff --git a/pcxtest.exe b/pcxtest.exe index 9a4741b6..02104a6b 100644 Binary files a/pcxtest.exe and b/pcxtest.exe differ diff --git a/sountest.exe b/sountest.exe index dd1e0181..89ed95df 100644 Binary files a/sountest.exe and b/sountest.exe differ diff --git a/src/exmmtest.c b/src/exmmtest.c index b1cd9468..cdd390f8 100644 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -24,7 +24,7 @@ */ #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" -#include "src/lib/modex16.h" +//#include "src/lib/modex16.h" #define FILERL //#define FILEINIT @@ -34,10 +34,10 @@ main(int argc, char *argv[]) { static mminfo_t mm; mminfotype mmi; static memptr bigbuffer; - __segment segu; + static __segment segu; static char *bakapee; - static word baka; - page_t screen; + word baka; + //static page_t screen; printf("&main()=%Fp\n", *argv[0]); printf("&argc=%Fp\n", FP_SEG(&argc)); @@ -54,12 +54,13 @@ main(int argc, char *argv[]) /* setup camera and screen~ */ //bug!!! - /*screen = modexDefaultPage(); - screen.width += (16*2); + //screen = modexDefaultPage(); + /*screen.width += (16*2); screen.height += (16*2);*/ printf("&main()=%Fp start MM\n", *argv[0]); MM_Startup(&mm, &mmi); + //segu=mmi.segu; printf(" done!\n"); /*if(FP_SEG(*argv[0])==0) { @@ -91,13 +92,13 @@ main(int argc, char *argv[]) printf("medium blue = non purgable\n"); printf("red = locked\n"); getch(); - modexEnter(); - modexShowPage(&screen); - MM_ShowMemory(&screen, &mm); - getch(); + //modexEnter(); + //modexShowPage(&screen); + MM_ShowMemory(/*&screen, */&mm); + //getch(); MM_DumpData(&mm); - modexLeave(); - MM_Report(&screen, &mm, &mmi); + //modexLeave(); + MM_Report(&mm, &mmi); printf(" stop!\n"); MM_FreePtr(&bigbuffer, &mm); MM_Shutdown(&mm); diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index e61b2deb..c85297a8 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; - mm->mmnew->length = 0xffff; + mm->mmnew->length = 0x1; mm->mmnew->attributes = LOCKBIT; mm->mmnew->next = NULL; mm->mmrover = mm->mmhead; @@ -669,7 +669,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) //---- length=coreleft(); //_nheapgrow(); length=_memmax(); - //printf(" %u\n", length); + //printf(" %Fp\n", mmi->segu); start = (void huge *)(mm->nearheap = _nmalloc(length)); length -= 16-(FP_OFF(start)&15); length -= SAVENEARHEAP; @@ -691,7 +691,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) printf( "ERROR - bad node in nearheap\n" ); break; }*/ -// printf(" near heap ok!\n"); + printf(" near heap ok!\n"); // // get all available far conventional memory segments @@ -700,6 +700,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) printf(" farheap making!\n"); _fheapgrow(); length=0xffffUL*4UL;//_memavl(); + //printf(" %Fp\n", mmi->segu); start = mm->farheap = halloc(length, sizeof(byte)); //start = mm->farheap = _fmalloc(length); length -= 16-(FP_OFF(start)&15); @@ -723,7 +724,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) printf( "ERROR - bad node in farheap\n" ); break; }*/ - //printf(" far heap ok!\n"); + printf(" far heap ok!\n"); // // detect EMS and allocate up to 64K at page frame @@ -769,13 +770,18 @@ 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 { 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(" XMS!\n"); - //++++ MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible + //++++ + MML_SetupXMS(mm, mmi); // allocate as many UMBs as possible } // // allocate the misc buffer // xmsskip: +/*mmi->nearheap = 0; +mmi->farheap = 0; +mmi->EMSmem = 0; +mmi->XMSmem = 0;*/ mm->mmrover = mm->mmhead; // start looking for space after low block MM_GetPtr(&(mm->bufferseg),BUFFERSIZE, mm, mmi); @@ -1147,7 +1153,7 @@ void MM_SortMem(mminfo_t *mm) ===================== */ -void MM_ShowMemory(page_t *page, mminfo_t *mm) +void MM_ShowMemory(/*page_t *page, */mminfo_t *mm) { mmblocktype huge *scan; word color,temp; @@ -1191,19 +1197,19 @@ CA_OpenDebug (); //modexhlin(page, scan->start, (unsigned)end, chy, color); //for(chx=scan->start;chx+4>=(word)end;chx+=4) //{ - modexClearRegion(page, chx, chy, 4, 4, color); +//++++ modexClearRegion(page, chx, chy, 4, 4, color); //} //++++ VW_Hlin(scan->start,(unsigned)end,0,color); //++++ VW_Plot(scan->start,0,15); - modexClearRegion(page, chx, chy, 4, 4, 15); +//++++ modexClearRegion(page, chx, chy, 4, 4, 15); if(scan->next->start > end+1) //++++ VW_Hlin(end+1,scan->next->start,0,0); // black = free //for(chx=scan->next->start;chx+4>=(word)end+1;chx+=4) //{ - chx+=scan->next->start; - modexClearRegion(page, chx, chy, 4, 4, 2); +//++++ chx+=scan->next->start; +//++++ modexClearRegion(page, chx, chy, 4, 4, 2); //} //modexhlin(page, end+1,scan->next->start, chy, 0); @@ -1232,7 +1238,7 @@ strcat (scratch,str); strcat (scratch,"\n"); write(debughandle,scratch,strlen(scratch)); //modexprint(page, chx, chy, 1, 0, 24, &scratch); -chy+=4; +//++++chy+=4; //fprintf(stdout, "%s", scratch); //****#endif @@ -1387,7 +1393,7 @@ dword MM_TotalFree(mminfo_t *mm) ===================== */ -void MM_Report(page_t *page, mminfo_t *mm, mminfotype *mmi) +void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi) { if(MML_CheckForEMS()) { diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 8d71369d..ff60c63f 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -36,12 +36,12 @@ #endif -#define SAVENEARHEAP 0//x400 // space to leave in data segment +#define SAVENEARHEAP 0x400 // space to leave in data segment #define SAVEFARHEAP 0//x4000 // space to leave in far heap #define BUFFERSIZE 0x1000 // miscelanious, allways available buffer -#define MAXBLOCKS 720 +#define MAXBLOCKS 600//720 @@ -86,11 +86,13 @@ //========================================================================== //I hope this is correct! //__segment seg; -typedef void __based(__self) * memptr; //__based(seg) * memptr; +typedef void __based(__self) *memptr; //__based(seg) * memptr; typedef struct { dword nearheap,farheap,EMSmem,XMSmem,mainmem; + //word __based(__segname("_CODE")) segu; +// } mminfotype; //========================================================================== @@ -182,11 +184,11 @@ void MM_FreePtr(memptr *baseptr, mminfo_t *mm); void MM_SetPurge(memptr *baseptr, int purge, mminfo_t *mm); void MM_SetLock(memptr *baseptr, boolean locked, mminfo_t *mm); void MM_SortMem(mminfo_t *mm); -void MM_ShowMemory(page_t *page, mminfo_t *mm); +void MM_ShowMemory(/*page_t *page, */mminfo_t *mm); void MM_DumpData(mminfo_t *mm); dword MM_UnusedMemory(mminfo_t *mm); dword MM_TotalFree(mminfo_t *mm); -void MM_Report(page_t *page, mminfo_t *mm, mminfotype *mmi); +void MM_Report(/*page_t *page, */mminfo_t *mm, mminfotype *mmi); static void MM_EMSerr(byte *stri, byte err); void MM_BombOnError(boolean bomb, mminfo_t *mm); void MM_GetNewBlock(mminfo_t *mm); diff --git a/test.exe b/test.exe index 6001ac60..f442a121 100644 Binary files a/test.exe and b/test.exe differ diff --git a/test2.exe b/test2.exe index 5e5e674b..4a62d408 100644 Binary files a/test2.exe and b/test2.exe differ diff --git a/tsthimem.exe b/tsthimem.exe index f726c5ea..1b69eda1 100644 Binary files a/tsthimem.exe and b/tsthimem.exe differ