RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons

    Scheduled Pinned Locked Moved Ideas and Development
    409 Posts 26 Posters 178.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Used2BeRXU
      Used2BeRX
      last edited by Used2BeRX

      If you use a program called Altirra and load your 5200 roms, you can then save them with a header that will designate how the Pi emulator should load the game. Then if you remove the part of the emulators.cfg file that references cart type 4 and load the games normally they will all load without that screen asking you what type of cart the game is. :)

      I would share mine, but without even reading the rules here I'm sure that's not allowed. It's really easy once you figure it out, and it doesn't take all that long since the 5200 library is so small.

      I could post instructions on how to do this if anyone is interested.

      W 1 Reply Last reply Reply Quote 0
      • Used2BeRXU
        Used2BeRX
        last edited by

        Could somebody explain to me how the Robotron controls are supposed to work? I've got everything else working now, but the Robotron controls do not function for Robotron or Space Dungeon. Thanks!

        future.childF 1 Reply Last reply Reply Quote 0
        • future.childF
          future.child @Used2BeRX
          last edited by future.child

          @Used2BeRX Robotron:2084 uses a two-joystick control scheme; player 1 joystick controls the on-screen character's movement, while player 2 controls the direction the character's weapon fires.

          It would take a fair amount of changes to the emulator to be able to remap the additional controller1 axis (ie thumb-right) to player2 controlls (plus it would be hardly fair in a two player game, as player 1 would be able to interfere with player 2).

          My advise would be to use either two joysticks, use the keyboard as input, or combine joystick and keyboard.

          Used2BeRXU 1 Reply Last reply Reply Quote 0
          • W
            weirdocollector @Used2BeRX
            last edited by

            @Used2BeRX said in Atari 5200: New version of Atari800 (Beta): two triggers (Moon Patrol!!!), hat start and exit buttons:

            If you use a program called Altirra and load your 5200 roms, you can then save them with a header that will designate how the Pi emulator should load the game. Then if you remove the part of the emulators.cfg file that references cart type 4 and load the games normally they will all load without that screen asking you what type of cart the game is. :)

            I would share mine, but without even reading the rules here I'm sure that's not allowed. It's really easy once you figure it out, and it doesn't take all that long since the 5200 library is so small.

            I could post instructions on how to do this if anyone is interested.

            Yes please!

            I'm interested :)

            Thanks in advance.

            Used2BeRXU 1 Reply Last reply Reply Quote 0
            • Used2BeRXU
              Used2BeRX @weirdocollector
              last edited by

              @weirdocollector No problem man. I went ahead and made a separate thread for it. You can find it here: https://retropie.org.uk/forum/topic/10337/making-headers-on-your-atari-5200-game-images-to-auto-run-in-retropie

              Let me know if you have any problems with the instructions or if I could clear anything up with it.

              Cheers

              1 Reply Last reply Reply Quote 0
              • Used2BeRXU
                Used2BeRX @future.child
                last edited by

                @future.child Hey.... Did nobody ever get it working then? The OP of this thread at one point said that he put in maps that made the 2nd player joystick operate on your right joystick so you would be able to play Robotron 2084 or Space Duel with a single controller. That was something he said that he had updated with this about midway through this discussion. It didn't work for you either, huh?

                future.childF 1 Reply Last reply Reply Quote 0
                • future.childF
                  future.child @Used2BeRX
                  last edited by

                  @Used2BeRX I must have missed the 2nd player part .
                  I'll have a look at the code @jfroco made, to see if i get it working for me (and let you know what i did to do so).

                  Used2BeRXU 1 Reply Last reply Reply Quote 0
                  • Used2BeRXU
                    Used2BeRX @future.child
                    last edited by

                    @future.child Thanks for looking into that. I'm a code dummy so I never would have figured it out. Not sure if you'd be interested, but I posted that guide to putting headers on your 5200 roms so they load automatically. Worth doing if you play the system more than once or twice.

                    1 Reply Last reply Reply Quote 0
                    • future.childF
                      future.child
                      last edited by

                      As far as i can tell something is indeed wrong in joystick handing or enumeration.

                      When having two controllers connected, the first controller's second axis also controlls player two.
                      When having only one controller connected the second axis data is discarded.

                      I'll see if i can fix this (note, I'm no code hero).

                      1 Reply Last reply Reply Quote 0
                      • Used2BeRXU
                        Used2BeRX
                        last edited by

                        Sounds good. Keeping my fingers crossed. Maybe we can figure out why I couldn't get your update running as well. I had to revert to the OP's update. When I tried loading a game with your version it would just kick me back to the romlist. I wasn't going to do Atari 800 on the Pi, but I've spent today making headers for about 150 Atari 800 images so they auto-load like the 5200 carts. Would probably be wise for me to get your upgrade installed too. :)

                        1 Reply Last reply Reply Quote 0
                        • future.childF
                          future.child
                          last edited by future.child

                          @Used2BeRX I have updated my version to prevent discarding of 2nd axis data when not having two joysticks.
                          As far as i can tell 2nd axis now works as intended.

                          as for not being able to run my binary, i can't really say what's going on on your system without additional info.
                          The binaries should be interchangeable between jfroco's and mine (compiled on a raspberry pi 3).

                          Did you install using the following procedure ?

                          cd /opt/retropie/emulators/atari800/bin/
                          sudo cp atari800 atari800.original
                          sudo wget https://github.com/futurechild/atari800-rpi/blob/master/atari800?raw=true -O atari800
                          sudo chmod +x atari800
                          

                          I myself use the following emulators.cfg

                          atari800

                          atari800 = "/opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                          default = "atari800" 
                          

                          atari5200

                          atari5200="echo %ROM: -\ % > /dev/null;/opt/retropie/emulators/atari800/bin/atari800 -config /opt/retropie/configs/atari5200/atari5200.cfg -cart %ROM%" 
                          default = "atari5200"
                          atari800 = "/opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                          

                          and have the following config files:

                          atari800.cfg

                          Atari 800 Emulator, Version 3.1.0
                          ROM_OS_A_PAL=/home/pi/RetroPie/BIOS/ATARIOSA.ROM
                          ROM_OS_BB01R2=/home/pi/RetroPie/BIOS/ATARIXL.ROM
                          ROM_5200=/home/pi/RetroPie/BIOS/5200.ROM
                          ROM_BASIC_C=/home/pi/RetroPie/BIOS/ATARIBAS.ROM
                          ROM_400/800_CUSTOM=/home/pi/RetroPie/BIOS/ATARIOSB.ROM
                          OS_400/800_VERSION=AUTO
                          OS_XL/XE_VERSION=AUTO
                          OS_5200_VERSION=AUTO
                          BASIC_VERSION=AUTO
                          XEGS_GAME_VERSION=AUTO
                          ATARI_FILES_DIR=/home/pi/RetroPie/BIOS
                          HD_READ_ONLY=1
                          PRINT_COMMAND=lpr %s
                          SCREEN_REFRESH_RATIO=1
                          MACHINE_TYPE=Atari XL/XE
                          RAM_SIZE=64
                          DEFAULT_TV_MODE=PAL
                          MOSAIC_RAM_NUM_BANKS=0
                          AXLON_RAM_NUM_BANKS=0
                          ENABLE_MAPRAM=1
                          DISABLE_BASIC=1
                          ENABLE_SIO_PATCH=1
                          ENABLE_H_PATCH=1
                          ENABLE_P_PATCH=1
                          ENABLE_NEW_POKEY=1
                          STEREO_POKEY=0
                          SPEAKER_SOUND=1
                          BUILTIN_BASIC=1
                          KEYBOARD_LEDS=0
                          F_KEYS=0
                          BUILTIN_GAME=0
                          KEYBOARD_DETACHED=0
                          1200XL_JUMPER=0
                          CFG_SAVE_ON_EXIT=0
                          CARTRIDGE_TYPE=0
                          CARTRIDGE_PIGGYBACK_TYPE=0
                          CARTRIDGE_AUTOREBOOT=1
                          CASSETTE_LOADED=0
                          CASSETTE_WRITE_PROTECT=0
                          RTIME=1
                          COLOURS_NTSC_SATURATION=0
                          COLOURS_NTSC_CONTRAST=0
                          COLOURS_NTSC_BRIGHTNESS=0
                          COLOURS_NTSC_GAMMA=0.3
                          COLOURS_NTSC_HUE=0
                          COLOURS_NTSC_GTIA_DELAY=26.8
                          COLOURS_NTSC_EXTERNAL_PALETTE_LOADED=0
                          COLOURS_NTSC_ADJUST_EXTERNAL_PALETTE=0
                          COLOURS_PAL_SATURATION=0
                          COLOURS_PAL_CONTRAST=0
                          COLOURS_PAL_BRIGHTNESS=0
                          COLOURS_PAL_GAMMA=0.3
                          COLOURS_PAL_HUE=0
                          COLOURS_PAL_GTIA_DELAY=23.2
                          COLOURS_PAL_EXTERNAL_PALETTE=
                          COLOURS_PAL_EXTERNAL_PALETTE_LOADED=0
                          COLOURS_PAL_ADJUST_EXTERNAL_PALETTE=0
                          ARTIFACT_NTSC=NONE
                          ARTIFACT_PAL=NONE
                          ARTIFACT_NTSC_MODE=0
                          SCREEN_SHOW_SPEED=0
                          SCREEN_SHOW_IO_ACTIVITY=1
                          SCREEN_SHOW_IO_COUNTER=0
                          SCREEN_SHOW_1200XL_LEDS=1
                          SOUND_ENABLED=1
                          SOUND_RATE=44100
                          SOUND_BITS=16
                          SOUND_FRAG_FRAMES=0
                          SOUND_LATENCY=20
                          VIDEO_FILTERING=1
                          VIDEO_ZOOM=1.00
                          SDL_JOY_0_ENABLED=1
                          SDL_JOY_0_LEFT=276
                          SDL_JOY_0_RIGHT=275
                          SDL_JOY_0_UP=273
                          SDL_JOY_0_DOWN=274
                          SDL_JOY_0_TRIGGER=306
                          SDL_JOY_USE_HAT=1
                          SDL_JOY_0_SELECT=8
                          SDL_JOY_0_START=9
                          SDL_JOY_0_TRIGGER1=1
                          SDL_JOY_0_TRIGGER2=2
                          SDL_JOY_0_ASTERISK=0
                          SDL_JOY_0_HASH=4
                          SDL_JOY_0_OPTION=5
                          SDL_JOY_0_SECOND_AXIS=2
                          SDL_JOY_1_ENABLED=0
                          SDL_JOY_1_LEFT=97
                          SDL_JOY_1_RIGHT=100
                          SDL_JOY_1_UP=119
                          SDL_JOY_1_DOWN=115
                          SDL_JOY_1_TRIGGER=306
                          

                          atari5200.cfg has the following different settings:

                          MACHINE_TYPE=Atari XL/XE
                          RAM_SIZE=64
                          BUILTIN_BASIC=0
                          
                          1 Reply Last reply Reply Quote 0
                          • Used2BeRXU
                            Used2BeRX
                            last edited by

                            Hey bud,

                            First off, this time I was able to get your version to work. I don't know what I was doing wrong before. AWESOME to see you got the Robotron controls to work for that game and for Space Dungeon. Perfect.

                            I had a few questions though. I did not use your configuration, so I'm having the screen size issue that you guys figured out. The reason that I'm not using it is because I'm using the python script the OP had created and pointed to instead of the standard configuration file. Here's what my emulators.cfg file looks like:

                            atari800="/opt/retropie/emulators/atari800/bin/atari5200.py; /opt/retropie/emulators/atari800/bin/atari800 %ROM%"
                            default="atari800"

                            I'm not sure what is in that python script that your config doesn't have, but I figured you were using it since you built off of his setup. I'm going to see if I can add the screensize fix and your additional controller button for the Atari800 in the python script.

                            One thing I noticed is that when playing Ballblazer now, as I expected it would, you control both players now with the 1st player controller.

                            I was wondering if you could code this so it only steals the 2nd player control when loading Ballblazer or Space Dungeon, and also if you would be able to properly code the 2nd player controller so we have 2 player support. This is almost a perfect setup now.

                            Thanks so much for going back in there and fixing the Robotron controls. This is awesome. :)

                            1 Reply Last reply Reply Quote 0
                            • Used2BeRXU
                              Used2BeRX
                              last edited by Used2BeRX

                              Here's the text in the python script that I'm referencing (/opt/retropie/emulators/atari800/bin/atari5200.py):

                              https://pastebin.com/embed_js/hTQiFkxx

                              I still can't figure out how to post the black boxes, but you can click on the link to see the python script. At least it's not taking up 10 pages on this thread now. :)

                              mediamogulM 1 Reply Last reply Reply Quote 0
                              • mediamogulM
                                mediamogul Global Moderator @Used2BeRX
                                last edited by mediamogul

                                @Used2BeRX

                                I don't know why the code isn't showing up in the black boxes now.

                                https://retropie.org.uk/forum/topic/3/read-this-first

                                Format your posts! - put small logs in code blocks - see http://commonmark.org/help/ - and put large logs on a pastebin type site like http://paste.ubuntu.com/ http://pastebin.com/ or similar.

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                1 Reply Last reply Reply Quote 0
                                • Used2BeRXU
                                  Used2BeRX
                                  last edited by

                                  That's great. I'll try it out. I'm wondering why yesterday code was automatically put in black boxes for me and today it's not.

                                  mediamogulM 1 Reply Last reply Reply Quote 0
                                  • future.childF
                                    future.child
                                    last edited by

                                    @Used2BeRX As far as i can tell the python script makes adjustements to the /home/pi/.atari800.cfg file based on what joysticks are connected and configured in /opt/retropie/configs/all/retroarch-joypads/.cfg*.

                                    I do not use this python script myself, neither do i use the global configuration file.
                                    This is because i use different emulator settings per system/romlist.

                                    As for the 2 player suport, a newer version is on it's way, this is just a temporary (ugly) quick fix, i'm trying to figure out a more elegant way to do it (and have it auto disable when second controller is actually being used).

                                    Just to be sure there is no misunderstanding, with "properly code the 2nd player controller so we have 2 player support" , did you mean the first player now interferes with second player or 2 player does not work at all ?

                                    1 Reply Last reply Reply Quote 0
                                    • Used2BeRXU
                                      Used2BeRX
                                      last edited by Used2BeRX

                                      @future.child I actually don't have a 2nd controller yet, so I can't tell you if this code is interfering with the 2nd controller. I just noticed that when loading the 2 player only game Ballblazer that the left joystick controls the 1st player movement and the right joystick controls the 2nd player. I assumed that this would happen so it didn't surprise me.

                                      I'm really looking forward to your update. I'll have to get a 2nd USB controller to try it out when you get to that point.

                                      I'm going to try your setup without the python script. I'll let you know if I notice anything not working with it that was working before.

                                      BTW..... There are 2 games for the 5200 right now that you can't play without the keyboard attached. They are Beamrider and Congo Bongo. Both of these games require you to enter number of players (1-2) and Beamrider I believe asks also for skill level (1-4). Might be a good idea to map at least the 1+2 keys if possible. :)

                                      • This forum is no longer auto answering with @ either now. I don't know what's wrong. I'll have to reboot and see if that fixes these issues.
                                      future.childF 1 Reply Last reply Reply Quote 0
                                      • future.childF
                                        future.child @Used2BeRX
                                        last edited by

                                        @Used2BeRX I'll see if i can add digits 1-3 as well (Beamrider has 1-3 skill levels).

                                        auto answering works fine for me, you may want to clear your cache if reboot did not work.

                                        1 Reply Last reply Reply Quote 0
                                        • Used2BeRXU
                                          Used2BeRX
                                          last edited by Used2BeRX

                                          @future-child Sounds great man.
                                          I'm using your config now and I noticed that you don't have any of the "VIDEOMODE" lines in it. I still have the super small screen that's not stretched to full screen. Even when I add the VIDEOMODE lines in that should fix it, that doesn't sort the problem.

                                          FYI for ya... While messing around all of the sudden Joust worked for me when I was getting a black screen before. I just figured out it was because I changed the config file to NTSC mode instead of PAL mode. Nice! One of the best games on the system wasn't working for me before but works now.

                                          EDIT: Well..... no matter what I did to edit the configuration file manually, I could not get full screen. I decided to try it through the emulator itself by pressing Select+X. Going into Display Settings and then Video Mode Settings I turned "Fullscreen" to Yes and "Fullscreen Resolution" to 320x240 and now I have full screen again!

                                          Everything is looking good so far. I'm going to have to retest all the games now. I might wait until you update the 2nd player code first though so I don't have to re-test everything again.

                                          1 Reply Last reply Reply Quote 0
                                          • mediamogulM
                                            mediamogul Global Moderator @Used2BeRX
                                            last edited by

                                            @Used2BeRX

                                            I'm wondering why yesterday code was automatically put in black boxes for me and today it's not.

                                            It could be that a moderator formatted it. There's nothing that detects code automatically though.

                                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                            Used2BeRXU 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.