My build is here:
http://forum.arcadecontrols.com/index.php/topic,152126.0.htmlI will be in windows 10 doing mame.
I did search on here for an answer but all the results I found were pretty old. I don't know if things have changed in the last few years.
I'm trying to decide which opti- interface to get. I have 3 trackballs and 3 spinners. But already one of the trackballs is USB, the other two have the opti cable. I could still return the USB one and get another opti one. But only if it's necessary as it will take weeks to process.
I had assumed that it would be better to get the Opti-wiz from groovy game gear so I could map the spinners to the Z axis and the trackballs to XY. But now I'm reading about the 4 to 1 problem with Z axis and I'd rather not have to patch mame.
I'll have no choice but to do multimouse but was informed that Windows can remap them which sounds super annoying. How bad is this problem? Is there any hack to make sure the devices don't get mixed up between bootups? Does the opti-wiz "USB Device Number" help with this issue?
I can't have devices "adding to each other" because players could mess up other players games. I have a boy in the house

The Opti-whiz is $15 each. The Opti-pac is $40.
The Opti-pac supports 2 sets of trackballs and spinners but the faq (
http://www.ultimarc.com/optipac5.html) says it adds the values together which I can't do.
So I'm looking for advice. I could get 4 opti-wiz's. 2 for 2 trackballs, 1 for 2 spinners, and the last one for the last spinner. The last trackball already has USB.
I also thought of a DIY option to make my own interface using arduino. My concept would be for the interface to ignore all control inputs except the one that should be used for that game. A command from the PC to the interfce could select which control to use. This would mean that mame would need to know when the player switches and be able to call a routine to send the command. I'd also have to know a little more than I do about how to read the optical signals and communicating as a mouse. But is seems like someone would have already done this.