-{
- const char *cpus;
- byte *dpal, *gpal;
- /* save the palette */
- dpal = modexNewPal();
- modexPalSave(dpal);
- modexFadeOff(4, dpal);
- printf("pal load\n");
- gpal = modexNewPal();
- modexPalSave(gpal);
- modexSavePalFile("data/g.pal", gpal);
- modexPalBlack(); //so player will not see loadings~
- printf("wwww loop wwww\n");
- switch(detectcpu())
- {
- case 0: cpus = "8086/8088 or 186/88"; break;
- case 1: cpus = "286"; break;
- case 2: cpus = "386 or newer"; break;
- default: cpus = "internal error"; break;
- }
- printf("detected CPU type: %s\n", cpus);
- modexFadeOn(4, dpal);
-}
+{\r
+ // DOSLIB: check our environment\r
+ probe_dos();\r
+\r
+ // DOSLIB: what CPU are we using?\r
+ // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
+ // So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
+ // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
+ // the CPU to carry out tasks. --J.C.\r
+ cpu_probe();\r
+\r
+ // DOSLIB: check for VGA\r
+ if (!probe_vga()) {\r
+ printf("VGA probe failed\n");\r
+ return;\r
+ }\r
+ // hardware must be VGA or higher!\r
+ if (!(vga_state.vga_flags & VGA_IS_VGA)) {\r
+ printf("This program requires VGA or higher graphics hardware\n");\r
+ return;\r
+ }\r
+\r
+ if (_DEBUG_INIT() == 0) {\r
+#ifdef DEBUGSERIAL\r
+ printf("WARNING: Failed to initialize DEBUG output\n");\r
+#endif\r
+ }\r
+ _DEBUG("Serial debug output started\n"); // NTS: All serial output must end messages with newline, or DOSBox-X will not emit text to log\r
+ _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U);\r
+\r
+ //screen = modexDefaultPage();\r
+ engi_stat = ENGI_RUN;\r
+ textInit();\r
+\r
+ /* save the palette */\r
+ dpal = modexNewPal();\r
+ modexPalSave(dpal);\r
+// modexFadeOff(4, dpal);\r
+ //printf("pal load\n");\r
+ //gpal = modexNewPal();\r
+ /*modexPalSave(gpal);\r
+ modexSavePalFile("data/g.pal", gpal);*/\r
+//0000 printf("wwww loop wwww\n");\r
+ VGAmodeX(1, 1, &gvar);\r
+// modexPalBlack(); //so player will not see loadings~\r
+ IN_Startup();\r
+ IN_Default(0,&player,ctrl_Joystick);\r
+ //modexprint(&screen, 32, 32, 1, 2, 0, "a", 1);\r
+ start_timer(&gvar);\r
+ while(ENGI_EXIT != engi_stat)\r
+ {\r
+ IN_ReadControl(0,&player);\r
+ if(IN_KeyDown(sc_Escape)) engi_stat = ENGI_EXIT;\r
+ shinku(&gvar);\r
+ }\r
+ switch(detectcpu())\r
+ {\r
+ case 0: cpus = "8086/8088 or 186/88"; break;\r
+ case 1: cpus = "286"; break;\r
+ case 2: cpus = "386 or newer"; break;\r
+ default: cpus = "internal error"; break;\r
+ }\r
+ VGAmodeX(0, 1, &gvar);\r
+ printf("Project 16 16.exe. This is supposed to be the actual finished game executable!\n");\r
+ printf("version %s\n", VERSION);\r
+ printf("detected CPU type: %s\n", cpus);\r
+ IN_Shutdown();\r
+// modexFadeOn(4, dpal);\r
+}\r