X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Fexmmtest.c;h=ea73aa996358518a0b7b5e279202d17271ea8579;hb=adb425e17c32e33e71670dd69c909717f1d65acb;hp=56a674f14f7b436679517da607b9d8dbdc47246f;hpb=e5d79b39291069ca612339055dd622b5fdcf567b;p=16.git diff --git a/src/exmmtest.c b/src/exmmtest.c index 56a674f1..ea73aa99 100755 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -29,7 +29,6 @@ #include "src/lib/16_ca.h" #include "src/lib/16_mm.h" #include "src/lib/16_hc.h" -//#include "src/lib/16_vl.h" #include "src/lib/16_dbg.h" #pragma hdrstop @@ -45,17 +44,23 @@ //#define EXMMVERBOSE__ // #define PRINTBBDUMP #define BUFFDUMP + +#ifdef __BORLANDC__ +#define NOVID +#endif +#ifdef __WATCOMC__ #define NOVID +#endif #define KEYP IN_Shutdown(&gvar); printf("\n\npress any key to continue!\n"); getch(); IN_Startup(&gvar); -#define BBUFNAME bigbuffer//gvar.ca.tinf[0] -#define INITBBUF static memptr BBUFNAME; -#define BBUFPTR MEMPTR BBUFNAME +#define BBUFNAME gvar.mm.bufferseg//bigbuffer +//#define INITBBUF static memptr BBUFNAME; +#define BBUFPTR MEMPTRCONV BBUFNAME #ifdef __BORLANDC__ -#define BBUF (memptr *)BBUFPTR// +#define BBUF (memptr *)BBUFPTR #define BBUFSTRING (memptr *)BBUFNAME #endif #ifdef __WATCOMC__ @@ -64,11 +69,26 @@ #endif //////////////////////////////////////////////////////////////////////////// +//#ifdef NOVID #ifdef __BORLANDC__ +void VL_Startup (global_game_variables_t *gvar){ gvar=gvar; } +void VL_Shutdown (global_game_variables_t *gvar){ gvar=gvar; } void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv) { printf("VGAmodeX dummy:\n %Fp %Fp %Fp\n", &vq, &cmem, gv); } + +word modexPalOverscan(word col) +{ + //modexWaitBorder(); + outp(PAL_WRITE_REG, 0); /* start at the beginning of palette */ + outp(PAL_DATA_REG, col); + return col; +} +void TL_VidInit(global_game_variables_t *gvar) +{ + gvar->video.old_mode = 3; +} #endif //printf("* %Fp\t", *BBUF); @@ -110,88 +130,89 @@ void segatesuto() } #endif +//===========================================================================// + +//=======================================// +// main +//=======================================// void main(int argc, char *argv[]) { byte w; -#ifndef NOVID - boolean done; - ScanCode scan; -#endif static global_game_variables_t gvar; -#ifdef INITBBUF + #ifdef INITBBUF INITBBUF -#endif + #endif +#if 0 //#ifdef __WATCOMC__ -// __segment sega; -//#endif - char bakapee1[64],bakapee2[64]; + __segment sega; +#endif + char bakapee1[64] = "data/koishi~.pcx"; + char bakapee2[64] = "data/test.map"; word baka; -#ifdef __BORLANDC__ - argc=argc; -#endif + #ifdef __BORLANDC__ + argc=argc; + #endif + #ifdef PRINTBBDUMP + //0000PRINTBB; KEYP + #endif #ifdef __16_PM__ #ifdef __DEBUG_PM__ dbg_debugpm=1; //debug pm #endif #endif - #ifdef __DEBUG_CA__ dbg_debugca=1; #endif -#ifdef PRINTBBDUMP -//0000PRINTBB; KEYP +#ifdef __DEBUG_MM__ + dbg_debugmm=1; #endif + if(argv[1]){ strcpy(bakapee1, argv[1]);//bakapee1[] = *argv[1]; if(argv[2]) strcpy(bakapee2, argv[2]); }//bakapee2[] = argv[2]; } +#if 0 else{ //{ printf("filename!: "); scanf("%[^\n]", &bakapee); } strcpy(bakapee1, "data/koishi~.pcx"); //bakapee1 = "data/koishi~.pcx"; strcpy(bakapee2, "data/test.map"); //bakapee2 = "data/test.map"; } -#ifndef NOVID - Startup16(&gvar); +#endif + printf("bakapee1[%s]\n", bakapee1); + printf("bakapee2[%s]\n", bakapee2); + KEYP + #ifndef NOVID + Startup16(&gvar); // save the palette -#ifdef __WATCOMC__ modexPalSave(&gvar.video.dpal); modexFadeOff(4, &gvar.video.dpal); //modexPalBlack(); -#endif -#else //NOVID - //printf("main()=%Fp start MM\n", *argv[0]); - MM_Startup(&gvar); //printf("ok\n"); -#ifdef __16_PM__ -#ifdef __DEBUG_PM__ - if(dbg_debugpm>0) - { -#endif - PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar); -//0000 printf("PM Started\n"); KEYP -#ifdef __DEBUG_PM__ - } -#endif -#endif - -#endif //NOVID -#ifdef __DEBUG_MM__ - dbg_debugmm=0; -#endif - CA_Startup(&gvar); -// printf(" done!\n"); -#ifdef PRINTBBDUMP -//0000 + #else //NOVID + StartupCAMMPM(&gvar); +/* MM_Startup(&gvar); + #ifdef __16_PM__ + #ifdef __DEBUG_PM__ + if(dbg_debugpm>0) + { + #endif //__DEBUG_PM__ + PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar); + //0000printf("PM Started\n"); KEYP + #ifdef __DEBUG_PM__ + } + #endif //__DEBUG_PM__ + #endif //__16_PM__ + CA_Startup(&gvar);*/ + #endif //elsed NOVID + #ifdef PRINTBBDUMP + //0000 PRINTBB; KEYP -#endif -#ifdef __DEBUG_MM__ - dbg_debugmm=1; -#endif + #endif w=0; -#ifdef FILEREADLOAD -#ifdef FILEREAD + #ifdef FILEREADLOAD + #ifdef FILEREAD for(;w<2;w++) { // printf("size of big buffer~=%u\n", _bmsize(segu, BBUF)); @@ -201,24 +222,24 @@ PRINTBB; KEYP if(CA_ReadFile(bakapee2, BBUFPTR, &gvar)) baka=1; else baka=0; printf("====================================read end===================================\n"); } -#endif + #endif //FILEREAD if(w==0) { printf("======================================load=====================================\n"); if(CA_LoadFile(bakapee1, BBUFPTR, &gvar)) baka=1; else baka=0; printf("====================================load end===================================\n"); } -//#ifdef __WATCOMC__ -// printf("\nsize of big buffer~=%u\n", _bmsize(sega, BBUF)); -//#endif -#ifdef BUFFDUMP + //#ifdef __WATCOMC__ + // printf("\nsize of big buffer~=%u\n", _bmsize(sega, BBUF)); + //#endif + #ifdef BUFFDUMP printf("contents of the buffer\n[\n%s\n]\n", BBUFSTRING); -#endif// #else -#ifdef PRINTBBDUMP + #endif// #else + #ifdef PRINTBBDUMP PRINTBB; -#endif + #endif -//endif // BUFFDUMP + //endif // BUFFDUMP //printf("dark purple = purgable\n"); //printf("medium blue = non purgable\n"); @@ -227,24 +248,24 @@ PRINTBB; KEYP // DebugMemory_(&gvar, 1); if(baka) printf("\nyay!\n"); else printf("\npoo!\n"); -#ifdef BUFFDUMPPAUSE + #ifdef BUFFDUMPPAUSE KEYP -#endif -#ifdef FILEREAD + #endif + #ifdef FILEREAD } -#endif -#ifndef BUFFDUMPPAUSE - KEYP -#endif -#endif //filereadload - + #endif + #endif //filereadload #ifdef __WATCOMC__ #ifndef NOVID - VGAmodeX(1, 0, &gvar); + VGAmodeX(8, 0, &gvar); // modexPalUpdate0(&gvar.video.palette); // ShapeTest_(&gvar); - + MM_ShowMemory(&gvar); +#if 0 + { + boolean done; + ScanCode scan; for (done = false;!done;) { while (!(scan = gvar.in.inst->LastScan)) @@ -254,12 +275,12 @@ PRINTBB; KEYP IN_ClearKey(scan); switch (scan) { - case sc_Space: - MM_ShowMemory(&gvar); - break; +// case sc_Space: +// MM_ShowMemory(&gvar); +// break; //#ifdef __WATCOMC__ case sc_O: - modexPalUpdate0(&gvar.video.palette); modexpdump(&gvar.video.page); + VL_modexPalScramble(&gvar.video.palette); modexpdump(&gvar.video.page); break; case sc_P: modexpdump(&gvar.video.page[0]); @@ -274,50 +295,53 @@ PRINTBB; KEYP break; } } +} +#endif VGAmodeX(0, 0, &gvar); #endif #endif - + MM_ShowMemory(&gvar); DebugMemory_(&gvar, 1); MM_DumpData(&gvar); MM_Report_(&gvar); //printf("bakapee1=%s\n", bakapee1); //printf("bakapee2=%s\n", bakapee2); MM_FreePtr(BBUFPTR, &gvar); -#ifndef NOVID + #ifndef NOVID Shutdown16(&gvar); -#else -#ifdef __16_PM__ -#ifdef __DEBUG_PM__ - if(dbg_debugpm>0) -#endif - PM_Shutdown(&gvar); -#endif + #else //novid + ShutdownCAMMPM(&gvar); +/* #ifdef __16_PM__ + #ifdef __DEBUG_PM__ + if(dbg_debugpm>0) + #endif //__DEBUG_PM__ + PM_Shutdown(&gvar); + #endif //__16_PM__ CA_Shutdown(&gvar); - MM_Shutdown(&gvar); -#endif //NOVID + MM_Shutdown(&gvar);*/ + #endif //NOVID IN_Shutdown(&gvar); printf("========================================\n"); - printf("near= %Fp ", gvar.mm.nearheap); - printf("far= %Fp", gvar.mm.farheap); + 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("&near= %Fp ", &(gvar.mm.nearheap)); + printf("&far= %Fp", &(gvar.mm.farheap)); printf("\n"); -#ifdef EXMMVERBOSE - printf("bigb= %Fp ", BBUF); - //printf("bigbr= %04x", BBUF); + #ifdef EXMMVERBOSE + printf("bigb= %Fp ", BBUF); + //printf("bigbr= %04x", BBUF); //printf("\n"); - printf("&bigb=%Fp ", BBUFPTR); - //printf("&bigb=%04x", BBUFPTR); + printf("&bigb=%Fp ", BBUFPTR); + //printf("&bigb=%04x", BBUFPTR); printf("\n"); -#endif + #endif printf("========================================\n"); -#ifdef EXMMVERBOSE__ + #ifdef EXMMVERBOSE__ printf("coreleft(): %u\n", _memavl()); printf("farcoreleft(): %lu\n", (dword)HC_farcoreleft()); -#endif + #endif #ifdef __WATCOMC__ //this is far printf("Total free: %lu\n", (dword)(HC_GetFreeSize())); //super buggy printf("HC_coreleft(): %u\n", HC_coreleft()); @@ -341,6 +365,10 @@ PRINTBB; KEYP #endif printf(".exe. This is just a test file!\n"); printf("version %s\n", VERSION); + +//end of program + + #if defined(__DEBUG__) && ( defined(__DEBUG_PM__) || defined(__DEBUG_MM__) ) #ifdef __DEBUG_MM__ printf("debugmm: %u\t", dbg_debugmm); @@ -350,6 +378,8 @@ PRINTBB; KEYP #endif printf("\n"); #endif +// printf("curr_mode=%u\n", gvar.video.curr_mode); +// VL_PrintmodexmemInfo(&gvar.video); //printf("old_mode=%u VL_Started=%u", gvar.video.old_mode, gvar.video.VL_Started); //printf("based core left: %lu\n", (dword)_basedcoreleft()); //printf("huge core left: %lu\n", (dword)_hugecoreleft());