Atari 5200 (lr-atari800) not emulating player 2 upper joystick button?
99-percent-sure last edited by 99-percent-sure
Pi model: 3B+
Power supply: 25A micro USB cable, noise filter
RetroPie version: 4.4
Built from: 4.4_rpi2_rpi3.img.gz (source image file)
USB devices connected (arcade cabinet setup): keyboard (Dell, set to US configuration), trackball (Sywan arcade trackball mouse), two 8-way joysticks from Tonganisi Arcade DIY LED kit (read by system as generic USB DragonRise joysticks)
controller used here: two generic DragonRise joysticks with 5V LED illuminated buttons
log location: No problem logged by system - most relevant CFG files present in Retropie/configs/all/retroarch.cfg, retropie/configs/atari5200/retroarch.cfg, retropie/configs/atari800/retroarch.cfg and retropie/configs/atari800/atari800.cfg.
emulator: lr-atari800, updated to most recent core as of 12/28/2018
No config files attached - I will if someone asks, but I don't know if they're relevant to this problem. Note that I do have player 1 set to joystick 1 and player 2 set to joystick 0 in the main retroarch config file, but I don't think that's the problem here. The joysticks and buttons usually seem to work fine in all the emulators.
Issue: I am trying to play RealSports Football on the Atari 5200 emulator. (I do own the original cartridge, for the record, along with an Atari 5200 purchased way back in 1983.) I have been able to get most of the 5200 games working. The cartridge menu doesn't usually pop up - I wind up going straight into the Atari 800 memo pad screen after I select a game ROM from the Retroarch menu, and then using the in-emulator controls to select "System Settings" and reset it to Atari 5200 (it defaults to Atari 800). I also check the cartridge configuration to make sure it's the correct one.
I have been able to get RealSports Football working. However, this game is designed for two players to play simultaneously. Through trial and error, I have found most of the relevant keys on the keyboard (it's set to "poll" in the Retroarch GUI), but have been unable to figure out which keys correspond to the player two controls. The player 1 joystick seems to work fine, as do the upper and lower fire buttons from the original controller (mapped to A and X). Those buttons are also mapped to the "X" and "S" keys on the keyboard. However, the player 2 upper fire button (the one mapped to X on the joystick) does not seem to be mapped to anything. The joystick and lower fire button (the one mapped to "A") work fine for Player 2, but not the upper fire button. I tried mapping it to "B" in the Retroarch GUI, but that didn't solve the problem (works for Player 1, not for Player 2). Notably, I can't seem to find any keys on the keyboard that correspond to the player 2 controls either. This button is necessary to play this game as designed, as the quarterback can't pass to the second wide receiver without it. The problem is not with the physical buttons themselves, as they test fine and work with everything else.
Does anyone have any suggestions? I have searched around, but can't even find any info regarding to where the player 2 controls in the Atari 5200 emulator are mapped. Again, none of the keyboard buttons seem to affect player 2's movement/actions. Is this function even emulated? Maybe no one thought of it yet. I guess the 5200 would be looking for specific input from the second fire button on the player 2 joystick, which may not have been replicated to date.
99-percent-sure last edited by 99-percent-sure
Also, I tried to edit my tags on this post, but can't submit them because my post is being flagged as spam by Akismet? If this is spam, I don't know what to say. I'm trying to submit a legitimate help request. I'm sorry if this doesn't measure up to some standard. I did my best.
Do I need to repost now? Please advise. I've been working on this problem for four or five hours now, and am quite frustrated.
@99-percent-sure You don't need to repost, it's fine. Akismet sometimes has false positives when flagging posts.
When you're using RetroArch based emulators, the same configuration file for the joysticks is applied to both your DragonRise gamepads, so if <button_X> from P1 gamepad does not produce the same code as <button X> from P2 gamepad, this will not work correctly. You can test each gamepad's button output with
jstest- see the docs for testing instructions.
99-percent-sure last edited by
@mitu Thanks for replying. My gamepads mirror each other, and have the same number of buttons installed and mapped to the same keys. I'm aware that the gamepads won't work correctly if there are any differences at all. In fact, I had to add two extra buttons to the player 2 USB encoder in order to make it mirror the player 1 USB encoder precisely. Initially, we had installed two extra joypad 1 buttons to serve as a hotkey/escape and as a pause button, but they wouldn't work without identical buttons set up in joypad 2. The joypad 2 buttons are actually inside of the cabinet, because there are no holes for them on the control panel. I've already used jstest many times, too. So, I can promise that the two joypads are configured identically, and I haven't set up any player 1 buttons in the 800/5200 emulator that map differently from player 2. I know better.
I really do think the problem is that the Atari 5200 emulator isn't yet set up to recognize multiple fire buttons for player 2. I found a discussion on this forum from May 2016 entitled "Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol), hat start and exit buttons" where user jfroco discussed a new port of Atari800 that added trigger1, trigger2, asterisk and hash support for joystick buttons, but only for player 1. A later post from user Veramacor (April 2017) detailing atari800.cfg settings also reflected trigger1 and trigger2 support on Joystick 0, but not Joystick 1. Then, in May 2017 user Used2BeRX asked user future.child if they would be able to properly code the player 2 controller to allow two-player games. It's not clear from the subsequent conversation that this ever got done in the way I'm discussing here.
I'm guessing from this discussion and my experiences this weekend that the Atari800 emulator must still be in that same developmental place, because when I tested the 5200 Moon Patrol ROM (I do own an original cartridge), sure enough, player 1 could use the second trigger (button X on my arcade cabinet config), but not player 2. The X button did nothing for player 2. Again, I'm not having this problem in any of the other emulators I'm using with Retroarch (MAME2003, MAME 2003-Plus, Final Burn Alpha, MAME2010, Stella, CoolCV, or the NES and SNES emulators). On those emulators, all buttons work the same for both gamepads. There are no discrepancies.
However, if someone can verify that they are able to use both fire buttons for both player 1 and player 2 in Atari 5200 Moon Patrol (one to fire, one to jump), RealSports Football, etc., I will be more than happy to try to get it working for Player 2 in Retropie. I just haven't seen anyone confirm that there is trigger1, trigger2, * and # support for Player 2 in the 5200 emulator. The only evidence I've found is that there isn't such support, and I don't want to spend days futilely trying to set up something that isn't actually supported. In fact, a post from three months ago said that the controller upgrades future.child made from 2016-18 aren't part of the current libretro version of atari800. (That thread also suggested that RealSports Football is viewed as a lost cause because of its need for keypad input.) Maybe the best way to ask this question is, does Moon Patrol work properly for player 2 on the 5200? Can you jump and fire?