RESOLVED – Trackballs, Spinners, Mame4All, AdvMame, Ultimarc IPac Upac

Home Forums RetroPie Project Controller Configuration in RetroPie RESOLVED – Trackballs, Spinners, Mame4All, AdvMame, Ultimarc IPac Upac

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 2 replies, has 3 voices, and was last updated by Profile photo of robertg robertg 1 year, 1 month ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #121515
    Profile photo of robboman
    robboman
    Participant

    Copy of my long post elsewhere with more searchable keywords in the title. I hope this info is easy to find in future and helps others over time.

    I’ve been struggling for a while to get trackball and spinner to both work. They now both work perfectly, just the way I want, and they work in Mame4All, as well as AdvMame.

    For starters, Mame4All is coded to prevent mouse from working at all when there is a js (gamepad, joypad, etc) connected to the system. I don’t use any gamepads (this is an arcade cab). I expected my Ipac2 to appear as a keyboard and mouse ONLY, but for some reason it was causing a js0 device to appear in /dev/input, along with mouse0 and mouse1. When js* is present, there is NO way to get a Mame4All mouse device working.

    AdvMame doesn’t care if there’s a js0 present, so that’s one workaround.

    But Andy Warne from Ultimarc was quick to respond to my emails, and today he emailed me a different firmware for my IPac2 that completely removes the js0. I flashed it with Winipac utility. Now my Ipac appears as just a keyboard and 2 mouse like I want, no js0. Mame4All FINALLY works with my trackball and spinner without changing anything else!

    I found right away that Mame4All just sums together both mouse0 (trackball) and mouse1 (spinner).. I loaded up Arkanoid and both controls work at the same time, which might be OK but is is not exactly what I want.

    I noticed that in AdvMame 0.94, Arkanoid worked only with my trackball, the spinner did nothing. I wanted the opposite. I was able to make that work by editing the advmame .rc file

    sudo nano /opt/retropie/configs/mame-advmame/(filename).rc

    device_mouse raw

    device_raw_mousedev[0] /dev/input/mouse0
    device_raw_mousedev[1] /dev/input/mouse1
    device_raw_mousetype[0] ps2
    device_raw_mousetype[1] ps2

    … then down in the input_map section…

    input_map[p1_dialx] mouse[1,x]
    input_map[p1_dialy] mouse[1,y]

    … dial = spinner of course. Arkanoid, Tempest, etc use the ‘dial’ control. This specifies p1 dial to be mouse1 (because mouse0 is my trackball)

    … I also changed these to specify mouse0 (trackball) where needed:

    input_map[p1_mousex] mouse[0,x]
    input_map[p1_mousey] mouse[0,y]
    input_map[p1_trackballx] mouse[0,x]
    input_map[p1_trackbally] mouse[0,y]

    Now, if I load up Centipede or Missile Command the trackball works and the spinner does nothing. Vice\Versa when I load Ark or Tempest.

    Perfection!!!

    Summary:

    1). Mame4All: If you are using gamepads, no trackball/spinner for you. Keyboard and multiple mice works fine. If you have no gamepad and still don’t have any mouse, check to see if you have a mystery js0 or js1 entry in /dev/input. If you do,

    sudo rm js*

    But if the js0 comes right back when you reboot, and you happen to have an Ultimarc interface.. check with Ultimarc, this can be fixed in firmware.

    2). Confirm all your mouses, tballs, spinners actually work on your PI, and figure out which is mouse0, which is mouse1, etc.

    cat /dev/input/mouse0

    …then move the control you think is mouse0 to confirm, it should generate characters onscreen until you ctl-c to quit. Repeat for mouse1, etc.

    You can also try this command:

    ls -l /dev/input/by-id

    This will show you the device IDs and which mouse each one relates to.

    3). AdvMame: edit your /opt/retropie/configs/mame-advmame/(filename).rc to specify which controls are default for each function (as per above).

    A note about editing the .rc file for newbies:
    Make a backup file first (save with a new name). If you have even one character out of place it will prevent AdvMame from running at all.

    • This topic was modified 1 year, 2 months ago by Profile photo of robboman robboman.
    • This topic was modified 1 year, 2 months ago by Profile photo of robboman robboman.
    • This topic was modified 1 year, 2 months ago by Profile photo of robboman robboman.
    • This topic was modified 1 year, 2 months ago by Profile photo of robboman robboman.

    #121572
    Profile photo of nosedeath
    nosedeath
    Participant

    O……M…….G!! SO AWESOME!

    funny thing. I have the same thing you have and I emailed Andy, but he really didn’t have an answer. I’m so happy your fixed this. I’m ecstatic actually!

    So…can you link the new firm ware for others to use or is it just for you???

    Thanks millions for figuring this out.

    #122128
    Profile photo of robertg
    robertg
    Participant

    wow this is great news…as nose death asked is there any way to get the firm ware link as I have a ipac also?

Viewing 3 posts - 1 through 3 (of 3 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar