RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Aimtrak Light gun and Mame2003

    Scheduled Pinned Locked Moved Help and Support
    aimtraklight gunmame2003mame 2003lightgun
    44 Posts 9 Posters 18.3k 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.
    • dankcushionsD
      dankcushions Global Moderator @bigphildogg86
      last edited by dankcushions

      @bigphildogg86

      thanks! ok i think i have a plan if you don't mind helping me test? :) i've built mame2003 for rpi3 with some extra logging.

      1. go to/opt/retropie/libretrocores/lr-mame2003/ and rename mame2003_libretro.so to mame2003_libretro.so.bak (or whatever)
      2. download and transfer my build to the same folder: https://drive.google.com/open?id=0B_51EcTfJiTqNXlmeC1Cc3htbzg
      3. plug in your aimtrak stuff (and unplug any other mouse/mice type devices), load a game in mame2003 and wiggle your lightgun about for a bit pressing the trigger and then quit.
      4. open /dev/shm/runcommand.log and paste the contents here (if the whole log is very large you might want to use http://pastebin.com)

      for example, with my mouse plugged in i get logs like this:

      RETRO_DEVICE_MOUSE_X = 9, RETRO_DEVICE_MOUSE_Y = -2
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 9, RETRO_DEVICE_ID_LIGHTGUN_Y = -2
      RETRO_DEVICE_MOUSE_X = 41, RETRO_DEVICE_MOUSE_Y = 0
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 41, RETRO_DEVICE_ID_LIGHTGUN_Y = 0
      RETRO_DEVICE_MOUSE_X = 41, RETRO_DEVICE_MOUSE_Y = 0
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 41, RETRO_DEVICE_ID_LIGHTGUN_Y = 0
      RETRO_DEVICE_MOUSE_X = 41, RETRO_DEVICE_MOUSE_Y = 0
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 41, RETRO_DEVICE_ID_LIGHTGUN_Y = 0
      RETRO_DEVICE_MOUSE_X = 41, RETRO_DEVICE_MOUSE_Y = 0
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 41, RETRO_DEVICE_ID_LIGHTGUN_Y = 0
      RETRO_DEVICE_MOUSE_X = 19, RETRO_DEVICE_MOUSE_Y = 1
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 19, RETRO_DEVICE_ID_LIGHTGUN_Y = 1
      RETRO_DEVICE_MOUSE_X = 19, RETRO_DEVICE_MOUSE_Y = 1
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 19, RETRO_DEVICE_ID_LIGHTGUN_Y = 1
      RETRO_DEVICE_MOUSE_X = 19, RETRO_DEVICE_MOUSE_Y = 1
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      RETRO_DEVICE_ID_LIGHTGUN_X = 19, RETRO_DEVICE_ID_LIGHTGUN_Y = 1
      RETRO_DEVICE_MOUSE_X = 19, RETRO_DEVICE_MOUSE_Y = 1
      RETRO_DEVICE_POINTER_X = 0, RETRO_DEVICE_POINTER_X = 0
      

      this version dumps out 3 lines of logging every frame so you probably want to switch back to your .bak version after :)

      also:

      Link to Cat output from Light Gun: Cat Output
      The link to the cat output file doesn't display well in OneDrive - here is a picture that shows what it outputs to console:
      Picture of Cat Output

      the picture is too pixelated for me. i recommend http://pastebin.com/ for text. but maybe this isn't important if you get any readings above!

      1 Reply Last reply Reply Quote 0
      • B
        bigphildogg86
        last edited by bigphildogg86

        Thanks!

        Here is the cat result in Pastebin - looks like gibberish:
        http://pastebin.com/r5AmiTcj
        So I did this - and everything is 0 it looks like.
        Here is the pastebin for the runcommand log. I had to cut a bunch out because it was too big for pastebin even. But it seemed to all be the same.
        http://pastebin.com/T7EPxAd9

        Also what I find interesting is that the light gun adds a bunch of devices.
        RetroArch [INFO] :: [udev] Adding device /dev/input/event0 as type ID_INPUT_KEYBOARD.
        RetroArch [INFO] :: [udev] Adding device /dev/input/event4 as type ID_INPUT_MOUSE.
        RetroArch [INFO] :: [udev] Adding device /dev/input/js1 as type ID_INPUT_MOUSE.
        RetroArch [INFO] :: [udev] Adding device /dev/input/mouse0 as type ID_INPUT_MOUSE.

        Three mice - if I run cat on any of them that are ID_INPUT_MOUSE then wave the gun they all output - and they output differently.

        dankcushionsD 1 Reply Last reply Reply Quote 1
        • dankcushionsD
          dankcushions Global Moderator @bigphildogg86
          last edited by

          @bigphildogg86 said in Aimtrak Light gun and Mame2003:

          Thanks!

          Here is the cat result in Pastebin - looks like gibberish:
          http://pastebin.com/r5AmiTcj
          So I did this - and everything is 0 it looks like.
          Here is the pastebin for the runcommand log. I had to cut a bunch out because it was too big for pastebin even. But it seemed to all be the same.
          http://pastebin.com/T7EPxAd9

          hmm, even near the end of the file (it starts logging as soon as the core loads). that's a shame as it means the libretro udev driver is not understanding these inputs at all, which makes me think the problem is either with the udev driver (an ultimarc issue) or the retroarch udev driver.

          it does at least mean it's not a mame2003 problem :)

          one thing you could try is changing the retroarch input driver to sdl or something else. you'd need to edit your retroarch.cfg (/opt/retropie/configs/mame-libretro/retroarch.cfg) and add the line (i think it needs to be the first line)

          input_joypad_driver = sdl
          

          if that doesn't work try

          input_joypad_driver = linuxraw
          

          you probably want to delete this line after testing as udev is normally what you want.

          Also what I find interesting is that the light gun adds a bunch of devices.
          RetroArch [INFO] :: [udev] Adding device /dev/input/event0 as type ID_INPUT_KEYBOARD.
          RetroArch [INFO] :: [udev] Adding device /dev/input/event4 as type ID_INPUT_MOUSE.
          RetroArch [INFO] :: [udev] Adding device /dev/input/js1 as type ID_INPUT_MOUSE.
          RetroArch [INFO] :: [udev] Adding device /dev/input/mouse0 as type ID_INPUT_MOUSE.

          Three mice - if I run cat on any of them that are ID_INPUT_MOUSE then wave the gun they all output - and they output differently.

          what's strange to me is that retroarch is seeing udev devices but not able to interpret them. so close!!

          1 Reply Last reply Reply Quote 0
          • B
            bigphildogg86
            last edited by

            Thanks for all your help! I'll try that tonight. It's never easy!

            So are you saying the Aimtrak has a "udev" driver in it? I can plug it into my windows machine and it moves the mouse right away and works great.
            How would the udev driver be an ultimarc issue?

            I'll change those settings tonight. Found this link which actually shows another line input_driver that may also do something.
            https://github.com/libretro/RetroArch/blob/master/retroarch.cfg

            Part of me was thinking well maybe I'll put Ubuntu onto one of my computers and see if the gun works with Ubuntu. I'm a software developer but I have limited experience with Linux and no experience with writing or changing software drivers or anything. Seems like this shouldn't be too hard to fix but that's also my naivety when it comes to this stuff talking I'm sure.

            dankcushionsD 1 Reply Last reply Reply Quote 0
            • dankcushionsD
              dankcushions Global Moderator @bigphildogg86
              last edited by

              @bigphildogg86 said in Aimtrak Light gun and Mame2003:

              Thanks for all your help! I'll try that tonight. It's never easy!

              So are you saying the Aimtrak has a "udev" driver in it? I can plug it into my windows machine and it moves the mouse right away and works great.
              How would the udev driver be an ultimarc issue?

              well udev is a linux thing. see https://en.wikipedia.org/wiki/Udev
              so it working in windows doesn't say anything about udev.

              however i don't know how you'd test a udev mouse via the command line in linux. you can see whether it's connected, but i don't know how to tell that it's actually being sent coordinates, etc, without coding something.

              if it's being sent coordinates correctly, then it seems like it would be a retroarch issue somehow, but a mouse is a mouse, no matter if it's absolute or relative it should still retrieve some sort of input i would of thought!

              I'll change those settings tonight. Found this link which actually shows another line input_driver that may also do something.
              https://github.com/libretro/RetroArch/blob/master/retroarch.cfg

              sorry yeah, that might be the one you should change instead (or as well as?)!

              Part of me was thinking well maybe I'll put Ubuntu onto one of my computers and see if the gun works with Ubuntu. I'm a software developer but I have limited experience with Linux and no experience with writing or changing software drivers or anything. Seems like this shouldn't be too hard to fix but that's also my naivety when it comes to this stuff talking I'm sure.

              it depends on how ubuntu reads the mouse i guess. not really my area either :(

              did someone say they were in contact with ultimark? they might be able to help us diagnose

              1 Reply Last reply Reply Quote 0
              • dankcushionsD
                dankcushions Global Moderator
                last edited by

                oh, looks like udevadm monitor should give us a realtime readout. http://fibrevillage.com/sysadmin/93-udevadm-useage-examples

                i'll investigate it properly later and give an example of what my mouse does :)

                1 Reply Last reply Reply Quote 0
                • B
                  bigphildogg86
                  last edited by

                  Awesome thanks so much!
                  Yeah Andy had responded with the following to my query:
                  Phil,

                  For the gun to work, Mame needs to explicitly support the mouse as a light gun device. The gun appears as a mouse and sends “absolute” XY data. This is a standard type of device on a PC and is the same as a touch screen. Standard mice send relative data, ie movement from the previous location.

                  So I don’t know if that version does interpret mouse XY data as light gun data unfortunately. It seems it does not, if the data is getting through and the game is configured but not working.

                  Andy

                  dankcushionsD 1 Reply Last reply Reply Quote 0
                  • dankcushionsD
                    dankcushions Global Moderator @bigphildogg86
                    last edited by

                    @bigphildogg86 said in Aimtrak Light gun and Mame2003:

                    Awesome thanks so much!
                    Yeah Andy had responded with the following to my query:
                    Phil,

                    For the gun to work, Mame needs to explicitly support the mouse as a light gun device. The gun appears as a mouse and sends “absolute” XY data. This is a standard type of device on a PC and is the same as a touch screen. Standard mice send relative data, ie movement from the previous location.

                    So I don’t know if that version does interpret mouse XY data as light gun data unfortunately. It seems it does not, if the data is getting through and the game is configured but not working.

                    Andy

                    so mame2003 actually does support relative devices (pointer), but our issue is that it's not actually getting any readings :) that's why the cursor isn't moving at all rather than moving around crazily.

                    B 2 Replies Last reply Reply Quote 0
                    • B
                      bigphildogg86 @dankcushions
                      last edited by

                      @dankcushions Ahh right. If it was sending any kind of XY coordinates the cursor should be moving, if it was an absolute versus relative issue the XY coordinates would just be misinterpreted and make the cursor go all around the screen. Yeah if we can get that tool to show us the real time results maybe I can take that to Andy and see if he has any ideas.

                      1 Reply Last reply Reply Quote 0
                      • B
                        bigphildogg86 @dankcushions
                        last edited by bigphildogg86

                        @dankcushions So I didn't make any progress with SDL. BUT I found a Vs. Duckhunt that would work on AdvanceMame 0.94. And in AdvanceMame the light gun is moving the cursor and I was able to map the x and y motion to the cursor motion. It is still acting a little funny jumping from corner to corner and not really giving me much but it seems that the gun is interacting with AdvanceMame. Maybe it is just Mame2003 and udev. Not sure if AdvanceMame uses udev also or not.

                        Maybe it's also that when I'm mapping in AdvanceMame it says it's joy2. So the actual input isn't coming from mouse0?

                        dankcushionsD 1 Reply Last reply Reply Quote 0
                        • dankcushionsD
                          dankcushions Global Moderator @bigphildogg86
                          last edited by

                          @bigphildogg86 did you try input driver linuxraw?

                          unfortunately the udevadm monitor tool doesn't give a real-time readout of coords, only if things are connected.

                          1 Reply Last reply Reply Quote 0
                          • S
                            sadamson
                            last edited by

                            Hi, any movement on this?

                            im eager to add a light gun to my bartop.

                            fingers crossed

                            1 Reply Last reply Reply Quote 0
                            • HurricaneFanH
                              HurricaneFan
                              last edited by

                              AdvanceMame 1.4 light gun games are working for me using a wii mote and sensor bar. I've tested Aliens 3, Lethal Enforcer and Police Trainer successfully.

                              G UDb23U 2 Replies Last reply Reply Quote 0
                              • G
                                gunpadawan @HurricaneFan
                                last edited by gunpadawan

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • G
                                  gunpadawan
                                  last edited by

                                  Hi,

                                  I am currently working on a configuration tool for the aimtrak guns.
                                  aimtrak works for me on retropie with advmame 3.4 on the few games I have tested so far.

                                  see https://github.com/gunpadawan/gunconf
                                  Best,
                                  GP

                                  HurricaneFanH 1 Reply Last reply Reply Quote 0
                                  • HurricaneFanH
                                    HurricaneFan @gunpadawan
                                    last edited by

                                    @gunpadawan Super cool! Does this work directly on the pi?

                                    G 1 Reply Last reply Reply Quote 0
                                    • UDb23U
                                      UDb23 @HurricaneFan
                                      last edited by

                                      @HurricaneFan I'm going to buy dolphin bar soon (and already borrowed a wii remote plus from a collegue... that's the most expensive component... over 40 euro here in Italy) to try your config. Any specific suggestion on how to set it up with advmame?

                                      HurricaneFanH 1 Reply Last reply Reply Quote 0
                                      • HurricaneFanH
                                        HurricaneFan @UDb23
                                        last edited by

                                        @UDb23 I think all I did was setup the wiimote in the emulationstation controller setup. And my advancemame 1.4 settings were default settings out of the box.

                                        So the number 5 on my keyboard inserted a coin, and number 1 started the game. The dolphin bar recognizes the wiimote in mode 2 and you get a crosshairs that shows you what your pointing at. The trigger button shoots.

                                        B UDb23U 2 Replies Last reply Reply Quote 1
                                        • B
                                          BGallagherLA @HurricaneFan
                                          last edited by

                                          @HurricaneFan I have the same setup, Wiimote and Dolphinbar on Advmame 1.4. I currently have Lethal Enforcers, Beast Busters, Operation Wolf, Operation Thunder, Police Trainer, Space Gun, Zero Point, Zero Point 2 and Zombie Raid, among a few other old trap/clay shooting games working with this, but I have my Dolphinbar set on the first setting. But yeah, if you have the right games in Advmame, you don't have to set up anything. The crosshairs show up right away. That being said, with arcade games that had more than one button other than the trigger, you'll have to map it. I had to map my Wiimote A button as the grenade button in the settings. Before, the trigger would just fire all the grenades until they were done, then it would fire the regular bullets. So, there's some tweaking that needs to be done, but only for some games, and way less than i thought!

                                          HurricaneFanH 1 Reply Last reply Reply Quote 0
                                          • HurricaneFanH
                                            HurricaneFan @BGallagherLA
                                            last edited by

                                            @BGallagherLA Does your police trainer game sound weird before you insert a coin? I noticed mine did. After the coin insert, everything sounded like it should.

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