]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
ok wwwww zscroll and scroll compile disabled due to me being too tired to whack at...
[16.git] / src / lib / 16_tail.c
index 8ebc0c35058e108e866ef7b77db4150988c70f4c..414e51a17c3bb33a5ce82106c127d7a9a19d13b0 100755 (executable)
 \r
 #include "src/lib/16_tail.h"\r
 \r
+/*\r
+==========================\r
+=\r
+= Startup16\r
+=\r
+= Load a few things right away\r
+=\r
+==========================\r
+*/\r
+\r
+void Startup16(global_game_variables_t *gvar)\r
+{\r
+#ifdef __WATCOMC__\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
+#endif\r
+       gvar->mm.mmstarted=0;\r
+       gvar->pm.PMStarted=0;\r
+       MM_Startup(gvar);\r
+if(!dbg_noplayerinpu)\r
+       IN_Startup(gvar);\r
+       PM_Startup(gvar);\r
+       PM_UnlockMainMem(gvar);\r
+       CA_Startup(gvar);\r
+#ifdef __WATCOMC__\r
+       start_timer(gvar);\r
+#endif\r
+\r
+}\r
+\r
+//===========================================================================\r
+\r
+/*\r
+==========================\r
+=\r
+= Shutdown16\r
+=\r
+= Shuts down all ID_?? managers\r
+=\r
+==========================\r
+*/\r
+\r
+void Shutdown16(global_game_variables_t *gvar)\r
+{\r
+       PM_Shutdown(gvar);\r
+if(!dbg_noplayerinpu)\r
+       IN_Shutdown(gvar);\r
+       CA_Shutdown(gvar);\r
+       MM_Shutdown(gvar);\r
+}\r
+\r
+\r
 //===========================================================================\r
 \r
 /*\r
@@ -78,8 +156,8 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 \r
 void Quit (char *error)\r
 {\r
-       unsigned        finscreen;\r
-       memptr  screen;\r
+       //unsigned        finscreen;\r
+       memptr  screen=0;\r
        union REGS in, out;\r
 \r
        //ClearMemory ();\r
@@ -128,3 +206,51 @@ void Quit (char *error)
 #endif\r
 \r
 //===========================================================================\r
+\r
+const char *nibble_to_binary(nibble x)\r
+{\r
+       static char b[9];\r
+       int z;\r
+\r
+       b[0] = '\0';\r
+       for (z = 8; z > 0; z >>= 1)\r
+       {\r
+               strcat(b, ((x & z) == z) ? "1" : "0");\r
+       }\r
+       return b;\r
+}\r
+\r
+const char *boolean_to_binary(boolean x)\r
+{\r
+       static char b[9];\r
+       int z;\r
+\r
+       b[0] = '\0';\r
+       for (z = 1; z > 0; z >>= 1)\r
+       {\r
+               strcat(b, ((x & z) == z) ? "1" : "0");\r
+       }\r
+       return b;\r
+}\r
+\r
+void nibbletest()\r
+{\r
+       nibble pee;\r
+       printf("nibbletest\n");\r
+       /* nibble to binary string */\r
+       for(pee=0;pee<18;pee++)\r
+               printf("        %u %s\n", pee, nibble_to_binary(pee));\r
+       printf("        sizeof(nibble)=%s\n", nibble_to_binary(sizeof(nibble)));\r
+       printf("end of nibble test\n");\r
+}\r
+\r
+void booleantest()\r
+{\r
+       boolean pee;\r
+       printf("booleantest\n");\r
+       /* boolean to binary string */\r
+       for(pee=0;pee<4;pee++)\r
+               printf("        %u %s\n", pee, boolean_to_binary(pee));\r
+       printf("        sizeof(boolean)=%s\n", boolean_to_binary(sizeof(boolean)));\r
+       printf("end of boolean test\n");\r
+}\r