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.0k 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 @future.child
      last edited by Used2BeRX

      @future.child Well this is strange. I've got the gearshift working in Pole Position now, but Hash and Asterisk aren't working. They do work on the standard configuration for Robotron though.

      Here's my setup:

      Gas: CROSS (SDL_JOY_0_TRIGGER1=1)
      Brake: SQUARE (SDL_JOY_0_TRIGGER2=0)
      Lo Gear: L BUMPER (SDL_JOY_0_DIGIT_1=4)
      Hi Gear: R BUMPER (SDL_JOY_0_DIGIT_7=5)

      Here's the two that aren't working...
      SELECT RACE: TRIANGLE (SDL_JOY_0_ASTERISK=3)
      NUMBER OF LAPS: CIRCLE (SDL_JOY_0_HASH=2)


      EDIT: I'm wondering if the * and # keys are right. The manual at the site says they are, but I reverted back to the standard config for Pole Position, the same configuration file that those keys work with on Robotron 2084 and they don't do anything in Pole Position.

      Here's the whole file:

      Atari 800 Emulator, Version 3.1.0
      ROM_OS_A_NTSC=
      ROM_OS_A_PAL=/home/pi/RetroPie/BIOS/Atariosa.rom
      ROM_OS_B_NTSC=
      ROM_OS_AA00R10=
      ROM_OS_AA00R11=
      ROM_OS_BB00R1=
      ROM_OS_BB01R2=/home/pi/RetroPie/BIOS/ATARIXL.ROM
      ROM_OS_BB02R3=
      ROM_OS_BB02R3V4=
      ROM_OS_CC01R4=
      ROM_OS_BB01R3=
      ROM_OS_BB01R4=
      ROM_OS_BB01R59=
      ROM_OS_BB01R59A=
      ROM_5200=/home/pi/RetroPie/BIOS/atari5200.rom
      ROM_5200_A=
      ROM_BASIC_A=
      ROM_BASIC_B=
      ROM_BASIC_C=/home/pi/RetroPie/BIOS/ATARIBAS.ROM
      ROM_XEGAME=
      ROM_400/800_CUSTOM=/home/pi/RetroPie/BIOS/ATARIOSB.ROM
      ROM_XL/XE_CUSTOM=
      ROM_5200_CUSTOM=
      ROM_BASIC_CUSTOM=
      ROM_XEGAME_CUSTOM=
      OS_400/800_VERSION=AUTO
      OS_XL/XE_VERSION=AUTO
      OS_5200_VERSION=AUTO
      BASIC_VERSION=AUTO
      XEGS_GAME_VERSION=AUTO
      SAVED_FILES_DIR=/home/pi/RetroPie/SAVES/Atari5200
      H1_DIR=
      H2_DIR=
      H3_DIR=
      H4_DIR=
      HD_READ_ONLY=1
      PRINT_COMMAND=lpr %s
      SCREEN_REFRESH_RATIO=1
      MACHINE_TYPE=Atari 5200
      RAM_SIZE=16
      DEFAULT_TV_MODE=NTSC
      MOSAIC_RAM_NUM_BANKS=0
      AXLON_RAM_NUM_BANKS=0
      ENABLE_MAPRAM=0
      DISABLE_BASIC=1
      ENABLE_SIO_PATCH=1
      ENABLE_H_PATCH=1
      ENABLE_P_PATCH=0
      ENABLE_NEW_POKEY=1
      STEREO_POKEY=0
      SPEAKER_SOUND=1
      BUILTIN_BASIC=0
      KEYBOARD_LEDS=0
      F_KEYS=0
      BUILTIN_GAME=0
      KEYBOARD_DETACHED=0
      1200XL_JUMPER=0
      CFG_SAVE_ON_EXIT=0
      MIO_ROM=
      BLACK_BOX_ROM=
      XLD_D_ROM=
      XLD_V_ROM=
      CARTRIDGE_FILENAME=/home/pi/RetroPie/roms/atari5200/(1) Licensed/Pole Position.bin
      CARTRIDGE_TYPE=6
      CARTRIDGE_PIGGYBACK_FILENAME=
      CARTRIDGE_PIGGYBACK_TYPE=0
      CARTRIDGE_AUTOREBOOT=1
      CASSETTE_FILENAME=
      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=
      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_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
      SDL_JOY_0_SELECT=8
      SDL_JOY_0_START=9
      SDL_JOY_0_TRIGGER1=1
      SDL_JOY_0_TRIGGER2=0
      SDL_JOY_0_ASTERISK=3
      SDL_JOY_0_OPTION=13
      SDL_JOY_0_HASH=2
      SDL_JOY_0_SECOND_AXIS=2
      SDL_JOY_0_SECOND_AXIS_ENABLED=1
      SDL_JOY_0_DIGIT_1=4
      SDL_JOY_0_DIGIT_2=6
      SDL_JOY_0_DIGIT_3=7
      SDL_JOY_0_DIGIT_4=10
      SDL_JOY_0_DIGIT_5=11
      SDL_JOY_0_DIGIT_6=12
      SDL_JOY_0_DIGIT_7=5
      SDL_JOY_0_DIGIT_8=14
      SDL_JOY_0_DIGIT_9=15
      SDL_JOY_0_DIGIT_0=16
      SDL_JOY_0_INDEX=0
      SDL_JOY_1_INDEX=1
      JOY_SPEED_ADJUST=01
      TRUE_ANALOG_JOYSTICK=1
      
      A 1 Reply Last reply Reply Quote 0
      • future.childF
        future.child
        last edited by future.child

        @Used2BeRX According to pete's test cartridge with your config all buttons produce the correct output.
        I did notice two parameters (SDL_JOY_0_TRIGGER1=1 and SDL_JOY_1_TRIGGER=306) which afaik do the same thing but are mapped to different buttons, maybe this interferes somehow as trigger is mapped to both button 1 and sdl 306.

        Perhaps in a future version i will change the code for this if needed so only one is used.

        What happens in pole position when you use keyboard * and # ?

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

          @future.child I don't think the TRIGGER thing is a problem. At least it hasn't caused me any problems at all in any of my testing to this point. In fact, other than the Select and Start button, it is probably the only button on the joystick that I've never changed at all.

          That is a good question about what happens when I use the keyboard * and #. Sadly, I don't have an answer for you. The only USB keyboard I have is one I got for using on the XBox years ago that is a mini-keyboard that doesn't have a numpad. I tried to hold shift and hit the top-row number keys but they didn't do anything. Of course that means nothing. Any chance you could try that on your end? If not I'm sure I can figure something out but it might take me a few days.

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

            @Used2BeRX Disregard the remark about the two parameters, the sdl one is for keyboard joystick.

            Both Asterix and Hash do nothing for me either in pole position (btw the numpad does not have a hash key).

            Edit: Neither the original atari800 emulator nor kat5200 on both retropie and windows do anything with asterix and hash in pole position for me.

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

              @future.child At least we got the same results. :)

              That manual you're looking at... Is it the text document? I'm thinking somebody made a mistake on it. I'll have to look around and see if I can find a PDF or alternate instructions. Maybe whoever wrote that just guessed at those two since they often were the keys used for similar pre-game options.

              EDIT: Nope. I found a manual I can post here. http://www.gamesdatabase.org/Media/SYSTEM/Atari_5200//Manual/formated/Pole_Position_-1983-_Atari.pdf

              Those keys should be good. WTF, right?

              EDIT2: You don't think it might have something to do with using True Analog and/or the fact this is one of the few games that default to Trackball, do you? I've got a couple of ideas for testing. I'll get back to you on them when I'm done.

              EDIT3: Well... that didn't prove anything. I tried turning on True Analog for Pengo again and the Hash still works in Pengo with it turned on. I was wondering if possibly the Trackball was maybe fighting with the dual stick code for 1 player or something, but no... the hash does work on Pengo with True Analog turned on and only one joystick plugged in. I'm out of ideas.

              EDIT4: What I noticed while playing Pengo though is that Pengo uses the "0" key to change players, so configured as-is you need to have the USB keyboard to change the number of players. I think what I'm going to do today is make a "Map" of functions for the joystick and start going through the Atari 5200 games 1 by 1 with the manuals so the same keys will do the same things on all of the games.

              Could you tell me where the emulator saves the information when you select an alternate emulator to launch in the emulators.cfg file? I want to know how RetroPie knows to use a different emulator automatically after you've made that alternate choice in the game loading menu.

              EDIT5: BTW... could you program it so you can map the "PAUSE" button on the controller? I forgot about that. I believe the 5200 was the first console system in history that had the ability to pause the game.

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

                @Used2BeRX I'm starting to think it is a bug in the rom (or dump of it) or every emulator around has the same flaw.
                I can not get the asterix nor hash input for pole position on any of the emulators i have tried.

                Since pole position reacts to 7 and 1 for gear shift it would be in trackball mode, maybe trackball sends another value for asterix and hash than a keyboard would ?

                For pengo, Digit_0 will be added in the next release, it is the only button not yet mapped from the a5200 joystick, may as well get that one too.

                As for pause, it is an option to add it, it's just as easy as the digits, but since you can press start + shift to enter emulator menu it would be unnecessary as entering the menu also pauses the game.
                I'll add it just for accuracy's sake.

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

                  @future.child I'll try something else with Pole Position. You gave me an idea to test out. I'll let you know more after I did it.

                  I didn't even realize that 0 wasn't added yet. Thanks for adding it. Thanks for adding the Start button too. For PS3/4 controllers I'm going to configure the Home Button to use it.

                  I'm starting a spreadsheet for the re-mapping and I'm going to use the manuals to get all of the buttons for games. I will send you a link to it when I get the ball rolling.

                  EDIT: What does "SDL_JOY_0_SELECT=" actually map to?

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

                    @Used2BeRX "SDL_JOY_0_SELECT=" maps to the select button found on the atari 400/800(xl)'s.
                    I assume you meant pause button, as start was already mapped ?

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

                      @future.child No... I was talking about the "SELECT". It's mapped to every one of my games in the 5200 but it dawned on me that there was no select button. I assumed it was an 800 thing, but just wanted to verify.

                      Could you try Bounty Bob Strikes Back! I've tried a few other games and the controls are good with the standard configuration but for some reason I can't move "left" or "up" with Bounty Bob on either the DPad or the Left Analog stick.

                      1 Reply Last reply Reply Quote 0
                      • A
                        adriansos666 @Used2BeRX
                        last edited by

                        @Used2BeRX Thanks for working on it and also for hints on how to save carts with headers with Altirra. So I did play little with it and got few questions (some of them are in regards to XL so I understand if you don't care to answer them since your work is focused mainly on 5200):

                        1. Your example joypad key values are for PS3 pad -right? Why those values would be different than mine if I use same joypad?

                        2. I ran jstest and wrote down my PS3 pad key values. Used them in the config and I'm able to start game in 5200 with what I've mapped to the START button and exit emulator with SELECT + START. For some reason this doesn't work when I play 800XL games (I have separate atari.conf file which I use when starting XL games, but SDL_JOY_0 entries are same as in my config for 5200). I can exit emulator with L2+R2, but can't start game with neither. Also in XL mode, fire works when I press R3 which is not even mapped to anything in my XL config.

                        3. I saw somewhere in this post being mention that emulator menu can be accessed with on of the joypad buttons. How to do that?

                        If that control scheme could be used for XL games that would be wonderful. Games like Cave Lord, Spy Hunter and Druid use some of the functions of the 2nd Atari controller so it would be cool to map them to the 1st player joypad.

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

                          @Used2BeRX The SELECT button is native to the 400/800(xl) but was not present on the 5200.
                          The reason you should leave it mapped though is because it serves as hotkey:
                          SELECT + START to exit emulator
                          SELECT + * : Emulator Menu
                          SELECT + # : Reset

                          I have tested BBSB and directional did work with setting JOY_SPEED_ADJUST=11 (completely disabling adjustment) with Analog controls.
                          Probably the game was developed with digital input in mind.

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

                            @adriansos666

                            For questions 1 and 2:
                            Do you have my latest release ?
                            I updated it yesterday due to a bug not accepting the new mappings over hard-coded ones.

                            Further, do you have in your emulators.cfg specified where your config file is ?
                            If not the emulator may use the default path ($HOME/.atari800.conf).

                            For question 3:
                            SELECT + START to exit emulator
                            SELECT + * : Emulator Menu
                            SELECT + # : Reset

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

                              @future.child Thanks for reminding me about the hotkey on the Select. I forgot about that. Doh!

                              You were right about the digital input on BBSB as well. I changed the default cfg to 11 for joy speed and that did the trick. Not sure if there were other games affected by this as well.

                              I'm actually going to be making configurations for every game now, and the mappings will be on the spreadsheet. I'll post it now so you can peek in on the progress, but know that it's in the very early stages now and I have to "fix" all of the games I did so far for the SELECT button to work. I haven't actually made any configs yet. This is just a preliminary map for when I do.

                              https://docs.google.com/spreadsheets/d/1VhS4f3RFCzkPeOpyVYaWno3-Ls0EjJnj_I9WjKfvnuI/edit?usp=sharing

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

                                This is long overdue, but I'm going to move this thread to 'Ideas and Development', which is better suited for this topic. On a personal note, I use this emulator a lot and it's great to see it getting so much attention here.

                                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
                                • Used2BeRXU
                                  Used2BeRX @adriansos666
                                  last edited by

                                  @adriansos666 Yes, the values are for a PS3/4 joystick. It is an off brand one though, so it's possible that the maps aren't perfect because of that. I haven't tested on a legitimate PS3/4 joystick to compare. You might be using one of the configs I had posted specifically for a game so they would be off from the default in that case.

                                  I would follow future.child's advice about your questions. I don't want to confuse things by chiming in with wrong information.

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

                                    @mediamogul Hey man. I'm happy to help. This was one of my consoles when I was a kid and it always gets overlooked. :)

                                    Maybe you know the answer to this question. When you set a game to use an alternate emulator on launch, where does that information get saved that automatically launches it in the future? I'm going to be making separate configs for every game so there are going to be a lot of lines added to emulators.cfg for the 5200. I wanted to know more about this, and knowing where that info is saved is something I need to know.

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

                                      @Used2BeRX

                                      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/configs/all/emulators.cfg.

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

                                      Used2BeRXU 3 Replies Last reply Reply Quote 0
                                      • Used2BeRXU
                                        Used2BeRX @mediamogul
                                        last edited by

                                        @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.

                                        mediamogulM 1 Reply Last reply Reply Quote 0
                                        • A
                                          adriansos666 @future.child
                                          last edited by adriansos666

                                          @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.

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

                                            @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 ?

                                            Used2BeRXU A 2 Replies 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.