OSDN Git Service

====----==== this is a messed up build that contains a busted 0.exe pan page system
[proj16/16.git] / src / lib / 16_tail.c
index ece035e..4e8c2d1 100755 (executable)
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
  *\r
  * This file is part of Project 16.\r
  *\r
@@ -64,7 +64,7 @@ void Startup16(global_game_variables_t *gvar)
 \r
        if (_DEBUG_INIT() == 0) {\r
 #ifdef DEBUGSERIAL\r
-               printf("WARNING: Failed to initialize DEBUG output\n");\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
@@ -371,23 +371,51 @@ void Quit (global_game_variables_t *gvar, char *error)
 }\r
 \r
 //===========================================================================\r
-\r
-void walktypeinfo(player_t *player, word pn)\r
+#ifndef __WATCOMC__\r
+char global_temp_status_text[512];\r
+#else\r
+//\r
+// for mary4 (XT)\r
+// this is from my XT's BIOS\r
+// http://www.phatcode.net/downloads.php?id=101\r
+//\r
+void turboXT(byte bakapee)\r
 {\r
-       switch(player[pn].walktype)\r
-       {\r
-               case 0: //bump\r
-                       sprintf(global_temp_status_text, "%s", "b");\r
-               break;\r
-               case 1: //walk no scroll\r
-                       sprintf(global_temp_status_text, "%s", "w");\r
-               break;\r
-               case 2: //scrolling walk\r
-                       sprintf(global_temp_status_text, "%s", "s");\r
-               break;\r
+       __asm {\r
+       push    ax\r
+       push    bx\r
+       push    cx\r
+       in      al, 61h                         //; Read equipment flags\r
+       xor     al, bakapee                     //;   toggle speed\r
+       out     61h, al                         //; Write new flags back\r
+\r
+       mov     bx, 0F89h                       //; low pitch blip\r
+       and     al, 4                           //; Is turbo mode set?\r
+       jz      @@do_beep\r
+       mov     bx, 52Eh                        //; high pitch blip\r
+\r
+@@do_beep:\r
+       mov     al, 10110110b           //; Timer IC 8253 square waves\r
+       out     43h, al                         //;   channel 2, speaker\r
+       mov     ax, bx\r
+       out     42h, al                         //;   send low order\r
+       mov     al, ah                          //;   load high order\r
+       out     42h, al                         //;   send high order\r
+       in      al, 61h                         //; Read IC 8255 machine status\r
+       push    ax\r
+       or      al, 00000011b\r
+       out     61h, al                         //; Turn speaker on\r
+       mov     cx, 2000h\r
+@@delay:\r
+       loop    @@delay\r
+       pop     ax\r
+       out     61h, al                         //; Turn speaker off\r
+       pop     cx\r
+       pop     bx\r
+       pop     ax\r
        }\r
-\r
 }\r
+#endif\r
 \r
 const char *nibble_to_binary(nibble x)\r
 {\r