Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons
-
@Used2BeRX Thanks for testing and your upvote.
I doubt plugging 2nd controller mid emulation will work as detection only takes place at startup.
Removing controllers mid emulation is a bad idea as the emulation crashes (taking out emulationstation with it).As for buttons for numerical input 0 and 4-9, i can add them but there are limits to how many physical buttons are present on the controller (for now i have two (thumb)buttons left on my controller).
I think it would we easier to have a (numerical)keyboard connected to the pi and use that for those few titles that need them.And configuring the controls by pressing sticks (buttons ?) down is out of the question as i would have to add a lot of code and incorporate it into the menu, it is far easier to edit the config file or use something like the python script jfroco wrote.
-
@future.child No problem man. And I'm serious, if it's possible, your updates should be part of the official package. I'm all the way up through Meteorites on the official 5200 library testing and everything is working great. Everybody who goes through the trouble of adding this emulator to their setup should benefit from your upgrades.
I still think it might be nice to put 4 and 5 on the thumb buttons that we're not using, but other than that I can't see any other things.
I'm assuming that there is no way that anybody could fix the controller sensitivity on this emulator, right? I don't see any options for it in the emulator. Here's a list of games that there are problems with that: Castle Crisis, Centepede, Galaxian, Kaboom!, Missile Command, Pole Position, RealSports Tennis, Super Breakout.
There are also some issues with Pengo and Quest for Quintana Roo. I'll have to go back to them and let you know what they were. I can't remember and I didn't put it in the notes. I'll update this post if you haven't replied.
EDIT1: Yeah... I'd LOVE to see 4 and 5 added. I just played to level 3 of Miner 2049er and there are 4 elevators and you use numpad 1-4 for them. I believe that this is the highest the numbers in that game go until the 10th level. I only ever got there a few times when I was a kid, so I don't think a lot of people would get that far. I'd just have to mention to my brother that if he gets to the last level he better have a keyboard.
EDIT 2: Pengo, Pole Position, Galaxian.... Somebody I know who worked on the XBox fixed these but had this to say about the Atari800 emu: This is due to the games incorrectly detecting the presence of a trackball and switching into trackball mode. Galaxian has the same problem I t hink, but it's not as noticeable. It is a problem with the atari800 core. (The problem with Galaxian is that sometimes when you start a new game the controls are all messed up until you die once. You have to reboot and keep your fingers crossed, or just wait till you die 3 times and start a new game).
EDIT3: Nevermind about Quest for Quintana Roo. Any game programmed lousy enough to need 6 buttons to do basic functions is just going into my list of non-working games in that category along with RealSports Football and Space Shuttle.
-
@Used2BeRX I'll add numerical 4 and 5 and map them to left and right thumb.
As for the controller sensitivity, the analog sticks have a range from -32767 to 32767, where 0 is center position.
The emulator is written so that dead zone is -10000 to 10000 (or about 1 third) and ignored.If your center is off more than 10000 your controller requires calibration or is defective.
can you post the results of : jstest /dev/input/js0If any axis is above or below 10000 it will register as movement in the emulator, i have not found a way to calibrate controllers within retropie (but then again haven't been looking very hard either).
-
@future.child Thanks for adding 4 and 5. (You don't think anything would change where I should re-test all the games, do you? I'm just about done re-testing all the 5200 games now).
You're talking over my dumb head now with the sensitivity stuff. I can actually control all of the games, as in things move the direction I want them to move and nothing automatically pulls in any direction, so my controller should be fine. It's just way too sensitive, so none of the games I listed are actually playable.
Any ideas about the trackball issue thing for Pengo, Pole Position and Galaxian?
-
@Used2BeRX when you say too sensitive, you mean you want a larger dead zone ?
I think i can add a config parameter which allows for a dead zone of 2 thirds instead of the default 1 third. -
@future.child It's hard to explain.... let me give a few examples by game.
Missile Command - Pretty much any direction you press the cursor is immediately at the edge of the screen in that direction. You are unable to slowly move the cursor anywhere in the middle of the screen.
Super Breakout/Kaboom! - Same thing pretty much, except it's only on the horizontal axis. You're almost immediately left or right whichever way you press the joystick.
Centipede - The only game in the whole bunch that could be considered barely semi-playable. You can go all directions like Missile command, but at least it's a little slower so you can see the movement instead of the immediate cursor to the end of the screen movement like in Missile Command.
EDITED TO ADD: Just FYI, I've completed testing on the official 5200 games and there are no issues other than the ones we had before that I've already mentioned. So good news is you didn't break anything.... at least on the 5200 :)
EDIT2: BTW... did you notice this thread I made? https://retropie.org.uk/forum/topic/10406/making-premade-gamelist-xml-with-xtra-media-collections/5
I put a release for the 7800 with a preconfigured XML and tons of artwork and videos and other Xtras. I'm going to put one together for the 5200 as well when we're done here and I'm finished testing games. (No Roms/bios included). I'll have datfiles in them to build a romlist that will work with the setup, although for the 5200 you'd need to rename them by hand likely because all of my roms were headered to automatically run with Allitra.
Not sure if you know anything about scripting XML stuff, but you seem handy with code. If you could help automate the process for me I could start working on larger systems like the NES and SNES. (Read the thread if you're interested)
-
@Used2BeRX The new version has been uploaded with numerical 4 and 5 support.
Same installation procedure, new config parameters:SDL_JOY_0_DIGIT_4=10 SDL_JOY_0_DIGIT_5=11
As for testing: if it works in one rom it will work for other roms as well, so no need to test them all, just pick a few at random.
For the sensitivity problem, I get your point, the cursor movement is way too fast for gameplay.
I have no real experience with the 5200 (i was a 800xl kid back then).
Was missile command playable with digital joystick or did it need analog input (trackball, mouse, analog joystick) ?
I think the 5200 had a digital joystick, but am not sure.
On the 800xl missile command is well playable with digital controller.I do not think this is easily fixed, i will dig deeper in the code and see what i can do.
In the meantime you can map a mouse input to joystick1 to have it playable.Edit: I just found out the 5200 had analog joysticks, this emulator uses a mouse as input for this.
I think it will be quite difficult to have native analog controls.
I'll keep digging in the code too see if it can be done, don't hold your breath as it may take a while (if ever). -
@future.child The 5200 was actually an analog controller. I think it might have been one of the first. It was horribly designed, and I remember when they stopped selling them my dad had to buy an entire new system when our controllers broke. Then those broke as well and we never got to play it again.
You had to ask about the one game of the list that I didn't have though, huh? :) I never played Missile Command on the 5200. All of the others I had though, and they all played fine with the standard controller. I'm assuming that it did work though, since you asked about an analog controller and the 5200 controllers were analog.
I appreciate you looking into it. :)
EDIT: Beautiful add again. 4 and 5 work. Just breezed through the 3rd level of Miner 2049er with it. :)
I was going to say that either I've gotten a lot better at games or playing this without the 5200 controllers is just so much easier, but then I took the radioactive drink right above where you start in the 5th level and felt like an idiot.
-
@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.
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.