]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/joystick.cpp
Fixed updated joystick handling, first major stab at gamepad profiles.
[virtualjaguar] / src / joystick.cpp
index e662bf1308526a475013527da707480c1c1eccf5..91cfbbb0b661563c5c2caf3d77dbfd415ad9e4b1 100644 (file)
@@ -136,7 +136,7 @@ uint16_t JoystickReadWord(uint32_t offset)
                return ~data;
 #else
                if (!joysticksEnabled)
-                       return 0xFF;
+                       return 0xFFFF;
 
                // Joystick data returns active low for buttons pressed, high for non-
                // pressed.
@@ -147,6 +147,7 @@ uint16_t JoystickReadWord(uint32_t offset)
                if (offset0 != 0xFF)
                {
                        uint16_t mask[4] = { 0xFEFF, 0xFDFF, 0xFBFF, 0xF7FF };
+//                     uint16_t mask[4] = { 0xFFFE, 0xFFFD, 0xFFFB, 0xFFF7 };
 
                        for(uint8_t i=0; i<4; i++)
                                data &= (joypad0Buttons[offset0 + i] ? mask[i] : 0xFFFF);
@@ -155,6 +156,7 @@ uint16_t JoystickReadWord(uint32_t offset)
                if (offset1 != 0xFF)
                {
                        uint16_t mask[4] = { 0xEFFF, 0xDFFF, 0xBFFF, 0x7FFF };
+//                     uint16_t mask[4] = { 0xFFEF, 0xFFDF, 0xFFBF, 0xFF7F };
 
                        for(uint8_t i=0; i<4; i++)
                                data &= (joypad1Buttons[offset1 + i] ? mask[i] : 0xFFFF);
@@ -252,7 +254,7 @@ uint16_t JoystickReadWord(uint32_t offset)
        }
 
 //     return joystick_ram[offset];
-       return 0xFF;
+       return 0xFFFF;
 }