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 177.7k 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.
    • rkosterR
      rkoster @future.child
      last edited by

      @future.child I managed to get the kernel recompiled. The joystick works correctly now. :) Thanks for your help!

      Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

      1 Reply Last reply Reply Quote 0
      • rkosterR
        rkoster
        last edited by

        As a heads-up to anyone else who might run into this.

        If you have a problem where you run the atari800 emulator the first time and everything works fine, and then you run it a second time and it exits the emu when you push right on the joystick, the issue is that you have joy2key enabled.

        You can hit F4 to exit to the command line and type

        sudo killall joy2key.py
        

        Now you can play the atari800 emu again.

        To solve the problem permanently, you can to go the RetroPie menu, Run Command Configuration, and make sure that "Launch menu joystick control" is set to Disabled.

        I am not sure what's happening, but it seems like having this option on leaves it running when the atari800 emu exits. The result is that hitting the joystick is also sending keystrokes. You can even go into jstest while it's happening, and see that keys are being hit when the joystick moves.

        Github/helper scripts * Creativision/Arcadia/Astrocade guide * Amiga guide * Atari 8bit guide

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

          @future.child Hey bud. Just wondering how the progress has been going. I haven't heard from you in a while.

          I borked my Pi so I had to re-start on a new SD card. That's probably a good thing though because it's a fresh install that my brother didn't fiddle around with and it's 4.2 instead of the 4.1 that he was using. I'm hoping once I get everything up and running and back to the state it was in before that those controller and game save issues that I was having don't crop up again.

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

            @Used2BeRX Well things haven't really been progressing that much.
            The analog controls are still a problem, i now have a less sensitive joystick with a curve to it but for some reason the extra step it takes to do the adjustment in between reading the joystick and passing the modified value to the emulator takes too long for game-play (about a half to a full second of delay depending on how much adjustment is needed).
            Without the curve, there is no noticeable lag but this curve is needed for certain roms (i use Kaboom! for testing) where the paddle sometimes needs to travel fast and at other times needs to travel more slowly but accurate.

            I can't see any other way than using a mouse for now.

            So your controller issues have been solved with a fresh install ?
            Does that include the crosstalk from controller 2 to controller 1 ?

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

              @future.child I don't know if the fresh install fixed the controller problems. I've been busy setting media up for another project I'm working with somebody else on to make gamelist.xmls that are going to take advantage of all of the media I've already collected for use on another emulation system.

              I'm hoping everything will work out. I will let you know if it works now.

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

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

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

                So....... I've installed 4.2 on a new SD card, installed the original atari800 emulator through the regular ways in emulationstation/retropie. I installed future.child's upgraded version. I've played a few games and changed the configurations to the ones that I made specifically for those games.

                Now I wanted to copy over the new per-game preferences file we spoke about before with the old one I had with all of the 5200 games set up.

                Unfortunately the directory "/opt/retropie/all/" doesn't even exist, so the "emulators.cfg" file is not getting saved there anymore. Yes, I did a refresh in the FTP program several times after making individual game launch preference saves to be sure that the folder isn't there. Is anybody aware of where this is being saved in version 4.2 vs the above directory where it was saved in RetroPie 4.1?

                EDIT: Nevermind. Either that was a typo when mediamogul made that post and I figured it out before, or it did change where it saves that information. The file is location is actually here:

                /opt/retropie/configs/all/emulators.cfg

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

                  @Used2BeRX

                  It was a typo on my part. The location hasn't changed.

                  Edit: Fixed for posterity.

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

                    @future.child The fresh install did not fix any of the controller issues. BUG1 and BUG2 remain. I've tried both Choplifter (a 1 player game) and Countermeasure (a 2 player game. Here are the configuration files for them.

                    Standard "atari5200.cfg" that Choplifter uses:

                    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=
                    CARTRIDGE_TYPE=4
                    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_INDEX=0
                    SDL_JOY_1_INDEX=1
                    SDL_JOY_0_SECOND_AXIS=2
                    SDL_JOY_0_SECOND_AXIS_ENABLED=0
                    SDL_JOY_0_TRIGGER1=1
                    SDL_JOY_0_TRIGGER2=0
                    SDL_JOY_0_ASTERISK=3
                    SDL_JOY_0_HASH=2
                    SDL_JOY_0_SELECT=8
                    SDL_JOY_0_START=9
                    SDL_JOY_0_A52_PAUSE=12
                    SDL_JOY_0_A52_RESET=999
                    SDL_JOY_0_OPTION=999
                    SDL_JOY_0_DIGIT_1=4
                    SDL_JOY_0_DIGIT_2=5
                    SDL_JOY_0_DIGIT_3=6
                    SDL_JOY_0_DIGIT_4=7
                    SDL_JOY_0_DIGIT_5=999
                    SDL_JOY_0_DIGIT_6=999
                    SDL_JOY_0_DIGIT_7=999
                    SDL_JOY_0_DIGIT_8=999
                    SDL_JOY_0_DIGIT_9=999
                    SDL_JOY_0_DIGIT_0=999
                    JOY_SPEED_ADJUST=999
                    TRUE_ANALOG_JOYSTICK=0
                    

                    Countermeasure.cfg:

                    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/Pengo.bin
                    CARTRIDGE_TYPE=4
                    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_INDEX=0
                    SDL_JOY_1_INDEX=1
                    SDL_JOY_0_SECOND_AXIS=2
                    SDL_JOY_0_SECOND_AXIS_ENABLED=0
                    SDL_JOY_0_TRIGGER1=1
                    SDL_JOY_0_TRIGGER2=0
                    SDL_JOY_0_ASTERISK=3
                    SDL_JOY_0_HASH=2
                    SDL_JOY_0_SELECT=8
                    SDL_JOY_0_START=9
                    SDL_JOY_0_A52_PAUSE=999
                    SDL_JOY_0_A52_RESET=12
                    SDL_JOY_0_OPTION=999
                    SDL_JOY_0_DIGIT_1=4
                    SDL_JOY_0_DIGIT_2=5
                    SDL_JOY_0_DIGIT_3=6
                    SDL_JOY_0_DIGIT_4=999
                    SDL_JOY_0_DIGIT_5=999
                    SDL_JOY_0_DIGIT_6=999
                    SDL_JOY_0_DIGIT_7=999
                    SDL_JOY_0_DIGIT_8=999
                    SDL_JOY_0_DIGIT_9=999
                    SDL_JOY_0_DIGIT_0=7
                    JOY_SPEED_ADJUST=999
                    TRUE_ANALOG_JOYSTICK=0
                    

                    I have tested controller output in jstest for JS0 and JS1 and it behaves exactly as you would expect it to and you don't get any cross-contamination with the 2nd joystick. All other emulators that I've used 2 controllers on whether in or out of the libretro umbrella have not had any issues with the controllers I'm using. I'm using "Medal of Honor" Airflow aftermarket PS3 controllers.

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

                      @Used2BeRX i think i found the cause for the cross-contamination......

                      I have taken the button input and mapped it to the atari keyboard input assuming the keypad would be the same for all users (like i said i was no 5200 kid).

                      To solve this i will have to remap the joystick buttons to the emulated pokey chip.
                      But first i have to find out if, and how i have to interact with the emulated gtia chip for two joystick support.

                      Kat5200 seems to be getting more and more attractive as an emulator for the 5200.
                      Once you have it installed, configured it with mouse and created different configs for different roms it just works.

                      Current downside is there is no button combination support (i.e. for exiting the emulator), the author has plans to incorporate this function though after the upcoming release.
                      There are no plans for a libretro port however, but anyone is welcome to create one.
                      Plus side is joystick works as intended and it's highly configurable.

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

                        @future.child I wasn't even aware there was another 5200 emulator for the Pi lol...

                        I really hope you figure this controller thing out though. If you manage to do that, with the configs I've made and all the work you've done we have the entire 5200 library working "perfectly" except for 3 games. (I'm adding Pole Position to the list because although it plays very good it still would benefit from a True Analog fix).

                        I'll have to get you the config files somehow. Unfortunately, on the first launch of each game, you would have to follow the spreadsheet and pick the correct configuration for each game that doesn't use the default atari5200.cfg. That's because the file that saves this information changes if you have your roms in different folders than I have mine in, and I can guarantee that you don't have them in the same folders as I do :)

                        I'll put them together in an upload for you to try out.

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

                          @Used2BeRX
                          Atari800 requires an extensive rewrite to descently support analog controls, for which i do not have the needed time.
                          Perhaps when i find enough time Atari800 will eventually have analog controls.

                          I have created a install script for the kat5200 emulator which has the necessary analog support already present.
                          You will find more details in this thread.

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

                            @future.child Already saw it and replied about 3 seconds before you posted here. :)

                            Awesome work man. I should be able to test it out some time this week.

                            1 Reply Last reply Reply Quote 0
                            • JLsoftJ
                              JLsoft @future.child
                              last edited by

                              @future-child
                              Thanks for your fixes and additions :D

                              After messing around trying to figure out why Robotron 2084/Space Dungeon dual stick controls weren't working for me (shooting was always aiming northwest, and the config would always write out SDL_JOY_0_SECOND_AXIS_ENABLED=0) with a single gamepad connected to my Pi, I finally worked out that the simplest fix was to change the 2 lines in sdl/input.cthat contain "SDL_JOY_0_SECOND_AXIS_ENABLED" to something else.

                              I'm guessing that since the option SDL_JOY_0_SECOND_AXIS is a substring of SDL_JOY_0_SECOND_AXIS_ENABLED, that's the reason the segment where SDL_JOY_0_SECOND_AXIS_ENABLED option is read from the config file never actually got called.

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

                                @jlsoft
                                could you post your config, there may be an issue in there causing it not to work for you with the original code.

                                It is possible because SDL_JOY_0_SECOND_AXIS is a sub string of SDL_JOY_0_SECOND_AXIS_ENABLED this variable should be placed first, but since the complete string is compared, there should be no problem having it in any other order.

                                JLsoftJ 1 Reply Last reply Reply Quote 0
                                • JLsoftJ
                                  JLsoft @future.child
                                  last edited by

                                  @future-child
                                  The problem/behavior I was getting was that I would set SDL_JOY_0_SECOND_AXIS_ENABLED=1 in the config, run the emulator, it'd have no effect, and then when the emulator wrote the config back out, it'd replace it with SDL_JOY_0_SECOND_AXIS_ENABLED=0.

                                  I don't think anything else in my config would affect that, since it works fine after I only changed the name of that option and made a new build.

                                  SDL_JOY_0_ENABLED=1
                                  SDL_JOY_0_LEFT=7
                                  SDL_JOY_0_RIGHT=5
                                  SDL_JOY_0_UP=4
                                  SDL_JOY_0_DOWN=6
                                  SDL_JOY_0_TRIGGER=16
                                  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=16
                                  SDL_JOY_0_SELECT=0
                                  SDL_JOY_0_START=3
                                  SDL_JOY_0_TRIGGER1=13
                                  SDL_JOY_0_TRIGGER2=14
                                  SDL_JOY_0_ASTERISK=12
                                  SDL_JOY_0_OPTION=11
                                  SDL_JOY_0_HASH=15
                                  SDL_JOY_0_SECOND_AXIS_ENABLED=1 <= Current build resets this to 0 on exit.
                                  SDL_JOY_0_SECOND_AXIS_INDEX=2
                                  SDL_JOY_0_DIGIT_1=16
                                  SDL_JOY_0_DIGIT_2=16
                                  SDL_JOY_0_DIGIT_3=16
                                  SDL_JOY_0_DIGIT_4=16
                                  SDL_JOY_0_DIGIT_5=16
                                  SDL_JOY_0_DIGIT_6=16
                                  SDL_JOY_0_DIGIT_7=16
                                  SDL_JOY_0_DIGIT_8=16
                                  SDL_JOY_0_DIGIT_9=16
                                  SDL_JOY_0_DIGIT_0=16
                                  SDL_JOY_0_A52_PAUSE=1
                                  SDL_JOY_0_A52_RESET=2
                                  SDL_JOY_0_INDEX=0
                                  SDL_JOY_1_INDEX=1
                                  JOY_SPEED_ADJUST=10
                                  JOY_SPEED_ADJUST=10 <=This line is written twice by sdl/input.c :P
                                  TRUE_ANALOG_JOYSTICK=0
                                  

                                  These are Dualshock 3 button numbers. Single controller connected.

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

                                    @jlsoft so you changed:
                                    strcmp(option, "SDL_JOY_0_SECOND_AXIS" into strcmp(option, "SDL_JOY_0_SECOND_AXIS_INDEX" and
                                    fp, "SDL_JOY_0_SECOND_AXIS=%d\n"... into fp, "SDL_JOY_0_SECOND_AXIS_INDEX=%d\n"...?

                                    I will update the source and binary, later today, and also fix the JOY_SPEED_ADJUST being written twice.

                                    JLsoftJ 1 Reply Last reply Reply Quote 0
                                    • JLsoftJ
                                      JLsoft @future.child
                                      last edited by

                                      @future-child
                                      HEH.

                                      Ugh...

                                      (I was about to reply to explain how during my fix attempts, adding _INDEX or adding other stuff onto the end didn't have any effect, and only until I actually changed part of the 'SDL_JOY_0_SECOND_AXIS' part would it work...)*

                                      Okay, so I decided to start from scratch to make sure it was acting the way I was describing...went and changed the source to test, and realized I needed to also change the atari5200.py that auto-maps the RetroArch controls to the atari800.cfg...then noticed line 96:

                                      elif line.startswith("SDL_JOY_0_SECOND_AXIS"):

                                      'startswith'...so SDL_JOY_0_SECOND_AXIS_ENABLED was also getting set to 2 right before the executable ran...and it's looking for 1 or T(rue).

                                      It is really sad how long I spent messing with this last night and looking at the wrong thing :D


                                      So yeah, it's only your copy of the atari5200.py script that needs altered, since currently it'll match SDL_JOY_0_SECOND_AXIS_ENABLED= and make it's value the same as SDL_JOY_0_SECOND_AXIS=.

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

                                        @jlsoft Ok, now it makes sense to me.
                                        As i do not use the python script myself, i did not notice anything wrong.
                                        I specify a config file in the emulators.cfg file so i can have different configurations per system/rom where this python script afaik only uses/home/pi/.atari800.cfg.

                                        I will make changes to the python script and fix the JOY_SPEED_ADJUST being written twice.

                                        I think changing elif line.startswith("SDL_JOY_0_SECOND_AXIS") at line 96 to
                                        elif line.startswith("SDL_JOY_0_SECOND_AXIS=") (notice the = sign) should be enough to fix it.

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

                                          @future-child Hey bud.

                                          I still haven't had a chance to check out that new emulator on the two or three games that weren't working right with the other one.

                                          I was wondering though if you'd had an opportunity to look into the other issue with this emulator with the two bugs? I believe at some point you had said you belived that it was due to a difference between the Atari 5200 controller and the Atari 800 keypad, but then you didn't mention anything about it afterward.

                                          I'd like to spend some time getting back to this and wrapping everything up so I could give you the alternate configs for every game that makes the control functions as uniform as possible between all of the games.

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

                                            @Used2BeRX
                                            I did spend some time getting the inputs right but so far without success.
                                            To get it right the sdl input should have to be rewritten to use a event driven model instead of a polling model.
                                            The polling it now uses has timing issues causing the misfiring experienced in roms like choplifter.

                                            The input crosstalk is another thing requiring a lot of work.
                                            The original 5200 used multiplexers to select which joystick port places keypad (row/column) data on the bus, as far as i can tell the core does not have this implemented so all incoming data appears to come from all joystickports.

                                            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.