]> 4ch.mooo.com Git - 16.git/blobdiff - src/exmmtest.c
[16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / exmmtest.c
index 3c440c17bab9863ca8a8d307597c3ede394e2762..945aa95427f4946baf0fa8d875f573e5eababc58 100755 (executable)
@@ -45,6 +45,9 @@
 //#define EXMMVERBOSE__\r
 //     #define PRINTBBDUMP\r
 #define BUFFDUMP\r
+#define NOVID\r
+\r
+#define KEYP IN_Shutdown(&gvar); printf("\n\npress any key to continue!\n"); getch(); IN_Startup(&gvar);\r
 \r
 #define BBUFNAME bigbuffer//gvar.ca.tinf[0]\r
 #define INITBBUF static memptr BBUFNAME;\r
 #endif\r
 \r
 ////////////////////////////////////////////////////////////////////////////\r
-\r
+#ifdef __BORLANDC__\r
 void VGAmodeX(sword vq, boolean cmem, global_game_variables_t *gv)\r
 {\r
        printf("VGAmodeX dummy:\n       %Fp     %Fp     %Fp\n", &vq, &cmem, gv);\r
 }\r
+#endif\r
 \r
 //printf("*    %Fp\t", *BBUF);\r
 //printf("*         %04x\t", *BBUF);\r
@@ -101,8 +105,7 @@ void segatesuto()
 //\r
 //     }\r
 //     printf("]\n");\r
-//     printf("press any key to continue!\n");\r
-//     getch();\r
+//     KEYP\r
 }\r
 #endif\r
 \r
@@ -110,6 +113,10 @@ void
 main(int argc, char *argv[])\r
 {\r
        byte w;\r
+#ifndef NOVID\r
+       boolean                 done;\r
+       ScanCode                scan;\r
+#endif\r
        static global_game_variables_t gvar;\r
 #ifdef INITBBUF\r
        INITBBUF\r
@@ -139,7 +146,7 @@ main(int argc, char *argv[])
        dbg_debugca=1;\r
 #endif\r
 #ifdef PRINTBBDUMP\r
-//0000PRINTBB; printf("press any key to continue!\n"); getch();\r
+//0000PRINTBB; KEYP\r
 #endif\r
        if(argv[1]){ bakapee1 = argv[1];\r
        if(argv[2]) bakapee2 = argv[2]; }\r
@@ -148,6 +155,12 @@ main(int argc, char *argv[])
                bakapee1 = "data/koishi~.pcx";\r
                bakapee2 = "data/test.map";\r
        }\r
+#ifndef NOVID\r
+       Startup16(&gvar);\r
+\r
+       // save the palette\r
+       modexPalSave(&gvar.video.dpal); modexFadeOff(4, &gvar.video.dpal); //modexPalBlack();\r
+#else  //NOVID\r
        //printf("main()=%Fp    start MM\n", *argv[0]);\r
        MM_Startup(&gvar); //printf("ok\n");\r
 #ifdef __16_PM__\r
@@ -156,12 +169,13 @@ main(int argc, char *argv[])
        {\r
 #endif\r
                PM_Startup(&gvar); PM_CheckMainMem(&gvar); PM_UnlockMainMem(&gvar);\r
-//0000         printf("PM Started\n"); printf("press any key to continue!\n"); getch();\r
+//0000         printf("PM Started\n"); KEYP\r
 #ifdef __DEBUG_PM__\r
        }\r
 #endif\r
 #endif\r
 \r
+#endif //NOVID\r
 #ifdef __DEBUG_MM__\r
        dbg_debugmm=0;\r
 #endif\r
@@ -169,7 +183,7 @@ main(int argc, char *argv[])
 //     printf("                done!\n");\r
 #ifdef PRINTBBDUMP\r
 //0000\r
-PRINTBB; printf("\n\npress any key to continue!\n"); getch();\r
+PRINTBB; KEYP\r
 #endif\r
 #ifdef __DEBUG_MM__\r
        dbg_debugmm=1;\r
@@ -203,33 +217,63 @@ PRINTBB; printf("\n\npress any key to continue!\n"); getch();
 #ifdef PRINTBBDUMP\r
                PRINTBB;\r
 #endif\r
+\r
 //endif // BUFFDUMP\r
 \r
                //printf("dark purple = purgable\n");\r
                //printf("medium blue = non purgable\n");\r
                //printf("red = locked\n");\r
-       //      printf("press any key to continue!\n");\r
+       //      KEYP\r
        //      DebugMemory_(&gvar, 1);\r
                if(baka) printf("\nyay!\n");\r
                else printf("\npoo!\n");\r
 #ifdef BUFFDUMPPAUSE\r
-               printf("press any key to continue!\n"); getch();\r
+               KEYP\r
 #endif\r
 #ifdef FILEREAD\r
        }\r
 #endif\r
 #ifndef BUFFDUMPPAUSE\r
-       printf("press any key to continue!\n"); getch();\r
+       KEYP\r
 #endif\r
 #endif //filereadload\r
 \r
 \r
-/*#ifdef __WATCOMC__\r
-       IN_Startup(&gvar);\r
-       ShapeTest_(&gvar);\r
-       IN_Shutdown(&gvar);\r
-#endif*/\r
+#ifdef __WATCOMC__\r
+#ifndef NOVID\r
+       VGAmodeX(1, 0, &gvar);\r
+       modexPalUpdate0(&gvar.video.palette);\r
+//     ShapeTest_(&gvar);\r
 \r
+       for (done = false;!done;)\r
+       {\r
+               while (!(scan = gvar.in.inst->LastScan))\r
+               {}\r
+       //                      SD_Poll();\r
+\r
+               IN_ClearKey(scan);\r
+               switch (scan)\r
+               {\r
+                       case sc_Space:\r
+                               MM_ShowMemoryVidVer(&gvar);\r
+                       break;\r
+                       case sc_O:\r
+                               modexPalUpdate0(&gvar.video.palette); modexpdump(&gvar.video.page);\r
+                       break;\r
+                       case sc_P:\r
+                               modexpdump(&gvar.video.page[0]);\r
+                       break;\r
+                       case sc_V:\r
+                               VL_PatternDraw(&gvar.video, 0, 1, 1);\r
+                       break;\r
+                       default:\r
+                       //case sc_Escape:\r
+                               done = true;\r
+                       break;\r
+               }\r
+       }\r
+#endif\r
+#endif\r
 \r
        DebugMemory_(&gvar, 1);\r
        MM_DumpData(&gvar);\r
@@ -237,6 +281,9 @@ PRINTBB; printf("\n\npress any key to continue!\n"); getch();
        //printf("bakapee1=%s\n", bakapee1);\r
        //printf("bakapee2=%s\n", bakapee2);\r
        MM_FreePtr(BBUFPTR, &gvar);\r
+#ifndef NOVID\r
+       Shutdown16(&gvar);\r
+#else\r
 #ifdef __16_PM__\r
 #ifdef __DEBUG_PM__\r
        if(dbg_debugpm>0)\r
@@ -245,6 +292,8 @@ PRINTBB; printf("\n\npress any key to continue!\n"); getch();
 #endif\r
        CA_Shutdown(&gvar);\r
        MM_Shutdown(&gvar);\r
+#endif //NOVID\r
+       IN_Shutdown(&gvar);\r
        free(bakapee1); free(bakapee2);\r
        printf("========================================\n");\r
        printf("near=   %Fp ", gvar.mm.nearheap);\r
@@ -299,6 +348,7 @@ PRINTBB; printf("\n\npress any key to continue!\n"); getch();
 #endif\r
        printf("\n");\r
 #endif\r
+       printf("old_mode=%u     VL_Started=%u", gvar.video.old_mode, gvar.video.VL_Started);\r
        //printf("based core left:                      %lu\n", (dword)_basedcoreleft());\r
        //printf("huge core left:                       %lu\n", (dword)_hugecoreleft());\r
 }\r