Build Your Own Arcade Controls Forum

Main => Raspberry Pi & Dev Board => Topic started by: robboman123 on March 14, 2016, 03:40:48 pm

Title: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: robboman123 on March 14, 2016, 03:40:48 pm
Hi guys,

I'm back reviving my old dead cab thanks to Retropie!
http://forum.arcadecontrols.com/index.php/topic,149987.0.html (http://forum.arcadecontrols.com/index.php/topic,149987.0.html)

I'm figuring most things out, but I'm having a lot of trackball trouble currently.. is it supposed to 'just work' with MAME on Retropie when you load up Mame4All?  AdvMAME?  I'm not to this Retroarch \ Libreto thing.. is that configurable for tballs and spinners too? 

So far I can't Centipede to see my trackball at all, but if I load up the Amiga emulator my trackball works in the GUI right away.. so I know it's physically working and the PI can see it attached. 

Any ideas?

Title: Re: Trackball in Mame4All Retropie?
Post by: nitrogen_widget on March 14, 2016, 04:10:12 pm
What does your trackball use for an interface?

I only have a usb trackball (cheap led ps2 one with ps2 to usb adaptor) and that works great with millipede on mame4all.

Mame4all though doesn't work with a usb joypad & usb mouse connected at the same time.
you need to use a keyboard encoder or one will be disabled.
Title: Re: Trackball in Mame4All Retropie?
Post by: robboman123 on March 14, 2016, 04:41:05 pm
Its a new Ultimarc ipac2.  Does Mame4All somehow think that's a gamepad?  I don't have any actual gamepads.

I did have my bluetooth keyboard\trackpad connected at the same time.  Maybe that's it, I'll try disconnecting that thing tonight.

Thanks 
Title: Re: Trackball in Mame4All Retropie?
Post by: robboman123 on March 14, 2016, 10:09:44 pm

Mame4all though doesn't work with a usb joypad & usb mouse connected at the same time.
you need to use a keyboard encoder or one will be disabled.

Ah HA!  Thanks, this is exactly my problem.  However I still need a solution..

See, I'm not using a usb joypad.. just my Ultimarc Ipac2 (2015) which is supplying keyboard keys and trackball out a USB port.   I noticed when I run the "configure input" GUI from Emulationstation, it says 'gamepad detected'.  It thinks my IPac2 is a gamepad.  I tried running Centipede with a regular USB keyboard and mouse connected, and the mouse works fine.  Then, with Centipede still running, I plugged in the iPac2 as well and LO and BEHOLD, the trackball worked!  But it fails again as soon as I restart Centipede.

There has to be a workaround for this.. I'll keep searching.

So for some reason it thinks IPAC2 is a gamepad.  It otherwise works fine, maps all the keyboard keys and my trackball..
Title: Re: Trackball in Mame4All Retropie?
Post by: robboman123 on March 15, 2016, 01:46:12 pm
I emailed Andy at Ultimarc to ask if it's possible for the iPac to present itself to the OS as a Keyboard + mouse only.. and NOT a 'gamepad'.  If that can happen (via firmware update or otherwise), then my problem is solved.

I think the only other workaround is to use a different MAME on the PI, such as AdvMame.  I think this problem is specific to Mame4All.

Can anyone else confirm or deny? Or have additional info? 

Cheers...
Title: Re: Trackball in Mame4All Retropie?
Post by: space invader on March 15, 2016, 04:31:07 pm
Anyone knows whether lr-mame 2003 accepts USB Mouses?
Title: Re: Trackball in Mame4All Retropie?
Post by: robboman123 on March 15, 2016, 04:44:13 pm
Anyone knows whether lr-mame 2003 accepts USB Mouses?

Not sure, I can test it later and reply again.

But again to be clear, all the PI Mame emulators accept USB mouse input.. it's just that Mame4All won't accept mouse at the same time a gamepad is also connected.  If you don't have a gamepad (or an Ipac that thinks it's a gamepad), then it's no problem.   
Title: Re: Trackball in Mame4All Retropie?
Post by: nitrogen_widget on March 16, 2016, 10:25:44 am
I emailed Andy at Ultimarc to ask if it's possible for the iPac to present itself to the OS as a Keyboard + mouse only.. and NOT a 'gamepad'.  If that can happen (via firmware update or otherwise), then my problem is solved.

I think the only other workaround is to use a different MAME on the PI, such as AdvMame.  I think this problem is specific to Mame4All.

Can anyone else confirm or deny? Or have additional info? 

Cheers...

My solution was to use a KADE device set to mimic a keyboard or the GPIO Pins.
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: robboman123 on March 16, 2016, 11:47:03 am
I got an email answer from Andy:

Quote
Yes I will send firmware for this when I get back from a short break and of this week.

Andy

Thanks Andy!  Props for Ultimarc!  :applaud:

In the meantime, I set it up to run AdvMame where my trackball works fine.  It didn't work in lr-Mame4all or lr-Mame2003 either, I assume same issue.

Its great there are so many options these days.  It was last century (late 90's) when I built my very first arcade control panel for Mame.  I had to hack a keyboard, follow all the circuit traces from the keys to the PS/2 output pcb to figure out which was which, and then solder control wires direct to the pcb.  Don't get me started on what it took to output PC video to a 15 khz arcade monitor back then!         
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: 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...
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: robboman123 on March 22, 2016, 09:59:35 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...

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.   

Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: robboman123 on March 25, 2016, 06:42:06 pm
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.
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: space invader on March 25, 2016, 08:05:45 pm
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.
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: lazrhog on April 05, 2016, 04:07:37 pm

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....
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: PiNoob on April 22, 2016, 11:10:49 pm
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?
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: lazrhog on April 25, 2016, 01:30:20 pm
Andy sent me a new firmware for the i-pac too.  haven't tried it yet, as you can only programme the new firmware with a PC :(     I don't have one of those !


edit:  I managed to reprogram the i-Pac and the spinner spinner int life :)
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: wepoo on June 12, 2016, 11:03:23 pm
RESOLVED
Roboman123 does having the JoyStick mapping removed have any negative effect in other emulators (nes, GBA, neoGeo)?
Do you know if both MAME4ALL and ADVMAME dismiss mouse/Trackball input when Joysticks are present?

Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: Trapsis on June 24, 2016, 09:34:30 pm
I'm having the exact same issue.  Is this version of the firmware somewhere online or can someone email it to me? No response from Andy yet.   Thanks!

Andy sent me the updated firmware (1.43) and it worked like a charm!  No js0!
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: Afterburner on June 28, 2016, 10:59:25 pm

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.

I am intensely interested to know if this works.  This is exactly the setup I have on my current cab.  Dual trackballs that are USB 3-button mice and a homemade spinner using usb mouse guts.  Works on a 14yr old PC running XP.

I just got my Pi3 fired up yesterday and a few roms loaded this evening.   Even managed to get a PS3 sixaxis working.

If multiple mice on the Pi works, there are probably a couple of Aimtraks in my future.
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: lazrhog on July 04, 2016, 12:26:54 pm
I'm having the exact same issue.  Is this version of the firmware somewhere online or can someone email it to me? No response from Andy yet.   Thanks!

Andy sent me the updated firmware (1.43) and it worked like a charm!  No js0!

The new firmware works great .... apart from one game  ???    Tron !

The spinner moves the arm of the player, but the joystick also moves the arm, so you can't move and aim.   I can't find any way of removing the joystick (left/right) from the spinner inputs in Mame.   Did you have any luck with that ?
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: PL1 on July 04, 2016, 01:19:42 pm
The new firmware works great .... apart from one game  ???    Tron !

The spinner moves the arm of the player, but the joystick also moves the arm, so you can't move and aim.   I can't find any way of removing the joystick (left/right) from the spinner inputs in Mame.   Did you have any luck with that ?
Have you tried setting these inputs in the MAME "Input (this Game)" menu to "none"? (press ENTER then ESC)
- Dial Analog Dec
- Dial Analog Inc

If it doesn't work, press ENTER then ESC again to restore the default setting.


Scott
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: lazrhog on July 08, 2016, 05:43:09 pm
The new firmware works great .... apart from one game  ???    Tron !

The spinner moves the arm of the player, but the joystick also moves the arm, so you can't move and aim.   I can't find any way of removing the joystick (left/right) from the spinner inputs in Mame.   Did you have any luck with that ?
Have you tried setting these inputs in the MAME "Input (this Game)" menu to "none"? (press ENTER then ESC)
- Dial Analog Dec
- Dial Analog Inc

If it doesn't work, press ENTER then ESC again to restore the default setting.


Scott

I'll give it a go, but mame4pi doesn't do a great job at recognising the spinner in the 'tab' menu.  I am just using defaults at the moment which work for everything other than Tron
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: PL1 on July 08, 2016, 06:14:37 pm
The new firmware works great .... apart from one game  ???    Tron !

The spinner moves the arm of the player, but the joystick also moves the arm, so you can't move and aim.   I can't find any way of removing the joystick (left/right) from the spinner inputs in Mame.   Did you have any luck with that ?
Have you tried setting these inputs in the MAME "Input (this Game)" menu to "none"? (press ENTER then ESC)
- Dial Analog Dec
- Dial Analog Inc

If it doesn't work, press ENTER then ESC again to restore the default setting.
I'll give it a go, but mame4pi doesn't do a great job at recognising the spinner in the 'tab' menu.  I am just using defaults at the moment which work for everything other than Tron
You shouldn't need to change the "Dial Analog" (spinner) input -- just disable the "Dec" and "Inc" inputs that MAME turns into a simulated spinner output.

There is no need for a simulated spinner when you have a real one.   ;D


Scott
Title: Re: Trackball in Mame4All Retropie? IPac 2 detects as gamepad instead of kb + mouse
Post by: lazrhog on July 20, 2016, 03:23:18 pm
Ooooh.  Thanks.  Just going to give it a go now !

Edit:  No Joy.  The version of mame is Mame4Pi, and it doesn't have that option, just Dial Left and Dial Right  :(