VMCosco Posted December 12, 2019 Share Posted December 12, 2019 (edited) I am working on an arcade box that will be running MAME along with emulators for console games. My goal is is to use the built in arcade controls for MAME and then be able to plug in USB gamepad(s) to use for console games (RetroArch). This is all running on a PC. Thinking about going with Mag-Stick plus and Mini-PAC and using the USB connection. Is there a way to setup MAME to ignore the USB gamepads and only recognize commands from the Mini-PAC? Conversely, if I bind the P1 and P2 controls in RA to the gamepads, the Mini-PAC joysticks will be ignored correct? Edited December 12, 2019 by VMCosco Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 12, 2019 Share Posted December 12, 2019 3 hours ago, VMCosco said: I am working on an arcade box that will be running MAME along with emulators for console games. My goal is is to use the built in arcade controls for MAME and then be able to plug in USB gamepad(s) to use for console games (RetroArch). This is all running on a PC. Thinking about going with Mag-Stick plus and Mini-PAC and using the USB connection. Is there a way to setup MAME to ignore the USB gamepads and only recognize commands from the Mini-PAC? Conversely, if I bind the P1 and P2 controls in RA to the gamepads, the Mini-PAC joysticks will be ignored correct? If you set the miniPac to keyboard mode, you can use keystrokes in MAME and than set no keys in your Retroarch default.cfg and it will use the usb gamepads only in Retroarch. No need to worry about joystick indexes than, I have mine set up like that, except I have my default.cfg in Retroarch mapped to the Arcade controls so I can use them or my XBox controllers. Quote Link to comment Share on other sites More sharing options...
VMCosco Posted December 13, 2019 Author Share Posted December 13, 2019 1 hour ago, Headrush69 said: If you set the miniPac to keyboard mode, you can use keystrokes in MAME and than set no keys in your Retroarch default.cfg and it will use the usb gamepads only in Retroarch. No need to worry about joystick indexes than, I have mine set up like that, except I have my default.cfg in Retroarch mapped to the Arcade controls so I can use them or my XBox controllers. So in doing it this way, will I be able to leave the gamepads plugged in all the time? I am trying to avoid having to plug and unplug. Right now I am using a USB Mayflash stick for MAME and I have to completely unplug it and plug in a gamepad for the console games. Quote Link to comment Share on other sites More sharing options...
DOS76 Posted December 13, 2019 Share Posted December 13, 2019 sounds like you need to look into this. https://docs.mamedev.org/advanced/devicemap.html This way MAME always knows what control is which Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 13, 2019 Share Posted December 13, 2019 30 minutes ago, VMCosco said: So in doing it this way, will I be able to leave the gamepads plugged in all the time? I am trying to avoid having to plug and unplug. Right now I am using a USB Mayflash stick for MAME and I have to completely unplug it and plug in a gamepad for the console games. If you are replacing the USB Mayflash stick with a Mini-Pac in keyboard mode, you will greatly simplify your set up and avoid most issues. If you want to use multiple USB devices, especially ones that are hot pluggable, that doc DOS76 posted is a must read to maintain a static device order so your MAME set key mappings stay consistent. Be aware that MAME deletes key mappings to hot pluggable devices if they aren't attached when MAME is started. To avoid that you'll have to set cfg files for those games to read-only. Quote Link to comment Share on other sites More sharing options...
VMCosco Posted December 13, 2019 Author Share Posted December 13, 2019 56 minutes ago, Headrush69 said: If you want to use multiple USB devices, especially ones that are hot pluggable, that doc DOS76 posted is a must read to maintain a static device order so your MAME set key mappings stay consistent. The Mayflash is only temporary until I build my cabinet. Then it will be replaced with the miniPac. No other devices will be used for MAME. The two game pads will stay plugged in but will only be used RetroArch console emulators. Does than mean that I need to set static key mappings so that the miniPac is static? Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 13, 2019 Share Posted December 13, 2019 (edited) 5 minutes ago, VMCosco said: The Mayflash is only temporary until I build my cabinet. Then it will be replaced with the miniPac. No other devices will be used for MAME. The two game pads will stay plugged in but will only be used RetroArch console emulators. Does than mean that I need to set static key mappings so that the miniPac is static? You will NOT need a static mapping for the Mini-iPac. Normally MAME does not use multi-keyboard mode and all keyboards and keyboard encoders (like the Mini-iPac), appear as the one device. Edited December 13, 2019 by Headrush69 Quote Link to comment Share on other sites More sharing options...
VMCosco Posted December 13, 2019 Author Share Posted December 13, 2019 17 minutes ago, Headrush69 said: You will NOT need a static mapping for the Mini-iPac. Normally MAME does not use multi-keyboard mode and all keyboards and keyboard encoders (like the Mini-iPac), appear as the one device. Great. Sounds much easier. Back to you first reply: Do I have to change something in MAME to use keystrokes? How do I set “no keys” in the RetroArch config? I may be interested in setting my config up like yours. I may want to use the arcade controls for Atari 2600 games Quote Link to comment Share on other sites More sharing options...
DD13 Posted December 13, 2019 Share Posted December 13, 2019 4 hours ago, Headrush69 said: If you set the miniPac to keyboard mode, you can use keystrokes in MAME and than set no keys in your Retroarch default.cfg and it will use the usb gamepads only in Retroarch. No need to worry about joystick indexes than, I have mine set up like that, except I have my default.cfg in Retroarch mapped to the Arcade controls so I can use them or my XBox controllers. How do you successfully map the arcade controls in retroarch? I have an xtension control board and want to use it for all ROMs under retroarch. Even the player 1 will bind, but not save under autocofig. Says no core, 1.7.7. Any help would be appreciated! Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 13, 2019 Share Posted December 13, 2019 3 minutes ago, VMCosco said: Do I have to change something in MAME to use keystrokes? No. Just set your keys as needed. I would start with General input and than only change specific games that differ from those defaults. 5 minutes ago, VMCosco said: How do I set “no keys” in the RetroArch config? If you look at the file Retroarch-> retroarch.cfg and look for input_player# entries, you can set any not wanted to "nul". I would suggest leaving that until you have the rest of Retroarch set up as you want. I have my arcade controls set to resemble a Retropad layout, so I have the option to use the arcade controls or the XBox wireless controllers. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 13, 2019 Share Posted December 13, 2019 (edited) 11 minutes ago, DD13 said: How do you successfully map the arcade controls in retroarch? Just edit Retroarch -> retroarch.cfg and set input_player# entries to the keystrokes that match your setup. Here is part of my retroarch.cfg player 1 control settings, which I believe are the standard iPac layout. Quote input_player1_a = "z" input_player1_b = "v" input_player1_l = "ctrl" input_player1_l2 = "space" input_player1_l3 = "u" input_player1_left = "left" input_player1_r = "alt" input_player1_r2 = "x" input_player1_r3 = "y" input_player1_right = "right" input_player1_select = "num5" input_player1_down = "down" input_player1_start = "num1" input_player1_up = "up" input_player1_y = "c" input_player1_x = "shift" Edited December 13, 2019 by Headrush69 Quote Link to comment Share on other sites More sharing options...
DD13 Posted December 13, 2019 Share Posted December 13, 2019 Thank you for your input, Headrush69. That mapping sequence is reasonable. However the issue I ran into is that even with 1st and 2nd player mapping, I seem to have to use both player buttons just to move one character. For example, SNES Castlevania IV, the a button makes the character jump, and the joystick works fine. However I have to press a button in the second player area to make him whip. Even when I isolated the input needed to whip, and place it within the player 1 control, it still defaults to the second player position. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 13, 2019 Share Posted December 13, 2019 Without seeing your configs, I would guess either you have something configured wrong in your retroarch.cfg or your default iPac key map. (You don't have any previous saved Retroarch remaps do you, by core, by directory or by game?) Quote Link to comment Share on other sites More sharing options...
DD13 Posted December 14, 2019 Share Posted December 14, 2019 Headrush69, thank you. Unfortunately it appears that I could literally map the control board in any way but the controls in the game remain the same. I save before exiting retroarch, but get an error message saying ‘no core’ when attempting to ‘user 1 save autoconfig’. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted December 14, 2019 Share Posted December 14, 2019 You can't map keys in the GUI. You have to edit Retroarch/retroarch.cfg manually. You can see from the post above a sample of my player1 key mappings in retroarch.cfg. You will need to know they keys that are mapped to each of your controls, which you can see in the WiniPac application. My control panel as 8 buttons each player, so I assign them to Retropad buttons A, B, X, Y, L1, R1, L2, R2 and the joystick to the D-Pad. Quote Link to comment Share on other sites More sharing options...
DD13 Posted December 14, 2019 Share Posted December 14, 2019 I could use help with setting up confine manually. Sorry, but I’m a noob but dedicated to getting this done! Any video to help with this? Do you want to help me 1:1 via phone or something—I’d pay you for your time. Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted January 19, 2020 Share Posted January 19, 2020 On 12/14/2019 at 7:28 AM, DD13 said: I could use help with setting up confine manually. Sorry, but I’m a noob but dedicated to getting this done! Any video to help with this? Do you want to help me 1:1 via phone or something—I’d pay you for your time. The file you want to edit is Retroarch/retroarch.cfg The defaults are probably fairly close to what you the iPac defaults to, but look for the lines beginning with input_player1_ You can see from my example above that we are just setting the keys for a Retropad gamepad which is similar to a SNES joypad: Up, Down, Left, Right, A, B, X, Y, L1 = Left Shoulder, R1 = Right Shoulder, Select, Start. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.