+\r
+/*#define SPRIDEBUGFUNCTIONS\r
+#ifdef __DEBUG_SPRI__\r
+#undef SPRIDEBUGFUNCTIONS\r
+#define SPRIDEBUGFUNCTIONS \\r
+ if(gvar.in.inst->Keyboard[sc_Y]){ dbg_delayanimation=!dbg_delayanimation; IN_UserInput(1, &gvar); }\r
+// if(gvar.in.inst->Keyboard[sc_F9]){ dbg_pagenorendermap=!dbg_pagenorendermap; IN_UserInput(1, &gvar); }\r
+#endif*/\r
+\r
+#define TAIL_FUNCTIONKEYFUNCTIONS0EXE \\r
+ if(gvar.in.inst->Keyboard[sc_F4]){ turboXT(12); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[68/*sc_F10*/]){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap; IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_F8]){ gvar.video.vga_state.bgps=!gvar.video.vga_state.bgps; IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_F7]){ ZC_ShowMV(&gvar.mv, 0, 1); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_F6]){ ZC_ShowMV(&gvar.mv, 0, 0); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_T]){ gvar.video.vga_state.rss=!gvar.video.vga_state.rss; IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_P]){ modexpdump(&gvar.video.page[0]); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_Y]){ dbg_delayanimation=!dbg_delayanimation; IN_UserInput(1, &gvar); } \\r
+ RFDEBUGFUNCTIONS\r
+//FIZZLEFADEFUNCTION\r
+\r
+#define TAIL_PANKEYFUN \\r
+ TAIL_PANKEYFUNZC \\r
+ TAIL_FUNCTIONKEYDRAWJUNK\r
+\r
+#define TAIL_PANKEYFUNZC \\r
+ ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
+\r
+#define FUNCTIONKEYSHOWMV \\r
+ if(gvar.in.inst->Keyboard[1+1]){ gvar.video.sp=0; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
+ if(gvar.in.inst->Keyboard[2+1]){ gvar.video.sp=1; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
+ if(gvar.in.inst->Keyboard[3+1]){ gvar.video.sp=2; ZC_ShowMV(&gvar.mv, 0, 1); } \\r
+ if(gvar.in.inst->Keyboard[4+1]){ gvar.video.sp=3; ZC_ShowMV(&gvar.mv, 0, 1); }\r
+\r
+#define TAIL_FUNCTIONKEYDRAWJUNK \\r
+ FUNCTIONKEYSHOWMV \\r
+ TAIL_FUNCTIONKEYDRAWJUNKNOMV\r
+\r
+#define TAIL_FUNCTIONKEYDRAWJUNKNOMV \\r
+ if(gvar.in.inst->Keyboard[sc_A]){ modexClearRegion(&gvar.video.page[2], 0, 0, gvar.video.page[2].sw, gvar.video.page[2].sh, 3); } \\r
+ if(gvar.in.inst->Keyboard[sc_S]){ modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 4); } \\r
+\\r
+ if(gvar.in.inst->Keyboard[sc_Z]){ DRAWCORNERBOXES } \\r
+ if(gvar.in.inst->Keyboard[sc_X]){ TESTBG12 } \\r
+ if(gvar.in.inst->Keyboard[sc_C]){ TESTBG34 } \\r
+ if(gvar.in.inst->Keyboard[sc_V]){ VL_PatternDraw(&gvar.video, 0, 1, 1); } \\r
+ if(gvar.in.inst->Keyboard[sc_I]){ dbg_maptext=!dbg_maptext; IN_UserInput(1, &gvar); }\r
+/* if(gvar.in.inst->Keyboard[sc_PgDn]){ \\r
+ rotateR(gvar.video.palette, sizeof(gvar.video.palette)/sizeof(gvar.video.palette[0])); \\r
+ VL_UpdatePaletteWrite(&gvar.video.palette, 0); IN_UserInput(1, &gvar); } \\r
+ if(gvar.in.inst->Keyboard[sc_PgUp]){ \\r
+ rotateL(gvar.video.palette, sizeof(gvar.video.palette)/sizeof(gvar.video.palette[0])); \\r
+ VL_UpdatePaletteWrite(&gvar.video.palette, 0); IN_UserInput(1, &gvar); }*/\r
+#ifdef __BORLANDC__\r
+#define PAL_WRITE_REG 0x03C8 /* Color register, write address */\r
+#define PAL_DATA_REG 0x03C9 /* Color register, data port */\r
+word modexPalOverscan(word col);\r
+#endif\r
+\r
+void Shutdown16(global_game_variables_t *gvar);\r
+void Startup16(global_game_variables_t *gvar);\r
+void TL_VidInit(global_game_variables_t *gvar);\r
+void FizzleFade (unsigned source, unsigned dest,unsigned width,unsigned height, boolean abortable, global_game_variables_t *gv);\r
+void DebugMemory_(global_game_variables_t *gvar, boolean q);\r
+void ClearMemory (global_game_variables_t *gvar);\r
+void Quit (global_game_variables_t *gvar, char *error);\r
+void turboXT(byte bakapee);\r
+void nibbletest();\r
+void booleantest();\r
+\r
+#endif /*__16_TAIL__ */\r