Bomberman94 Posted October 11, 2021 Share Posted October 11, 2021 (edited) Hi, sometimes my Atari detects a Gamepad or QuadTari where none is ?♂️ My set-up: - Atari 2600 light 6er PAL version - left controller port: extension cable and original Atari CX40 controller - right controller port: extension cable and savekey Games that recognizes sometimes „more than there is“: - Galagon (retail version): savekey is everytime found but once in addition to the savekey a QuadTari was detected - Stay Frosty 2 (retail version): sometimes a gamepad was found instead of the joystick - after put in another game (e.g. Thrust+) it detects correctly the joystick - Super Corbra Arcade (retail version): sometimes a gamepad and sometimes a joystick was detected Finding a gamepad instead a joystick is annoying because in Stay Frosty 2 I can’t throw snowballs with gamepad detected and in Super Corbra Arcade I can’t drop bombs. Maybe someone has an idea to „force joystick mode“ or why the detection fails? Many thanks Jürgen Edited October 11, 2021 by Bomberman94 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 11, 2021 Share Posted October 11, 2021 It should help if you plugin the controller later. 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted October 11, 2021 Share Posted October 11, 2021 First I've heard of this occurring. I don't think I put in an override <checking source> lda INPT1 ; Bit 7 will be on if genesis controller is plugged in and #$80 ; and button C is NOT pressed. Bit 7 will be off if sta MMcontroller ; standard joystick is plugged in. sta DF1WRITE ; MMcontroller is ZP for 6507 code, DF1WRITE is for C code Nope, no override. It just checks bit 7 of INPT1. If ON a gamepad was detected, if OFF a joystick. Have you tried it without the extension cords? Perhaps those are throwing something off. 1 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 11, 2021 Author Share Posted October 11, 2021 3 hours ago, SpiceWare said: First I've heard of this occurring. I don't think I put in an override <checking source> lda INPT1 ; Bit 7 will be on if genesis controller is plugged in and #$80 ; and button C is NOT pressed. Bit 7 will be off if sta MMcontroller ; standard joystick is plugged in. sta DF1WRITE ; MMcontroller is ZP for 6507 code, DF1WRITE is for C code Nope, no override. It just checks bit 7 of INPT1. If ON a gamepad was detected, if OFF a joystick. Have you tried it without the extension cords? Perhaps those are throwing something off. Maybe it is my Atari or „some Bytes left in the system“ but I disconnected everything from the controller ports and then turned my system off and on and then: „Gamepad found“ ? Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 11, 2021 Author Share Posted October 11, 2021 (edited) After that i played Thrust+ and after that everything is OK ?♂️ Thomas‘ Game will heal everything ? Edited October 11, 2021 by Bomberman94 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted October 11, 2021 Share Posted October 11, 2021 Thanks for testing, definitely a strange one. Pinging @johnnywc as he may have some additional insight into this issue with our games incorrectly detecting what's plugged into the console. 1 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 11, 2021 Author Share Posted October 11, 2021 (edited) I cross checked with Stay Frosty 2. Suddenly a Gamepad was detected, I turned off and on and again a Gamepad (everything’s normally connected: left is joystick and right savekey). I played some Thrust+ and after that Stay Frosty 2 again - this time with correct joystick detection! I don’t know what makes my system think there is sometimes a Gamepad… Edited October 11, 2021 by Bomberman94 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 11, 2021 Author Share Posted October 11, 2021 (edited) And same with Scramble: after playing Thrust+ it detects my joystick correctly! By the way: Scramble detects my savekey and message appears at the start - if a „Gamepad“ was detected (too) there is no message about the Gamepad, correct? ? Edited October 11, 2021 by Bomberman94 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 11, 2021 Share Posted October 11, 2021 How about using other games than Thrust+ in between? Especially a paddle game. Quote Link to comment Share on other sites More sharing options...
+johnnywc Posted October 11, 2021 Share Posted October 11, 2021 1 hour ago, SpiceWare said: Thanks for testing, definitely a strange one. Pinging @johnnywc as he may have some additional insight into this issue with our games incorrectly detecting what's plugged into the console. Hi there! I have seen some weird things re: autodetection of controllers but I'm not exactly sure what causes it. My guess is that some internal capacitor or something in the Atari is maintaining a charge, but this is more hardware related and a bit out of my league. ? 41 minutes ago, Bomberman94 said: And same with Scramble: after playing Thrust+ it detects my joystick correctly! By the way: Scramble detects my savekey and message appears at the start - if a „Gamepad“ was detected (too) there is no message about the Gamepad, correct? ? You are correct; the GAMEPAD FOUND message was added to Super Cobra Arcade but it is not in Scramble (this has been added to the download version of Scramble from our site and I plan on sending the updated ROM to Al so subsequent carts will have the message also). Also, for Scramble and Super Cobra Arcade cart versions, I check bit 7 of INPT1. However, in later games I check bit 7 of INPT1 and INPT0. The reason for this is because Genesis gamepads always have these two bits as '1', and the QuadTari has only INPT1 bit 7 as '1' (this is how we autodetect the difference between a QT and a Genesis gamepad). The digital download versions of Super Cobra Arcade and Scramble have been modified to check both bits to be consistent with the later games (also so if you have a QT connected, it will not incorrectly detect it as a gamepad). Hope that helps! Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 11, 2021 Author Share Posted October 11, 2021 46 minutes ago, Thomas Jentzsch said: How about using other games than Thrust+ in between? Especially a paddle game. Not yet - Thrust+ comes at first in my mind as this is one of my favorite games and was „just in my view“. Regarding paddle game: what should I try - as I have a Harmony cartridge it should be in the list?! Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 11, 2021 Share Posted October 11, 2021 Any paddle game should do. @johnnywc Are you dumping the ports before checking INPT0/1? The SF2 code looks like you are checking directly without dumping and waiting before. Quote Link to comment Share on other sites More sharing options...
+johnnywc Posted October 11, 2021 Share Posted October 11, 2021 3 minutes ago, Thomas Jentzsch said: @johnnywc Are you dumping the ports before checking INPT0/1? The SF2 code looks like you are checking directly without dumping and waiting before. No, I do not dump the paddles first. Sounds like a good idea though! Is this what you do in Thrust+? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 11, 2021 Share Posted October 11, 2021 (edited) Yes, because Thrust+ supports the Booster Grip (and Sega Genesis). So it dumps the ports each frame and when you change carts, there is a good chance that they are still low (or high?). Edited October 11, 2021 by Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
+johnnywc Posted October 11, 2021 Share Posted October 11, 2021 23 minutes ago, Thomas Jentzsch said: Yes, because Thrust+ supports the Booster Grip (and Sega Genesis). So it dumps the ports each frame and when you change carts, there is a good chance that they are still low (or high?). Makes sense. So should I be dumping the ports on startup and waiting a bit before detecting the gamepad/Quadtari? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 11, 2021 Share Posted October 11, 2021 (edited) Yup. This is the auto detect code from VROOM!, executed directly after the ZP clean loop: lda #0 tax ... ;--------------------------------------------------------------- ; Detect QuadTari in left and right port ; Check if INPT0/2 get low after ~3 frames ldy #$82 sty VBLANK ; enable bit 7, dump ports sta WSYNC ;--------------------------------------- .loopWaitQ sta WSYNC ;--------------------------------------- sta VBLANK ; disable bit 7, A = 0! dex bne .loopWaitQ dey bmi .loopWaitQ ; total: 3x256 = 768 scanlines = ~2.9 NTSC frames ; Right port ; - INPT2 = 1 && INPT3 = 1 -> Paddles ; - INPT2 = 0 && INPT3 = 1 -> QuadTari ; - INPT2 = 0 && INPT3 = 0 -> SaveKey ;--------------------------------------------------------------- lda INPT0 ; 3 asl ; 2 lda INPT2 ; 3 eor INPT3 ; 3 ror ; 2 sta quadTari ; 3 = 16 bit 7==0: left quadtari; ; bit 6==1: right quadtari Edited October 11, 2021 by Thomas Jentzsch 2 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 13, 2021 Author Share Posted October 13, 2021 In the next 2 weeks I have time to connect my „Backup“-Atari 2600 to my TV (also light 6switch PAL version). Will try everything with the following setup: - left controller: joystick (directly connected) - right controller: savekey (directly connected) 2 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 17, 2021 Author Share Posted October 17, 2021 On 10/13/2021 at 3:51 AM, Bomberman94 said: In the next 2 weeks I have time to connect my „Backup“-Atari 2600 to my TV (also light 6switch PAL version). Will try everything with the following setup: - left controller: joystick (directly connected) - right controller: savekey (directly connected) Today I tested it with my Backup-Atari and played some hours without any problems (everything’s correctly detected!). So problem seems to be the extension cable or the Atari itself… In the next days I will finally test my Backup-Atari with - Controller Port left: extension cable + Joystick - Controller Port right: extension cable + Savekey If this also works and detection is reliable my Backup Atari will get my Main-Atari (just discovered today that it has a „better“ TIA chip as there are no stray dots in Pesco and Pitkat will run without problems). 1 Quote Link to comment Share on other sites More sharing options...
Bomberman94 Posted October 18, 2021 Author Share Posted October 18, 2021 19 hours ago, Bomberman94 said: Today I tested it with my Backup-Atari and played some hours without any problems (everything’s correctly detected!). So problem seems to be the extension cable or the Atari itself… In the next days I will finally test my Backup-Atari with - Controller Port left: extension cable + Joystick - Controller Port right: extension cable + Savekey If this also works and detection is reliable my Backup Atari will get my Main-Atari (just discovered today that it has a „better“ TIA chip as there are no stray dots in Pesco and Pitkat will run without problems). OK, after playing some hours with my Backup Atari I can say: everything’s OK with the detection - my first Atari causes the strange and wrong detection of other hardware than the joystick (sometimes a Gamepad or QuadTari ?). I also swapped the joysticks - maybe it could be something with it but it is not. 1 Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted October 18, 2021 Share Posted October 18, 2021 24 minutes ago, Bomberman94 said: OK, after playing some hours with my Backup Atari I can say: everything’s OK with the detection - my first Atari causes the strange and wrong detection of other hardware than the joystick (sometimes a Gamepad or QuadTari ?). I also swapped the joysticks - maybe it could be something with it but it is not. It never was a fault of your Atari. The state of the registers checked is undefined when the console is switched on. If a game doesn't set them to a defined state, then the results maybe vary between consoles. 1 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.