Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons
-
@Used2BeRX I've looked into the "Pengo, Pole Position and Galaxian" issue.
It has been referred too in this thread, i have tried the fix suggested in post #5. but it did not work.I'm still poking around in the source code to see if anything can be done but for now it's only playable if you select mouse as input for joystick in the emulator menu.
When i have news i will post an update.
-
@future.child Sounds good. I'm going to see if anything I can do with the configs can handle this too. Some settings do not save in the emulator, so that might not work, but if you can get proper control on these games by simply choosing to use mouse input than it might just be a matter of using a "poleposition" config line and saving the Mouse option.
But there is still going to be a problem when it comes to up/down shifting in that game. Could I ask one more quick favor that you just add the rest of the numpad buttons to the emulator and let me know what values would essentially leave them unused for most games? That way for the Pole Position config I can map the up/down gearshift to the stick as well as have the fixed mouse support control.
If you would be interested in having these different configurations when I'm done, just say the word. I'm going to be releasing an entire 5200 pack at some point on the other site I hang out with that has all the artwork and videos too, but thought you might want these configs if they work after I make them just to save you the hassle.
EDIT: This is infuriating. I can't get the emulator to boot anymore. It keeps kicking me right back to the romlist. I even re-installed it twice. I think something might have gotten jacked up in my config file again, but I don't see how since I've been diligent about backing things up.
Do you know of any other files somewhere that might be causing me some conflicts? I'd like to reset everything if possible.
EDIT2: Yeah. I don't know what happened, but it's completely broke for me now. Nothing I do seems to get the emulator working anymore.
-
@Used2BeRX Bummer.....
I can't think of anything other than checking the emulators.cfg to see if you are pointing to the correct config file (also check the path) and maybe starting with a fresh config file.
Since you chose a different emulator per rom you may want to revert those back to default.
Also check if your bios files have not become corrupted.
Maybe you could do a complete atari800 uninstall from retropie setup, reboot and then reinstall as last resort ?Anyway, i just posted a new update which has support for numericals 6 ~ 0.
new config parameters :SDL_JOY_0_DIGIT_6=12 SDL_JOY_0_DIGIT_7=13 SDL_JOY_0_DIGIT_8=14 SDL_JOY_0_DIGIT_9=15 SDL_JOY_0_DIGIT_0=16
-
@future.child I figured it out!
Kinda bittersweet news for me. I've pushed the Pi Zero to its limit and that limit is pretty underwhelming for sure. All of the work I've been doing on the side making artwork packs work with it and making gamelist.xml files that will point to them finally took its toll. I can't even have that setup for just Atari 2600, Atari 5200, Atari 7800 and LYNX without "breaking" the Pi. I hadn't even started any of that with systems like NES, SNES and Genesis........ Bummer.
After I renamed all the gamelistxml files to revert to name only game lists I was able to start the 5200 emulator again.
I'll start with your new upload and start working on making new configs. I hadn't even begun any of that since I couldn't even start the damn thing before :)
I'll let you know how it goes.
-
@future.child Here's where we're at now. Centipede, Missile Command, RealSports Tennis and Super Breakout work great.
Kaboom! and Castle Crisis now have another issue though. For whatever these reasons the range of movement is very tiny now. You are pretty much just stuck in the starting position and you can move it a tiny bit either way instead of to the edges of the screen like you're suppose to be able to.
EDIT: Pengo works!!!!!!When I have a Pengo.cfg set up for "JOY_SPEED_ADJUST=6", I can get it to work by going into the emulator options and choosing "Controller Configuration - Mouse Device - ST Mouse".
I can't figure out how to save that setting for the ST Mouse.
This still doesn't fix the Galaxian flake out or have any noticible effect on the car control in Pole Position.
-
@Used2BeRX For Kaboom! and Castle Crisis could you try to remove the line "JOY_SPEED_ADJUST=" entirely.
This is because with setting of 0 there still is a tiny adjustment, when not having this line the setting is completely disabled. -
@future.child That won't work. The emulator automatically adds the line if you remove it.
Do you think I could put a value of 11 to negate it? I won't be able to check on it for a while.
Any ideas for how to save the ST Mouse for Pengo, or how to get Pole Position working?
-
@Used2BeRX Could you check if in your config autosave is set to 0
CFG_SAVE_ON_EXIT=0
This could be the reason for the config being overwritten by the emulator.
And Yes, setting 11 (or any other value except 0 ~ 9) disables adjustment to the joystick speed completely.
Keep in mind though the joystick adjustment is a temporary "fix" until i can get true analog controlls to work as intended.Edit: The mouse mode is not configurable trough the configuration file, you can however edit the emulators.cfg file to add -mouse with one of these parameters: off/pad/touch/koala/pen/gun/amiga/st/trak/joy.
In your case it would be like :
atari800="echo %ROM: -\ % > /dev/null;/opt/retropie/emulators/atari800/bin/atari800 -mouse st -config /opt/retropie/configs/atari5200/atari5200.cfg -cart %ROM%"
-
@future.child Yeah. It was set to "1" for autosave. I'll change it when I have a chance and see if those other two games work. I'll give that configuration for the mouse a shot too.
I'm not sure if you really need to get "true analog" if that's going to be a huge struggle for you. As long as you choose the correct number for your "temporary fix" it seems to play very well to me. It's just a matter of seeing if we can get those last 4 or so games to work.
-
@Used2BeRX well if you do have those last roms working correct maybe you could post a tutorial for those that want to have the same.
i will still try for true analog, mainly because it's a learning experience for me and when (or if) working will also be of benefit to the community.
-
@future.child said in Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons:
For Kaboom! and Castle Crisis could you try to remove the line "JOY_SPEED_ADJUST=" entirely.
This is because with setting of 0 there still is a tiny adjustment, when not having this line the setting is completely disabled.So I was thinking about this one. If I did that, wouldn't it just have the same problems as before we did anything where the speed is just so fast that it's still unplayable?
These games need the slowdown fix for the speed of the controls, but for some reason on these two it keeps you in a very small window of movement from the starting position instead of the full screen when you have the JOY_SPEED_ADJUST line in there.
-
@Used2BeRX Well my guess they make use of the true analog capability's the 5200 had, my way of "fixing" was capping the minimum/maximum position of the joystick.
Hold on just a bit longer i think i have true analog controls figured out.
It works in my experimental build but i am still to figure out how to enable/disable it with a configuration parameter.
It does loses HAT support when enabled, but that should not be a big of an issue to fix if needed.Update1:
I uploaded a new version with analog support,
install is the same, new config parameter:TRUE_ANALOG_JOYSTICK =0 // 1 to enable
there are the limitations/drawbacks i know of:
When enabled this disables joystick HAT input (should be fixed in a later version)
Analog controller tends to drift from center calibration (possibly my controller is defective)
Only two controllers have been implemented for this (maybe this will be expanded in a later version).
Possibly there will be added a adjustment routine as the controls are very sensitive.Update2:
Added new version with possibility to restrict min/max joystick values
It uses the same config variable as previous version.JOY_SPEED_ADJUST=8
-
@future.child I'm going to take a look at this today.
I had a question about the "HAT" value. Since I assume you don't automatically save your configuration on exit I'm guessing you haven't noticed it. That line keeps disappearing in my configuration, and has for quite some time. Even when I'd add it back in it would disappear. Now I know that the auto-save was causing it. What's strange though is that the D-Pad still works without it. Just wondering what your thoughts were on that.
4 controllers would be nice since the original system allowed for it, but I never played 4 player. I was the only person I knew who had this system growing up and I don't think the chances were very good that there were many people in the entire world that actually owned 4 working 5200 controllers at the same time. :)
Wouldn't the True Analog settings and the JOY_SPEED_ADJUST conflict with each other?
NOTES ON TESTING:
MISSILE COMMAND/RealSports TENNIS:
TRUE_ANALOG_JOYSTICK=1 with JOY_SPEED_ADJUST=11 (OFF) is way too fast. The values of "8" or "9" for Missile Command and "1" for RealSports Tennis seemed good to me without True Analog. Turning on True Analog with those values seems to play exactly the same.PENGO - Putting "-mouse st" makes it work automatically with JOY_SPEED_ADJUST=4. Turning on True Analog "breaks" it. I even tried putting joy speed adjust to "11" to turn it off but Pengo was completely non-responsive with True Analog on. I would consider this game "fixed" though with an alternate "pengo.cfg" file that has JOY_SPEED_ADJUST=4 and is pointed to in the "emulators.cfg" with the "-mouse st" added to the launch line.
I will add more here as I test.
-
@Used2BeRX i will have a look at the hat code, i did not add this so i have no idea yet why it would delete the config line or why it still works when it should be disabled.
4 player support is not that hard to add, but as you say it was not common in that era to have more than two joysticks.
The JOY_SPEED_ADJUST will not conflict with analog, the only thing this parameter does is restrict the minimum and maximum values of the joystick hat and analog axises, hence the limited movement in Kaboom! and castle crisis.
In this version the analog axises (value: between -32767 and 32767, 0 is center) are linear translated to atari's input (value: between 0 and 228, 114 is centre), for modern controllers i think, it would be better to have some sort of logarithmic scale to aid in sensitivity.
If someone could supply me with a nifty math trick to accomplish this it would be great. -
@future.child Unfortunately, I couldn't tell you when the "HAT" line was being erased from my configurations. I can just say that it started after I started using your updates versus jfranco original code. What I don't understand is why the line doesn't seem to be needed anymore though. The D-Pad works fine for me without it on any of the games where we're not using the stick for analog controls.
If 4 players isn't hard, might as well add it :)
I'm going to try out Kaboom! and Castle Crisis with JOY_SPEED_ADJUST at 11 with True Analog turned on, but I'm assuming that it's just going to move too fast like it did before you put the joyspeedadjust parameter in there.
I'm a big dummy at math man. I'm pretty awesome at accounting type math, but put some variables in there and I'm lost. I'm pretty sure we've got some smart guys in these forums though.
EDIT: It was hard to tell a difference with Kaboom!, but there is DEFINITELY a difference in performance in Castle Crisis. It's still very unplayable, but you do have at least a tiny bit of control over the movements now if you're really careful about how far you press the left analog stick. So.... even though at this point "TRUE_ANALOG_JOYSTICK=1" doesn't actually fix any of the problems by itself, you're on the right track.
EDIT 2:
Pole Position is virtually fixed now with TRUE_ANALOG_JOYSTICK=1. I think it's still too sensitive, but for the first time since I've tried it on the Pi you can actually straighten the car out. I'll have to fiddle with the other settings now to map the HI/LO gears and this one can pretty much be considered fixed I think.EDIT 3:
Galaxian. Nothing I've tried with any of the new settings ever fixes the glitch where sometimes you don't have control of the ship until you die the first time. True Analog doesn't fix it. Joy Speed Adjust doesn't fix it. Using a mouse doesn't fix it. I was told that this had the same problem as Pole Postion and Pengo, but I'm not sure if that's entirely true. Odd behavior. I think unless you were to do some real digging on this one the best option for Galaxian is to load it without any analog "fixes" so you can use the DPad and just let people know that this is an issue that pops up sometimes on this game and your options are to reset and keep your fingers crossed or to die 3 times and start a new game with the controls fixed. -
I just went over the code, it seems jfroco commented out the parts reading the HAT from and writing it to config.
It seems it is just always enabled for some reason, i will just let it leave it as is since there is no downside to having it always enabled as far as i can tell.The sensitivity part you describe in castle crisis where you have to be real careful not to move the joystick too far is exactly the reason why i think a logarithmic scale would work better.
worst case scenario i will end up using lookup table instead of some fancy calculation.I think the Galaxian bug is a issue i will not be able to solve as this happens within the emulation part (i think something is off in pokey handling, either emulator side or rom bug).
-
@future.child I agree on HAT. I haven't noticed any negative effects to it whatsoever. The only time it doesn't get used is, like you said, when the True Analog is used, and that's to be expected. Don't fix what ain't broke.
I think if you were to manage some sort of fix to the analog that got Castle Crisis playing properly it would fix all games that rely on the joystick sensitivity. Even if it didn't though, the only two that are really a concern on the 5200 library are Castle Crisis, Kaboom! (and now fine tuning of Pole Position, although that one is totally playable as-is at this point).
I asked a guy that knows the Atari 5200 about the Galaxian issue. No promises, but maybe he has a fix or at least can point you where to look. I believe he got it working perfect on the XBox, I just haven't pulled it out to double check on that. He was the guy that knew about the issue though.
EDIT:
Gear shifting on Pole Position. When I press 7 on my USB keyboard it goes into high gear. When I press 1 on the keyboard it goes into low gear. Pressing the square button on my current joystick configuration for all games (Numpad 1) will also put it into low gear. I've been trying to map Numpad 7 to another key, but for whatever reason I can't seem to get the controller to put the car into high gear. Is there a difference between USB Keyboard 7 and Numpad 7? -
@future.child I've done all that I can do right now I believe. I figured I'd give you an update of where we're at now. This is including the entire 5200 official library, and all prototypes and self-published titles on the site that talks about Atari (I don't want to name any sites with roms, but you know the one).
When I say "Fixed Games" I really mean fixed. I don't think you have to do a single thing more to tweak them. They play as well as I remember them ever playing on the official system.
FIXED GAMES:
Centipede - Centipede.cfg should have JOY_SPEED_ADJUST=6, TRUE_ANALOG_JOYSTICK=0. Dpad works.Missile Command - MissileCommand.cfg should have JOY_SPEED_ADJUST=8, TRUE_ANALOG_JOYSTICK=0. Dpad works.
Pengo - add "-mouse st" to emulators.cfg Pengo line. Pengo.cfg should have JOY_SPEED_ADJUST=2, TRUE_ANALOG_JOYSTICK=0. Dpad works.
RealSports Tennis - RealSportsTennis.cfg should have JOY_SPEED_ADJUST=1, TRUE_ANALOG_JOYSTICK=0. Dpad works.
Super Breakout - SuperBreakout.cfg should have JOY_SPEED_ADJUST=8, TRUE_ANALOG_JOYSTICK=0. Dpad works.
Pole Position - Still need to map High Gear. Car is controllable now with TRUE_ANALOG_JOYSTICK=1. DPad does not work. "7" key on USB keyboard will put car into high gear, but mapping "Numpad 7" to the controller has no effect.
WEIRD BUGS:
Galaxian - is still playable but suffers from this occasionally on your first life until you die. Just reset if this happens. (Nothing we've done has fixed this yet. Put out question to a guy who might have some ideas).BAD JOYSTICK/SENSITIVITY ISSUES:
Castle Crisis - True Analog way to fast, but IS better than having it off. Joy Speed adjust limits movement to about 1" of screen.Kaboom! - True analog is way to fast. Really didn't notice any difference having it off. Joy Speed adjust limits movement to about 1" of screen.
UNMAPPABLE/GAMES THAT REQUIRE USB KEYBOARD:
Miner 2049er for the final level.
Quest for Quintana Roo
RealSports Football
Space Shuttle -
Gentlemen, does this version of emulator overwrite one that installs with Retro-Pie? Does it still play Atari 800XL games besides 5200?
-
@adriansos666 This version replaces the one that installs with retropie.
It is a enhanced version that has some optional configuration parameters for mapping buttons and joystick axises.
The changes made are aimed at making certain games at least playable with joystick, but is currently unfinished.When these parameters are all disabled this emulator behaves exactly like the original version, and when enabled should have no negative impact (i did not notice any problems with my 800xl roms).
The list of added features:
- Full Joystick support for RetroPie - Autoconfiguration of buttons using Retroarch configuration - Menu navigation using joystick - Joystick Button configuration: trigger1, trigger 2 (Moon Patrol and H.E.R.O.!), asterisk and hash. - Supports hat and axis for joysticks - Use second analog stick in first as second player stick: Robotron and Space Dungeon!!! (configurable axis), This is disabled until restart when player 2 joystick trigger 1 is pressed to prevent cheating in two player games. - Ability to define joysticks numbers. - Numerical 0-9 keys mapped to joystick buttons for games like Beamrider and Congo Bongo. - Option key mapped to joystick button for games like Mr. Robot and his Robot Factory. - Config option to adjust joystick speed (restrict min/max joystick values). - Analog joystick support (for now this disables HAT and is limited to two joysticks) Hotkeys: -------- SELECT + START to exit emulator SELECT + * : Emulator Menu SELECT + # : Reset New parameters in /home/pi/.atari800.cfg : SDL_JOY_0_SELECT=8 <-- button ID SDL_JOY_0_START=9 <-- button ID SDL_JOY_0_TRIGGER1=1 <-- button ID SDL_JOY_0_TRIGGER2=2 <-- button ID SDL_JOY_0_ASTERISK=3 <-- button ID SDL_JOY_0_OPTION=5 <-- button ID SDL_JOY_0_HASH=4 <-- button ID SDL_JOY_0_SECOND_AXIS=2 <-- axis ID SDL_JOY_0_SECOND_AXIS_ENABLED=1 <-- set this to 0 or 1 SDL_JOY_0_DIGIT_1=0 <-- button ID SDL_JOY_0_DIGIT_2=6 <-- button ID SDL_JOY_0_DIGIT_3=7 <-- button ID SDL_JOY_0_DIGIT_4=10 <-- button ID SDL_JOY_0_DIGIT_5=11 <-- button ID SDL_JOY_0_DIGIT_6=12 <-- button ID SDL_JOY_0_DIGIT_7=13 <-- button ID SDL_JOY_0_DIGIT_8=14 <-- button ID SDL_JOY_0_DIGIT_9=15 <-- button ID SDL_JOY_0_DIGIT_0=16 <-- button ID JOY_SPEED_ADJUST=8 <-- accepted Values: 0 ~ 9 (higher = slower movement), anything else disables adjustment. TRUE_ANALOG_JOYSTICK=0 <-- set to 1 for analog joystick input.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.