X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fexmmtest.c;h=e1d4e55809c5903dc8bfc6149745a25a423e33d7;hb=10bcfe6f57ef93862812377a8dc78dd45e9c0dd0;hp=82cc6d37c6c6b4307bb177fe728a7a6101cc7a68;hpb=633bfa5a2a8416f6550866feb3bc1e027f3b19cf;p=16.git diff --git a/src/exmmtest.c b/src/exmmtest.c old mode 100644 new mode 100755 index 82cc6d37..e1d4e558 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669 + * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -22,9 +22,6 @@ /* exmm test */ -//#include -//#include - #include "src/lib/16_head.h" #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" @@ -39,75 +36,81 @@ #define FILERL //#define FILEREAD +#define PRINTBB { printf("&main()= %Fp\n", argv[0]);printf("bigbuffer= %Fp\n", bigbuffer);printf("&bigbuffer= %Fp\n", &bigbuffer);printf("bigbuffer= %04x\n", bigbuffer);printf("&bigbuffer= %04x\n", &bigbuffer); } + +#ifdef __WATCOMC__ +void segatesuto() +{ + __segment screen; + char __based( void ) * scrptr; + + screen = 0xB800; + scrptr = 0; + printf( "Top left character is '%c'.\n", *(screen:>scrptr) ); + printf("Next string is: ["); + while(*scrptr<16) + { + printf("%c", *(screen:>scrptr)); + //printf("\b"); + scrptr++; + + } + printf("]\n"); + printf("press any key to continue!\n"); + getch(); +} +#endif + void main(int argc, char *argv[]) { - mminfo_t mm; mminfotype mmi; + global_game_variables_t gvar; #ifdef __WATCOMC__ __segment sega; - void __based(sega)* bigbuffer; #endif -#ifdef __BORLANDC__ memptr bigbuffer; -#endif + #ifdef FILERL //static byte bakapee[64]; char *bakapee; word baka; #endif - //static page_t screen; #ifdef __BORLANDC__ argc=argc; #endif - printf("&main()= %Fp\n", *argv[0]); - printf("bigbuffer= %Fp\n", bigbuffer); - printf("&bigbuffer= %Fp\n", &bigbuffer); - printf("bigbuffer= %04x\n", bigbuffer); - printf("&bigbuffer= %04x\n", &bigbuffer); - #ifdef FILERL bakapee = malloc(64); #endif - mm.mmstarted=0; + gvar.mm.mmstarted=0; + //PRINTBB #ifdef FILERL -// printf("filename!: "); -// scanf("%[^\n]", &bakapee); if(argv[1]) bakapee = argv[1]; - else bakapee = "data/koishi~.pcx"; + else + //{ printf("filename!: "); scanf("%[^\n]", &bakapee); } + bakapee = "data/koishi~.pcx"; #endif -// textInit(); - - // setup camera and screen~ - //bug!!! - //screen = modexDefaultPage(); - //screen.width += (16*2); - //screen.height += (16*2); - - printf("main()=%Fp start MM\n", *argv[0]); - MM_Startup(&mm, &mmi); +// printf("main()=%Fp start MM\n", *argv[0]); + MM_Startup(&gvar.mm, &gvar.mmi); //PM_Startup(); //PM_UnlockMainMem(); - CA_Startup(); - printf(" done!\n"); - printf("&main()= %Fp\n", *argv[0]); - printf("bigbuffer= %Fp\n", bigbuffer); - printf("&bigbuffer= %Fp\n", &bigbuffer); - printf("bigbuffer= %04x\n", bigbuffer); - printf("&bigbuffer= %04x\n", &bigbuffer); -// getch(); + CA_Startup(&gvar); +// printf(" done!\n"); + PRINTBB; + printf("press any key to continue!\n"); + getch(); #ifdef FILERL // 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)) +// if(CA_FarRead(bakapeehandle,(void far *)&bigbuffer,sizeof(bigbuffer),&gvar.mm)) #ifdef FILEREAD printf(" read\n"); - if(CA_ReadFile(bakapee, &bigbuffer, &mm)) + if(CA_ReadFile(bakapee, &bigbuffer, &gvar.mm)) #else printf(" load\n"); - if(CA_LoadFile(bakapee, &bigbuffer, &mm, &mmi)) + if(CA_LoadFile(bakapee, &bigbuffer, &gvar.mm, &gvar.mmi)) #endif baka=1; else @@ -115,46 +118,61 @@ main(int argc, char *argv[]) // close(bakapeehandle); //hmm functions in cache system use the buffered stuff #ifdef __WATCOMC__ - printf("size of big buffer~=%u\n", _bmsize(sega, bigbuffer)); + printf("\nsize of big buffer~=%u\n", _bmsize(sega, bigbuffer)); #endif #endif - printf("dark purple = purgable\n"); - printf("medium blue = non purgable\n"); - printf("red = locked\n"); + printf("press any key to continue!\n"); + getch(); + printf("\n\ncontents of the buffer\n[\n%s\n]\n", bigbuffer); + //printf("dark purple = purgable\n"); + //printf("medium blue = non purgable\n"); + //printf("red = locked\n"); + printf("press any key to continue!\n"); getch(); - //++++modexEnter(); - //++++modexShowPage(&screen); - MM_ShowMemory(&mm); + MM_ShowMemory(&gvar, &gvar.mm); //getch(); - MM_DumpData(&mm); - //++++modexLeave(); - MM_Report(&mm, &mmi); - printf(" stop!\n"); + MM_DumpData(&gvar.mm); + MM_Report(&gvar); +// printf(" stop!\n"); + printf("press any key to continue!\n"); + getch(); #ifdef FILERL - MM_FreePtr(&bigbuffer, &mm); + MM_FreePtr(&bigbuffer, &gvar.mm); #endif //PM_Shutdown(); - CA_Shutdown(); - MM_Shutdown(&mm); - printf(" done!\n"); + CA_Shutdown(&gvar); + MM_Shutdown(&gvar.mm); +// printf(" done!\n"); #ifdef FILERL free(bakapee); if(baka) printf("\nyay!\n"); else printf("\npoo!\n"); #endif - //printf("bigbuffer= %Fp\n", bigbuffer); - //printf("&bigbuffer= %Fp\n", &bigbuffer); - //printf("bigbuffer= %04x\n", bigbuffer); - //printf("&bigbuffer= %04x\n", &bigbuffer); - //printf("\n\n"); - //printf("Total free: %lu\n", (dword)(GetFreeSize())); - //printf("Total near free: %lu\n", (dword)(GetNearFreeSize())); - //printf("Total far free: %lu\n", (dword)(GetFarFreeSize())); - //getch(); -// printf("\n"); + printf("========================================\n"); + printf("near= %Fp ", gvar.mm.nearheap); + printf("far= %Fp", gvar.mm.farheap); + printf("\n"); + printf("&near= %Fp ", &(gvar.mm.nearheap)); + printf("&far= %Fp", &(gvar.mm.farheap)); + printf("\n"); +#ifdef EXMMVERBOSE + printf("bigb= %Fp ", bigbuffer); + //printf("bigbr= %04x", bigbuffer); + //printf("\n"); + printf("&bigb=%Fp ", &bigbuffer); + //printf("&bigb=%04x", &bigbuffer); + printf("\n"); +#endif + printf("========================================\n"); #ifdef __WATCOMC__ - heapdump(); +//this is far printf("Total free: %lu\n", (dword)(GetFreeSize())); + printf("Total near free: %lu\n", (dword)(GetNearFreeSize())); + printf("Total far free: %lu\n", (dword)(GetFarFreeSize())); + heapdump(&gvar); + segatesuto(); #endif + printf("Project 16 emmtest.exe. This is just a test file!\n"); + printf("version %s\n", VERSION); //printf("core left: %lu\n", (dword)_coreleft()); //printf("far core left: %lu\n", (dword)_farcoreleft()); //printf("based core left: %lu\n", (dword)_basedcoreleft());