Arcade controllers (Dragonrise) don't work in MAME
-
Hello all, and thanks for reading. I'm having trouble configuring my arcade controllers to both work within MAME. They work within ES. I've searched the forums and found similar issue but haven't found an answer or a workaround:
I've found https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev but don't know if its a workaround or just an acknowledgement.
or this:
https://github.com/RetroPie/RetroPie-Setup/issues/1798I've reset the controllers and added them back individually without it rectifying the problem.
Let me know if you need additional info and thanks in advance for any suggestions!3B
2.5 Amp
RetroPie Version 4.7.1
Built From: Pre made SD Image on RetroPie website - retropie-buster-4.7.1-rpi2_3.img
USB Devices connected: 2 Dragonrise Generic USB Joysticks, USB Keyboard
Controller used: 2 Dragonrise Generic USB Joysticks with identical vendor and model IDs, wired exactly the same way with the exception that controller 1 has two more buttons then controller two
Error messages received: None
Verbose log (if relevant): Not relevant
Guide used: (Mention if you followed a guide)
File: none
Emulator: MAME 2010 -
I found an Amazon review for a similar product (SJ@JX Arcade Game Controller) that they entered a specific line of code stating: "my raspberry pi only recognized one gamepad during setup. In order to resolve this you will need to add the following to the end of /boot/cmdline.txt: "usbhid.quirks=0x0810:0xe001:0x040" but I have no idea what that means or if its applicable to this situation.
If anybody has any ideas on how to get my configuration up and fully functional I'd love to hear them. thank you!
-
Do the controllers work in other emulators or the issue is specifically with just Mame 2010 ?
In order to resolve this you will need to add the following to the end of /boot/cmdline.txt: "usbhid.quirks=0x0810:0xe001:0x040"
This is needed when a pair of controllers uses just 1 USB port and the system doesn't detect both of them. I don't think that's the case here.
-
Silly Question, but have you mapped the controllers in ES?
-
@digriz I think so, since they mentioned They work within ES..
-
@swofra that happend to me yesturday sasme controller dragonrise i swithed the wires around until mame saw it iam using a pi 3 b plus but kept the wireing identicle also if you have retro arch first you need to confogure them there first before mame can be able to see them iam hardly on here but you can reach me at my email if anything rrijos3 at gmail.com
-
Thanks all for the response thus far. Ok, reset the controllers to default again to get a clean start and this is the situation:
Controller 1: Dragonrise 10 button setup
Controller 2: Dragonrise 10 button setup
Controller 3: PS3 controller wired in via USB. WorksController 1 and 2 are wired the same and configured the same within ES and function normally.
Controllers 1& 2 are recognized and work fine within the GenesisMAME - when a ROM is selected an it first launches, a notification pops up and says their port assignments. Once within MAME and I pull up the configuration page to try and assign P2 buttons, none of them are recognized. However, even though the buttons aren't mapped, one button functions as the coin slot and another one works as button X. I don't know how this is possible as those buttons aren't mapped for P2.
I've tried to get to retroarch to check mapping there but I get a grainy green screen that doesn't respond to anything I select.
Hope this helps answer some of your questions about this situation. Any suggestions are greatly appreciated.
Thanks!!
-
@swofra said in Arcade controllers (Dragonrise) don't work in MAME:
. Once within MAME and I pull up the configuration page to try and assign P2 buttons, none of them are recognized. However, even though the buttons aren't mapped, one button functions as the coin slot and another one works as button X. I don't know how this is possible as those buttons aren't mapped for P2.
I don't know if MAME 2010 has a functional MAME menu. You have to remember that the input is processed by RetroArch (see here, MAME doesn't have direct access to the gamepads. For MAME 2003(-plus), the MAME menu is functional and you can change the mapping (the inputs will show as RetroPad xyz), but not sure about other versions.
The mapping does happen, since the coin/start buttons are functional, but after you start a game, aren't the other buttons functional ?I've tried to get to retroarch to check mapping there but I get a grainy green screen that doesn't respond to anything I select.
That's the RGUI menu, you can change the mapping there also, from the Controls section. Which gamepad are you using to navigate the menu ? It might not be accessible from the P2 gamepad, you can try with the gamepad that's detected as P1.
-
MAME 2010 has mapping as it works as long as I don't have the second controller plugged in, meaning I can assign buttons from controller 1 to any of the the various tasks (buttons show up as Kbd P1 B5 for example)
For the P2 arcade controller, none of the other buttons work othe than those two after the game starts.
When I've tried remapping within the retroarch menu described above I can navigate up and down the first menu but can't select anything with any of the three controllers or USB keyboard so I haven't been successful doing anything there. I'll review the link you sent as that may give me some more insight. If that doesn't work, is there an .ini or .cfg file or something that i can mod and load that would be able to assign controllers?
thanks again for the help! -
was able to navigate through the Retorarch RGUI (the keyboard wouldn't select anything but the P1 fire button would), mapped all the controls for both players, load up MAME, and still nothing. It's like for two player games it doesn't recognize there is another set of controls instead of using the P1 controls. I thought there might be a setting in retroarch or MAME that might distinguish that but I couldn't find one regardless if it was in upright or cocktail mode.
I'm at a loss for how to proceed, Any other ideas?
Thanks in advance! -
Did you save your controller configuration with a remap ? Otherwise the settings will not stick between restarts of the emulator - see https://retropie.org.uk/docs/RetroArch-Configuration/#core-input-remapping.
-
Yes I enabled save configuration upon exit. I also tried just configuring the controllers by plugging one in and after configuring it, plugging the other one in and configuring it and that did not have any effect.
If I unplug the first controller and start MAME the second one assumes the P1 role just fine. In addition, I downloaded MAME 2010 to a PC and both controllers map perfectly in that manner so I know the controller can work within MAME its just not recognized or functioning in the P2 role via Pi/retroarch for some frustrating reason.
Is there a log file or something where we can take a peek behind the curtain?
-
@swofra said in Arcade controllers (Dragonrise) don't work in MAME:
Is there a log file or something where we can take a peek behind the curtain?
The runcommand verbose log file will show RetroArch's log when starting and running the game.
-
the verbose effort resulted in a 300mb file runcommand.log. In it, both controls are listed once, but that's the only mention of the Dragonrise by name (shown below). In game, I still could not map within MAME for controller 2 (aka player 2). Not sure what else I should be looking at with this file. Thanks!!
[INFO] [udev]: Keyboard #0 (/dev/input/event0).
[INFO] [udev]: Plugged pad: DragonRise Inc. Generic USB Joystick (121:6) on port #0.
[INFO] [udev]: Pad #0 (/dev/input/event2) supports 0 force feedback effects.
[INFO] [udev]: Plugged pad: DragonRise Inc. Generic USB Joystick (121:6) on port #1.
[INFO] [udev]: Pad #1 (/dev/input/event1) supports 0 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev". -
The verbose log file shouldn't not be that large, even 100kb would be too large. The log would show if a remap has been loaded, but I can't see that from the messages you posted. However, P1 is using
/dev/input/event2
while P2 is using/dev/input/event1
, that makes me think you may have a remap active.Can you check if at the beginning of the load you have some messages about an input remap being applied/loaded ?
-
The only remap I saw was for saves. Here is my runcommand.log file:
https://pastebin.com/7v67SJe0the last line of the file (shown below) repeats well over a thousand times but I cut almost all of them out of the log file i put on pastebin for sanity's sake.
[libretro INFO] [MAME 2010] 'maincpu' (FFA649F0)[libretro INFO] [MAME 2010] (no context): unmapped program memory word write to 01D01070 = 0000 & FFFFThanks!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.