X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fjoystick.cpp;h=cd1bdcae45bdaca208532e2324c10b8357936c2d;hb=6d6e1b73eca47e97f2d092fda11ff85a10afb55b;hp=bfc81ddfc6d70322b54061abf29a690187d8bb76;hpb=d076c9b777523f5c9d7cc05112b14fcb537f6a13;p=virtualjaguar diff --git a/src/joystick.cpp b/src/joystick.cpp index bfc81dd..cd1bdca 100644 --- a/src/joystick.cpp +++ b/src/joystick.cpp @@ -6,11 +6,15 @@ // Cleanups/fixes by James L. Hammons // +#include "joystick.h" + #include #include #include "jaguar.h" #include "video.h" #include "settings.h" +#include "gpu.h" +#include "log.h" #define BUTTON_U 0 #define BUTTON_D 1 @@ -54,7 +58,11 @@ bool iLeft, iRight, iToggle = false; bool keyHeld1 = false, keyHeld2 = false, keyHeld3 = false; int objectPtr = 0; bool startMemLog = false; +extern bool doDSPDis, doGPUDis; +bool blitterSingleStep = false; +bool bssGo = false; +bool bssHeld = false; void joystick_init(void) { @@ -126,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]) { @@ -195,6 +209,25 @@ void joystick_exec(void) startMemLog = true; if (keystate[SDLK_r]) 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]