/* 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
}\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
+#endif\r
\r
const char *nibble_to_binary(nibble x)\r
{\r