Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: Shoegazer on January 28, 2007, 08:22:00 am
-
Hey fellow cab owners,
Anyone here know if there's a way to get MAME to stop assigning seemingly random controller IDs every time I unplug/plug something in? For example, I have two LCD Topguns that I use with MAME and they keep getting seen as one of "mouse2", "mouse3", "mouse5", "mouse6" etc. and i have to recalibrate MAME games every time i connect/disconnect the USB hub from the PC...
I should mention that these devices are all plugged into a 7-port USB hub, which is connected to a laptop that powers the cabinet. This is very convenient, since I use the laptop for other purposes and am frequently removing it from the cab, so I can't really change it. Nevertheless there *should* be a way to get either WinXP (using SP2) or MAME to "lock" device or controller IDs to a specific device. Right? Hopefully there's a way to do this either through WinXP Device Manager or MAME that I'm missing due to extreme blindness? :)
Thanks for your help, everyone!
Shoegazer
-
What happens if you turn off "plug and play OS" in the bios (if that's possible in your laptop bios,) plug the hub in while the laptop is completely powered off, then turn the laptop on? This might let the laptop bios, instead of Windows, configure the devices every time. Will the bios always do the same thing if Windows will not? ...or are USB devices not configured at all by the bios/chipset without the OS..?
Aaggh. nevermind all that, have you tried this one:
create a binary key in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags that has the form IgnoreHWSerNumVVVVPPPP. Here VVVV is the 4 hex digits of the vendor id and PPPP is the 4 digits of the product id. Creating this and setting the value to 01 means that windows will ignore the serial number and act as if the device never had one at all. Doing this causes windows to then use the connection number to discriminate between different devices which works fine.
Well, that is really just to get around lockups/reboots for devices that have identical serial numbers, which is probably not applicable here.
Nevermind on that one, too.
Have you tried (hot)plugging the separate devices into the same ports in the same order everytime instead of plugging unplugging/plugging the hub; waiting for the plug and play / hardware wizard / usb device manager thing to completely install each device before plugging in the next device?
-
Thanks for the help, Nick.
I did contemplate trying to plug in each device separately, but I'd rather not have to reach inside the cab and plug/unplug all seven of my USB cables every time I want to use the cab - which these days, is just about every day. Right now I've got it so that I just put the whole laptop in the sliding keyboard tray, slap in a few cables, and (aside from this problem) I'm up and running in less than 10 seconds. Pretty neat, and if I could only fix this annoyance I'd be all set.
Thanks again!
Shoegazer
-
Is your 7-port USB hub self-powered or powered from your computer?
-
Anyone here know if there's a way to get MAME to stop assigning seemingly random controller IDs every time I unplug/plug something in?
The short answer is NO!..... The problem with USB controller ID's is not a problem with Mame.
The problem lies with Windows XP. XP Uses a dynamic controller assignment. So whatever you do XP will always remap all of the USB devices when one of them changes.
The fix for this is not to run the memory hogging thing, slow as a piece of very slow stuff, with extra slow go go juice, designed by Mr Thicky McSlow from Slowville commonly known as Windows XP.
Run Win98SE on your cab and the problems with this will vanish. Newer, in terms of an OS, doesn't necessarily mean better or faster.
Best Regards,
Julian (Fozzy The Bear)
-
Hah.. thanks for the irreverent post, Foz. ;)
I figured it had more to do with WinXP than MAME, but I guess I was sorta hoping there would be a way to counteract this within MAME itself. Otherwise, possibly some way to turn off dynamic assignments on a per-device basis within XP. Ah well.
I'd go back to Win98 for the cab if it weren't for the fact that I need XP on this laptop for other non-cab reasons. I wonder if going the opposite direction (i.e. deeper into slowland) by moving to Vista would somehow make things better? As in, if Vista gave the option to turn off dynamic assignments. Something makes me doubt that. Alas.
Shoegazer
p.s. (to Fatfingers): I'm powering the hub by plugging it into a smartstrip.
-
I wonder if going the opposite direction (i.e. deeper into slowland) by moving to Vista would somehow make things better?
ROFLMGDAO :laugh2: :laugh2: :laugh2:
Vista so far looks lika another piece of over bloated over loaded Microstuffed junk..... Maybe it'll have something in there to improve the situation, but just like you, I somehow doubt it.
Best Regards,
Julian (Fozzy The Bear)
-
Yep. Funny thing about that - I was at a Best Buy the other day and saw just how bloated Vista really is. It was running on a new PC (not sure of specs tho) and just dragging windows around was SLUGGISH. Go figure.
http://www.joyoftech.com/joyoftech/joyimages/915.gif
;)
Anyway, I guess it's pointless to pursue solving this problem any further. Sigh.
Shoegazer
-
I'd go back to Win98 for the cab if it weren't for the fact that I need XP on this laptop for other non-cab reasons.
Maybe you could dual boot it and install both OS'es. The only downfall is that (AFAIK) win 98 needs to be installed before XP due to boot sector issues...
Rick
-
Run Win98SE on your cab and the problems with this will vanish.
True, but several other problems will probably appear. I was reluctant to upgrade to XP but when I did it solved all kindof of impossible to explain oddities which occurred with '98.
I won't be moving to Vista in the anywhere near future tho :P
-
In some cases Windows may treat different ports with different priorities. If you have multiple USB ports on your machine that may be a way to fix it (by spreading devices). Another nasty (but very well working :-)) way around this is 'delayed switch on', ie. switch on the hubs or the devices themselves on after XP has booted, and they will get sequentially assigned their ID's.
-
I wonder if going the opposite direction (i.e. deeper into slowland) by moving to Vista would somehow make things better?
ROFLMGDAO :laugh2: :laugh2: :laugh2:
Vista so far looks lika another piece of over bloated over loaded Microstuffed junk..... Maybe it'll have something in there to improve the situation, but just like you, I somehow doubt it.
Vista is what put the final nail in the M$ coffin for me. My MAME machine is Linux (Fedora 6), my office machine is now Linux, and soon my primary machine at home will be Linux. I never want that POS Vista infecting my systems.
-
Vista is what put the final nail in the M$ coffin for me.
Bill's performance on the Daily Show probably drove in a few more. That was a train wreck..... :dizzy:
RandyT
-
Information removed voluntarily. Wrong application.
Still looking for something that will address the USB ID changing on you each time. So far only Develper tools look like they may help.
-
I think I found a site that can help you with your problem.
http://docsrv.sco.com:507/en/man/html.HW/usb.HW.html
Scroll down about mid-way to the "USB Device IDs" heading. Haven't tried this myself but I can see it coming in handy.
I know it's talking about storage devices but then they too suffer from IDs that keep changing on boot-up and can jack a system up that relies on a specific boot sequence. Hope it helps!
Did you know the link is for "SCO OpenServer"?