]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/joystick.cpp
Extensive changes to remove gcc 4.x warnings, general code cleanup
[virtualjaguar] / src / joystick.cpp
index b91acc5aa906f5b977d4a4815606d17fe8fee160..cd1bdcae45bdaca208532e2324c10b8357936c2d 100644 (file)
@@ -6,11 +6,15 @@
 // Cleanups/fixes by James L. Hammons
 //
 
+#include "joystick.h"
+
 #include <time.h>
 #include <SDL.h>
 #include "jaguar.h"
 #include "video.h"
 #include "settings.h"
+#include "gpu.h"
+#include "log.h"
 
 #define BUTTON_U               0
 #define BUTTON_D               1
@@ -54,8 +58,11 @@ bool iLeft, iRight, iToggle = false;
 bool keyHeld1 = false, keyHeld2 = false, keyHeld3 = false;
 int objectPtr = 0;
 bool startMemLog = false;
-extern bool doDSPDis;
+extern bool doDSPDis, doGPUDis;
 
+bool blitterSingleStep = false;
+bool bssGo = false;
+bool bssHeld = false;
 
 void joystick_init(void)
 {
@@ -127,8 +134,14 @@ void joystick_exec(void)
        if (keystate[vjs.p1KeyBindings[20]])
                joypad_0_buttons[BUTTON_d] = 0x01;
 
+       extern bool debounceRunKey;
     if (keystate[SDLK_ESCAPE])
-       finished = true;
+    {
+               if (!debounceRunKey)
+               finished = true;
+    }
+    else
+               debounceRunKey = false;
 
        if (keystate[SDLK_TAB])
        {
@@ -198,7 +211,23 @@ void joystick_exec(void)
                WriteLog("\n--------> MARK!\n\n");
        if (keystate[SDLK_t])
                doDSPDis = true;
+       if (keystate[SDLK_y])
+               doGPUDis = true;
 
+       // BLITTER single step
+       if (keystate[SDLK_F5])
+               blitterSingleStep = true;
+
+       if (keystate[SDLK_F6])
+       {
+               if (!bssHeld)
+               {
+                       bssHeld = true;
+                       bssGo = true;
+               }
+       }
+       else
+               bssHeld = false;
 
        // Joystick support [nwagenaar]