Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons
-
@Used2BeRX So far i have been unsuccessful implementing analog controls, as far as i can tell the original version was built on the idea of using the mouse as analog input, i think i am on the right track though.
For the time being i created another version with the possibility to adjust the joystick speed.
Same installation procedure, new configuration parameter:JOY_SPEED_ADJUST=8
Accepted values are 0 to 9 (the higher the number the slower the movement will be), to disable this option just remove the parameter or place any other value.
As far as the radioactive drink in Miner:2049er: i think the manual said Bounty Bob was allergic to martini's ;-)
I cant even count how many times i made that same mistake. -
@future.child Awesome. I can't get to it right now, but I should be able to check it out by this weekend. I think you're on the right track. I can't find the message I got from somebody on another forum who knows a bit about Atari emulation and he mentioned something about using the mouse for analog too.
-
@Used2BeRX I'd guess he'd have the same conclusion, that mouse input is used for analog input.
In the source code there is a bit of code mapping mouse movement to the atari's input ports (POKEY_POT_input).
These ports (2 per controller 1 for x, 1 for y) have an input range from 0 to 228 where 114 is centre position.
My attempts to map the analog joysticks axis-es to these ports result in very erratic movements, probably because there exists some passing on of the original joystick data.Meanwhile I have also begun testing other emulators (kat5200 and atari++, unfortunately altirra is windows only) but so far analog input is not what i expect.
Kat5200 has analog controller support but when it is enabled the cursor returns to the center of the screen when joystick is centered (very annoying during gameplay) and atari++ also uses mouse as analog input.
Maybe mess will allow for analog input, ill try that one when i get arround. -
@future.child Good news and bad news.
Missile Command, Centipede and Super Breakout are completely playable with this fix!
The bad news is that when you have any value other than "0" any game that doesn't use the mouse is completely non responsive.
We're on the right track. Is there any way to only launch this for the games that use it? If that's possible it would be cool if it could be taken a step further to have a different value per game. 8 seems really good for Super Breakout and Missile command, but it's a little slow for Centipede.
As always, thanks again for your awesome work FC.
-
@Used2BeRX
The easiest way to have different configurations per rom is to create separate launchers.You would create additional configuration files (i.e. atari5200_custom1.cfg and atari5200_custom1.cfg) and edit emulators.cfg like this:
atari800="echo %ROM: -\ % > /dev/null;/opt/retropie/emulators/atari800/bin/atari800 -config /opt/retropie/configs/atari5200/atari5200.cfg -cart %ROM%" atari800_custom1="echo %ROM: -\ % > /dev/null;/opt/retropie/emulators/atari800/bin/atari800 -config /opt/retropie/configs/atari5200/atari5200_custom1.cfg -cart %ROM%" atari800_custom2="echo %ROM: -\ % > /dev/null;/opt/retropie/emulators/atari800/bin/atari800 -config /opt/retropie/configs/atari5200/atari5200_custom2.cfg -cart %ROM%"
When launching a rom you'd get a message asking to press a button to change setting.
There you can choose select emulator for ROM () and select atari800_custom1 or atari800_custom1. -
@future.child Nice. I didn't know you could do that. I was wondering why I had an option to switch between 5200 and 800 like that even though they both used the same emulator. Now I know the answer to that. I'll give it a shot later.
Did you happen to look into the issues with Pengo, Pole Position and Galaxian? The other guy I was talking to says that the emulator incorrectly detects the presense of the trackball and switches to trackball mode with those games. Galaxian is playable once a bug works itself out, but it's impossible to play Pengo and Pole Position.
Other than that I don't think there are any more issues, at least with the 5200. There's some games with too many keypad buttons to play on a joystick, but I doubt anybody that liked RealSports Football hasn't moved on to Madden or at least Tecmo Bowl by now.
-
@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.
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.