+playsoft Posted December 8, 2021 Share Posted December 8, 2021 When in 2 button mode and you detect a 1 button joystick, the 7800 Software Guide says "the game should turn off two button support for that joystick by setting the appropriate SWCHB bits high". It's probably best to follow the Software Guide, but is there any reason why you wouldn't do this by clearing the bit in CTLSWB and making it an input? 1 Quote Link to comment Share on other sites More sharing options...
Danjovic Posted January 2, 2022 Share Posted January 2, 2022 From the strict point of view of hardware I see no problem on that, and I believe that this is the next step that a game would do after detecting a "one button" controller attached. As far as I understand if weren't for such guidance we could have three button joysticks. 1 Quote Link to comment Share on other sites More sharing options...
+playsoft Posted January 3, 2022 Author Share Posted January 3, 2022 15 hours ago, Danjovic said: From the strict point of view of hardware I see no problem on that, and I believe that this is the next step that a game would do after detecting a "one button" controller attached. Thanks for taking a look at this. I downloaded the 7800 source code that is available for some of the old commercial games and the 2 button games I examined followed the software guide when a 1 button joystick is detected (i.e. leave the CTLSWB bits configured as outputs and set the SWCHB bits high). The 1 button games tended to configure everything as inputs by setting CTLSWB to $00 at initialisation, although some did not appear to set CTLSWB at all. I did not find (I may have missed them) any 1 button games which initialised by setting the bits in CTLSWB and SWCHB. It just seemed a bit strange having the 2 different approaches. 15 hours ago, Danjovic said: As far as I understand if weren't for such guidance we could have three button joysticks. I do seem able to read all 3 buttons of my joy2b+ compatible joystick by configuring as per a 1 button joystick (either method!) and reading INPT4/1/0 (all bit 7 = 0 when pushed). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.