]> 4ch.mooo.com Git - 16.git/commitdiff
showing row and colum drawing i optimized it to only draw at the end of walk. this...
authorsparky4 <sparky4@cock.li>
Thu, 26 Jan 2017 18:09:59 +0000 (12:09 -0600)
committersparky4 <sparky4@cock.li>
Thu, 26 Jan 2017 18:09:59 +0000 (12:09 -0600)
src/lib/16_tail.c
src/lib/16_tail.h

index 6ebe442dac85b44c365608ca8932f11e1284ceb2..41379e326ab0ebb14bb1a75ab8a830aac70164ee 100755 (executable)
@@ -388,6 +388,44 @@ void walktypeinfo(player_t *player, word pn)
        }\r
 }\r
 \r
+void turboXT(byte bakapee)\r
+{\r
+       //byte bakapee = 12;\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
 const char *nibble_to_binary(nibble x)\r
 {\r
        static char b[9];\r
index 932d557f56bcc74505a72ba412d754236056e298..8d7082a36c19f46846b410b6321b8123495f19b9 100755 (executable)
@@ -39,6 +39,7 @@
        FUNCTIONKEYFUNCTIONS0EXE\r
 \r
 #define FUNCTIONKEYFUNCTIONS0EXE \\r
+       if(IN_KeyDown(sc_F4)){ turboXT(12);                                                                     IN_UserInput(1,1); } \\r
        if(IN_KeyDown(87/*sc_F11*/)){ pageflipflop=!pageflipflop;                                       IN_UserInput(1,1); } \\r
        if(IN_KeyDown(68/*sc_F10*/)){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap;         IN_UserInput(1,1); } \\r
        if(IN_KeyDown(sc_F9)){ pagenorendermap=!pagenorendermap;                                IN_UserInput(1,1); } \\r
@@ -77,6 +78,7 @@ void Shutdown16(global_game_variables_t *gvar);
 void Startup16(global_game_variables_t *gvar);\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 walktypeinfo(player_t *player, word pn);\r
 void nibbletest();\r
 void booleantest();\r