Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons
-
@mediamogul Thanks man. I knew where the launch commands are set, but the per-game info is exactly what I was looking for :)
So it looks like that's based off of some sort of Hash value then? If that's the case I will definately have to make instructions for how to set up each game the first time for the special controls instead of using the standard Atari 5200 configruation. The good news though is that it doesn't matter where the rom is located. I'm assuming that I could move these to different folders now and they would still launch with the configuration I set for them.
-
@future.child & @Used2BeRX Sweet! Those key combinations work like they suppose to. Updated binary all good. Found typo in emulators.cfg for XL (missed one folder in the path where atari800.cfg sits). Got XL working fine with trigger, start and select mapped to the joypad and still using dedicated config file.
One more question, how use d-pad for directions if I want to? And what's the meaning of numbers next to SDL_JOY_0_LEFT, RIGHT, UP, DOWN and TRIGGER? Is it analog value? Also on the slightly unrelated subject, do anyone of you guys have issues with audio being lagging and very choppy? I've tried different sound settings inside emulator but no matter what it is choppy. Increasing latency seems to work but only for a while before sound becomes choppy again. I have tested libretro with Atari800 core and audio plays nicely.
-
@adriansos666 to use the d-pad you would have to disable true analog (set TRUE_ANALOG_JOYSTICK=0 in your config).
This is because the analog joystick sends continous analog values, so when d-pad is used the emulator could receive two different values.The numbers next to SDL_JOY_0_LEFT, RIGHT, UP, DOWN and TRIGGER are sdl keycodes, these are used to map keyboard keys to joystick input.
As for sound, i have not noticed stuttering (analog jack, overclocked pi3).
What setup do you have, maybe i can replicate the issue and find the cause, or better yet a solution.
Possibly because there have been added some new routines for joystick there is a timing issue.
Did you try lowering the sample rate or play with other sound setting in the emulator menu ? -
@adriansos666 I am running a Pi Zero that I clocked to 1000mhz (not overclocked, but it comes at only 700mhz by default). I don't have any issues with sound or laggy behavior in Atari 5200.
-
@future.child * and # don't seem to be responsive to change the players or difficulty in Kangaroo. I won't mention that type of stuff in here anymore. I will put it in the Notes section of the spreadsheet and highlight it in red. There may be more that I've missed so far. I will be testing all of this thouroughly when the emu is ready and I start making the different game configs.
-
@Used2BeRX this makes two roms unresponsive to asterix and hash input.
I will dig up a servicemanual and see if i can find a clue (maybe the trackball uses a diferent codes for these than regular joystick does ?).Anyway, it seems i already mapped digit 0, i just seem to have forgotten to update the readme and sample config.
I will add the pause button somewhere tomorrow and post an update. -
@future.child Sounds good. I may not find any more problems until I actually test the controls once the Start Button is implemented and I make the individual game configs. I just got lucky finding that one on Kangaroo. I'm hoping it doesn't happen much, but I'll let you know when I find them.
I'm about halfway through the mapping in the spreadsheet for the official 5200 releases. I'll probably map out the 800 to 5200 conversion carts I had as well as prototypes and self-published games as well.
-
@future.child Tried to use TRUE_ANALOG_JOYSTICK=0 but it still uses analog controller instead of d-pad. I didn't map d-pad buttons to anything in my XL config.
I have had audio issues also with "stock" Atari800 emulator that comes with RetroPie (not just binary I got from you). I appreciate help. I googled about the issue but couldn't find anything. I'm using non-overclocked Pi3 with 768/256 memory split (RetroPie 4.2.3). Emulator when runs uses about 20% of CPU. I'm loading roms from USB stick rather than a SD card, but doubt this would have cause this issue.
I'll try to make another SD card with RetroPie and just test it with Atari800 emulator. I'll also try on another Pi3 and if still have issue, then will open another topic.
-
@adriansos666 Does the d-pad do anything for you ?
You do not have to map it, as the hat-directions should be picked up automatically.
You could try to set JOY_SPEED_ADJUST=11 as well as TRUE_ANALOG_JOYSTICK=0.With TRUE_ANALOG_JOYSTICK=0 you do not disable the analog stick, it just sets the stick to digital mode.
@adriansos666 I use a ps3 clone controller and my home button toggles between two d-pad modes, only one of these two work for me.
Maybe the original ps3 controller does the same ?Could you also do a jstest to see how and what values the d-pad sends if your controller does not have this d-pad toggle function
is your audio output hdmi or analog jack ?
If you load only roms from usb it should be no problem i think, but am not 100% sure.
you could test it with a single rom loaded from the sd-card just to be sure. -
@adriansos666 I have an idea about the DPad not working. Do you have CFG_SAVE_ON_EXIT=0 ?
Try putting that to CFG_SAVE_ON_EXIT=1 and load a game, then exit the game and change it back to "0".
Try another game then let us know.
-
@mediamogul said in Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons:
The individual launch commands are located in
/opt/retropie/configs/atari800/emulators.cfg
and/opt/retropie/configs/atari5200/emulators.cfg
. However, the per-game preferences for those launch commands are located in/opt/retropie/all/emulators.cfg
.Would you, or future.child have an idea about creating a file that would internalize the configurations for the 5200/800 games rather than putting them in the "/opt/retropie/all/emulators.cfg" file? We're going to be making that file VERY crowded with at least 100 new lines, and that's assuming that people don't work on Atari 800 game configurations in the future. Doesn't seem right mucking that multi-emulator file up with Atari 5200 configuration lines.
-
@Used2BeRX I tried using both 5200 and XL configs. Here are my results (in both cases TRUE_ANALOG_JOYSTICK=0 and CFG_SAVE_ON_EXIT=1):
5200: Couldn't use neither analog or d-pad to move.
XL: Analog still have worked.One thing I have noticed is that two new lines were added to the end of configs when exited emulator (btw. what are those for?):
SDL_JOY_0_INDEX=0
SDL_JOY_0_INDEX=1and JOY_SPEED_ADJUST=11 entry was duplicated.
And here's another problem. I've restored 5200 config from backup and I still can't move with either analog or d-pad.
-
@future.child I see, so any analog value for used axis is considered as Atari joystick pressed in that direction. My is original PS3 controller. I have mapped button 16 as OPTION (which is home button on my pad). I'll see if I remove mapping I can toggle d-pad modes. Also, I've left all SDL_JOY_0_DIGIT entries blank (since I didn't play with them yet). I've noticed when playing with save config on exit, emulator have assigned value 0 to all those entries (and 0 is actually SELECT button on my PS3 pad). Is it a possible problem if those are left blank (I assume having multiple entries with same button assigned is no good)?
I'm using HDMI for audio. No audio issues with other emulators or Kodi. As a matter of fact, I've lcompiled Atari800 for libretro and that module plays audio without any hiccups.
I'll build RPie on spare card tomorrow and test it with roms directly on it.
-
adriansos666 I wanted you to try CFG_SAVE_ON_EXIT=1 so the emulator could add any fields you were missing. Now you need to change it back to "0". Once you change it to "0", also delete the extra JOY_SPEED_ADJUST line. If they are different, make sure you delete the old one and not the one that the emulator added. I'm thinking that it added a second line because something was wrong with the first line. Once you do these things, try to play a game again and tell me what happens.
Let's just focus on 5200 for now to not confuse things. I don't do anything at all with XL.
EDIT: I'm not sure what those two lines do. You'd have to ask future.child. They're probably necessary for something if the emulator added them. They weren't being added before because you had the save CFG on exit off.
-
@Used2BeRX OK, I'm back in business. Analog stick works again. I regenerated config for 5200 (for giggles I've removed completely JOY_SPEED_ADJUST line. Emulator created two entries with same values, after I exited it (with CFG_SAVE_ON_EXIT=1).
@future-child It doesn't look like Home button does anything for d-pad on the original PS3 pad.
-
I'm assuming that I could move these to different folders now and they would still launch with the configuration I set for them.
As long as Emulation Station can find and list the files for the system in question, all of the inherent runcommand features will carry over.
Would you, or future.child have an idea about creating a file that would internalize the configurations for the 5200/800 games rather than putting them in the "/opt/retropie/all/emulators.cfg" file?
An additional runcommand variable that could dynamically use a per-game configuration file would seem ideal, but nothing like that currently exists. I do something similar to what you're looking to do with AdvanceMAME to where the ROM directory location in the configuration file is dynamically changed using
sed
depending on where the ROM is launched from. I imagine you could adapt the same idea to dynamically change other settings in the Atari800 config file depending on the ROM name.For reference, my launch command is:
advmame-rompath = "/opt/retropie/configs/mame-advmame/advmame-rompath.sh %ROM%"
and as you see there, it in turn launches this script:
#!/bin/bash path1="/home/pi/RetroPie/roms/mame-advmame/roms/ADVMAME\ ROMs:/home/pi/RetroPie/roms/arcade/advmame" path2=$(dirname "$1") basename=$(basename "$1" .zip) sed -i "s+.*dir_rom.*+dir_rom $path2+" /opt/retropie/configs/mame-advmame/advmame.rc /opt/retropie/emulators/advmame/bin/advmame $basename ; sed -i "s+.*dir_rom.*+dir_rom $path1+" /opt/retropie/configs/mame-advmame/advmame.rc
-
@mediamogul It's going to take me a while to wrap my head around that, but thanks for the info. I'm a Linux Dummy 100%, so I really don't know what that all is. Maybe future.child can figure out a way to dummy proof this process for me.
In any event, I do believe we need to keep this out of that other emulators.cfg file, otherwise the 5200/800 emulator is going to make that a mess with all of these controller configs having a different launch value.
-
@future.child Hey man. I finished the Official 5200 releases and all of the games I plan to make configs for that were homebrew and prototypes. I'm starting on the Atari 800 to 5200 cart conversions I have, but I don't know how far I'll get on that tonight.
I had some questions for you that I didn't want to see buried under conversations here, so I put them in a separate tab in the spreadsheet for you to see. Looking forward to what we're going to make with this man. I think it's going to be awesome. :)
Here's the spreadsheet again so you don't have to look for the link: https://docs.google.com/spreadsheets/d/1VhS4f3RFCzkPeOpyVYaWno3-Ls0EjJnj_I9WjKfvnuI/edit#gid=110763209
EDIT: FYI.... I was wrong. If you move the roms from their folder to another folder you lose the alternate launch if you made one. That's also going to make things a pain in the rear when it comes to making configs. It looks like that identifier alphanumeric mess that is created for the game must not only refer to the rom itself but also the exact location it was launched from.
I'm referring to the file: /opt/retropie/configs/all/emulators.cfg
And this garbage inside of it after you launch alternate configurations:
ade42d4c91f82b6d2c68187a44420a610 = "lr-armsnes" ab79ba68f0bb293f98de08920439b7fc3 = "lr-mame2003" a2a349512be8f7c1c9c4449a010ae337a = "lr-fbalpha" a29620dd54f931ff653a35142e94348cc = "lr-mame2003" ab26fe5f98d3893fc5da7fcebad131493 = "lr-mame2003" a3e6d51fe429f8c609d7c6bd331b43812 = "lr-fbalpha" ab7a3c6209326e3979d3197c697ad1c3c = "lr-fbalpha" abdc0d3f26fa30be265846d2c76e8c458 = "lr-beetle-lynx" ab1e8faba6f907f3153f5ae0c849d49ca = "lr-beetle-lynx" a16822aadacd80d132104a2a94fa94ac0 = "lr-beetle-lynx" ac885e02326e8a2ed8a04f88ef5107edd = "lr-beetle-lynx" a92fa8e44f583f8c3a1a243354f92e880 = "atari800" a728a3abf386eb84b653c98a5d0ccde0d = "atari5200" ae78dae3d2dde5fa33fd77738ca7bdb4a = "atari800" ab345529127676780018416c85ef60426 = "atari800" acd0bc5cb04700a362657aaf8275016d1 = "Centipede" aaa39765ab7c27f346fd0c40bf1a25145 = "SuperBreakout" a9512da1769625ec55f4250a1553670bc = "atari5200" a256ea564743fd73b62647b233cf1c3b2 = "RealSportsTennis" af87b8b2129811211ab603ffa406bb807 = "CastleCrisis" adf1fa698d274505862dc13a9ef11ed4e = "MissileCommand" a46d7eb4a8d6b23d831069d4ccdb061a7 = "Galaxian" af0d99257c4c0e462d055608ef0c39462 = "Pengo" abce23453b461bfc94b43ed6588529649 = "PolePosition"
-
@Used2BeRX I do not have write permissions to the sheet, so i ill answer here:
Could we map RESET as well as PAUSE?
Reset is implemented already (SELECT + #), pause will arrive later today.Loading configs without messing with all\emulators.cfg ?
It could be done mediamogul's way by calling a script which, based on the %ROM% variable, chooses (or edits) the config-file and launches the emulator with it.
This method requires the presence of roms with predictable names, but so does the all\emulators.cfg approach.B.t.w. The "garbage" in the all/emulators.cfg file is a hash value, presumably based on at least the full rom path and name.
-
@future.child You already have the Atari 5200 joystick RESET button mapped? I didn't see it. There was a PAUSE, START and RESET button at the top of the controller.
I really don't know anything about scripting, so I wouldn't be able to do anything about the launcher on my own.
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.