Main > Raspberry Pi & Dev Board
Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
robboman123:
--- Quote from: space invader on March 18, 2016, 09:17:55 am ---So, what need to do to use my USB mouse in lr-mame-2003? I have my player 1 buttons conected to gpio pins acting as a keyboard, and for player 2 a USB dragonrise ps3 type gamepad...
--- End quote ---
I'm still not sure about that one.. if I happen to figure it out I'll post details.
For anyone else searching this thread regarding the Ipac.. Andy sent me firmware 1.34 for my iPac2 and it indeed makes the board NOT appear as a gamepad\joypad. When I run 'configure input' from the Retropie Emulationstation menu it now says "No gamepad detected" like I wanted. Also.. running SNES roms used to bring up this message "ipac not configured... " that message is gone now.
Unfortunately, this change didn't instantly enable my trackball in Mame4All as I'd hoped (still fine in AdvMame). Didn't have time to dig any deeper last night, but I'll keep searching for the fix.
robboman123:
RESOLVED:
Copy of my long post from elsewhere. I hope this info is easier 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.
space invader:
Very useful Robboman123!
And for lr-mame2003? any idea? I want to use this for its crt-type shaders.
And could be posible to use three mouses at a time?one for two for p1 and p2 trackballs (for 2 players simultaneously in marble madness) and the third for the spinner.
lazrhog:
I hadn't seen this when I had this issue with my i-pac and my spinner. In the end, I went into mame4all source code and removed everywhere it tried to disable the mouse (which is what a spinner shows as). I recompiled it all, and the spinner now works. The only problem is by doing that, I have somehow screwed up the sensitivity menu in mame4all. for some reason I can't change the values anymore. I didn't change that part of the source code, so I'll try again at some point. I will look into your method too though, although there was some very questionable code in mame4all related to spinner games....
PiNoob:
Total Noob building a CP with a Pi. Will turn into a full cab someday, but plans are for portable CP for now.
I have the same issue with Pi and Ultimate I/O. I reached out to Andy based on robboman123 experience. Thanks to both for help. Andy turned around new firmware and now the trackball works. I haven't been able to get the spinner to work though. It works when connected to Windows, but not in advmame games. When I do cat /dev/input/mouse0 both the trackball and the spinner work. Only one mouse listing. Anyone have any thoughts?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version