X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fexmmtest.c;h=afbc9d042000e39255208fa1aab0fb7bca977f0b;hb=7ba43d126c924ac4438baf77282146a23c12b2ca;hp=e77f771408c5c31e7b6699601726d1629693c3df;hpb=452bdcbb38b63efd36bd68f795dbc31114c4c423;p=16.git diff --git a/src/exmmtest.c b/src/exmmtest.c index e77f7714..afbc9d04 100644 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -20,48 +20,86 @@ * */ /* - input test + exmm test */ +#include +#include + +#include "src/lib/16_head.h" #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" -#include "src/lib/modex16.h" +//#include "src/lib/modex16.h" +#pragma hdrstop + +#pragma warn -pro +#pragma warn -use +//file load or read definition #define FILERL +#define FILEREAD void main(int argc, char *argv[]) { mminfo_t mm; mminfotype mmi; - memptr bigbuffer; __segment segu; +#ifdef FILERL + memptr bigbuffer; char *bakapee; +// int bakapeehandle; word baka; - page_t screen; +#endif + //static page_t screen; + + //mmi.segu=FP_SEG(segu); + printf("&main()=%Fp\n", *argv[0]); + printf("&segu=%p\n", (segu)); + //printf("mmi.segu=%p\n", (mmi.segu)); + +#ifdef FILERL bakapee = malloc(64); // memset(bakapee, 0, 64); +#endif mm.mmstarted=0; +#ifdef FILERL if(argv[1]) bakapee = argv[1]; else bakapee = "data/koishi~~.pcx"; - //if(argv[2]) - //#define FILEINIT +#endif textInit(); - /* setup camera and screen~ */ - screen = modexDefaultPage(); - screen.width += (16*2); - screen.height += (16*2); + /* setup camera and screen~ */ + //bug!!! + //screen = modexDefaultPage(); + /*screen.width += (16*2); + screen.height += (16*2);*/ - printf(" start!\n"); + printf("main()=%Fp start MM\n", *argv[0]); MM_Startup(&mm, &mmi); + //PM_Startup(); + //PM_UnlockMainMem(); + CA_Startup(); printf(" done!\n"); + /*if(FP_SEG(*argv[0])==0) + { + MM_Report(&screen, &mm, &mmi); + MM_Shutdown(&mm); + printf("&main()=%Fp\n", *argv[0]); + printf("&main() == %u\n", FP_SEG(*argv[0])); + exit(-5); + }*/ printf("&main()=%Fp\n", *argv[0]); + printf("&segu=%p\n", (segu)); + //printf("mmi.segu=%p\n", (mmi.segu)); #ifdef FILERL -#ifdef FILEINIT +// bakapeehandle = open(bakapee,O_RDONLY | O_BINARY, S_IREAD); + printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer)); +// if(CA_FarRead(bakapeehandle,(void far *)&bigbuffer,sizeof(bigbuffer),&mm)) +#ifdef FILEREAD printf(" read\n"); - if(CA_ReadFile(bakapee, &bigbuffer, &mm/*, &mmi*/)) + if(CA_ReadFile(bakapee, &bigbuffer, &mm)) #else printf(" load\n"); if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi)) @@ -69,29 +107,33 @@ main(int argc, char *argv[]) baka=1; else baka=0; -#endif - //MM_GetPtr(&bigbuffer, mmi.nearheap, &mm, &mmi); +// close(bakapeehandle); //hmm functions in cache system use the buffered stuff printf("size of big buffer~=%u\n", _bmsize(segu, bigbuffer)); +#endif printf("dark purple = purgable\n"); printf("medium blue = non purgable\n"); printf("red = locked\n"); getch(); - modexEnter(); - modexShowPage(&screen); - MM_ShowMemory(&screen, &mm); + //++++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"); +#ifdef FILERL MM_FreePtr(&bigbuffer, &mm); +#endif + //PM_Shutdown(); + CA_Shutdown(); MM_Shutdown(&mm); printf(" done!\n"); #ifdef FILERL free(bakapee); - //printf("_bios_memsize=%u\n", _bios_memsize()); if(baka) printf("\nyay!\n"); else printf("\npoo!\n"); #endif + printf("_bios_memsize=%u\n", _bios_memsize()); }