Guide: Setting Up a RetroPie controls using IPAC2 Controller - Extensive Tutorial + Preconfigured files
-
Wondering if someone here can help me out with this. Waimea said that their IPAC2 was recognized as 2 gamepads after upgrading the firmware. Reading through the documentation, the IPAC2 definitely will function as 2 separate gamepads with firmware 1.34.
I upgraded to 1.34 and programmed both the P1 and P2 sides of my IPAC2 as gamepad inputs but when I hook it back up, Retropie only sees one gamepad detected? When programming the gamepad inputs, I programmed both P1 and P2 on my IPAC2 identically because I thought that since it looks at each side of the board as a separate gamepad that should be ok? Is this where I've gone wrong?
Any help is much appreciated.
-logga
-
@loggahead Most people with IPACs that I have worked with with avoid using the gamepad configuration and opt to reconfigure their IPAC into Keyboard mode. New firmware or not, you should be able to use the WinIPAC utility to save the mode as Keyboard.
After that, you can pretty much use the default MAME keys for everything. Just be mindful of IPAC "shift" function which behaves a lot like a hotkey. This can obviously cause confusion when it interferes with RetroArch hotkey functionality.
-
@caver01 Thanks for the reply!
So, I was originally using my IPAC2 in keyboard mode with the default layout from Ultimarc and came across the following issues that I couldn't resolve (maybe someone here can help with them?):
-
On a clean 4.3 install using only the global retroarch.cfg (configured at first boot using emulationstation), Irem's Ninja Spirit (nspirit.zip) on lr-mame2003 would register multiple actions on a single button press after using Quick Menu / Controls to swap the A / B / X / Y mappings around. I didn't like the default layout for attack, jump, and weapon and all I wanted to do was move them around using the quick menu like I do for other systems like nes, snes, etc. However, Button 4 always registered mulitple actions before I changed anything in the quick menu. After I moved things around in the quick menu, at least 2 buttons (maybe 3) were then registering multiple actions.
-
Altered Beast (altbeast.zip) on lr-mame2010 registers multiple actions on one button press (jump and kick happen with one press) with a default IPAC2 config. No Quick Menu changes, no custom retroarch.cfg files. Very Odd. Not sure why? I even tried to use the MAME menu by pressing TAB to set the controls that way and I would still jump / kick with one button press.
-
On a fresh install, my A button (left ctrl on the IPAC2 I believe) can't be used as enter on any of the system config screens but I guess I can easily over come that by programming the IPAC2 for that input to just be ENTER?
At any rate, I don't know why 1 and 2 are happening but if it's happening on those 2 games, I know I'm going to come across others that do the same thing. However, I found that when I configured P1 as gamepad inputs on my IPAC2, none of those issues exist. No problems, everything just works as it should. So it feels to me that if I can get my IPAC2 registering as 2 gamepads then my life tweaking Retropie is going to be MUCH easier?
I emailed Andy at Ultimarc last night about dual gamepad support and firmware versions and here was his reply to me:
1.36 is the dual gamepad version. I don’t have this quite finished for the I-PAC 2 yet. Its only I-PAC Ultimate I/O at the moment but should be able to get this done later today and I will send it.
So the good news here is that I should be able to give this a shot very soon?
Regardless, I am very interested in your thoughts, comments, suggestions, on the issues I am experiencing in keyboard mode with default keys mapped?
-logga
-
-
@loggahead Unfortunately, this can get pretty confusing because of all of the layers, both in terms of key mapping logic and in the case of arcade buttons, wiring. However, there is definitely an explanation for your problems if you are willing to step through each layer.
First is IPAC keys coded into the board for each input (SW1, SW2, etc,). This is a combination of how you wire to the board, and the positions of your buttons, along with how the IPAC keys are defined in WINIPAC utility. This is effectively how your "keyboard" controller is setup and what buttons = what keys.
Next layer is RetroArch. Because lr-mame2003 is a libretro emulator, RetroArch sends virtual gamepad inputs defined in the retroarch.cfg or controller setup via Emulation Station first run.
Next layer is the fact that lr-mame2003 interprets BOTH raw keypresses from the keyboard hardware AND the virtual inputs from RetroArch. If the mapping is doing double actions, this is probably why. The virtual input is going to one action, and the raw key is going to another as defined with default MAME keys.
FInally, you have the TAB GUI interface for MAME itself. Here, you can remap keys for each game, or for all games in general. You will quickly notice the double inputs when you map a button/key and it shows up as TWO inputs, one that is the RAW key and the other that is the RetroPad virtual input from retroarch.Somewhere in these layers is where you will find the double mapping. As you can see, there are a lot of variables so I don't have an answer, except to show you how it strings together so you can find your issue.
-
@caver01 said in Guide: Setting Up a RetroPie controls using IPAC2 Controller - Extensive Tutorial + Preconfigured files:
Somewhere in these layers is where you will find the double mapping. As you can see, there are a lot of variables so I don't have an answer, except to show you how it strings together so you can find your issue.
I hear you and thanks for the further explanation. I think I remember seeing double inputs when I tried to reconfigure them in the MAME menu on one of the games.
I do have a question while we are on this subject. I know that when you save input "Configurations" using the Retroarch menu when running an emulator that it saves a retroarch.cfg under the emus config folder and that it takes precedence over the configs/all/retroarch.cfg, but where are Quick Menu Overrides (both Core and Game) saved? And where are MAME menu control changes saved?
On a sidenote, Andy at Ultimarc just emailed me the 1.36 firmware which includes dual gamepad support for the IPAC2 so I'm going to give that whirl tonight.
-
@loggahead said in Guide: Setting Up a RetroPie controls using IPAC2 Controller - Extensive Tutorial + Preconfigured files:
where are Quick Menu Overrides (both Core and Game) saved? And where are MAME menu control changes saved?
Core configs are saved under
/opt/retropie/configs/EMULATOR/
.
Per game retroarch configs are in the respective rom directory and named for the rom, like:dkong.zip.cfg
.I don't typically manage any of the retroarch remapping using the Quick Menu RGUI. For one thing, I have hotkeys disabled on my arcade cabinet, so accessing the Quick Menu is not quick at all and requires me to connect a keyboard. I do all of my edits, whether overall using the
/opt/retropie/configs/all/retroarch.cfg
, individual emulators using the respective configs folder, or per ROM using the file next to the rom manually. I edit these files by hand.The mapping configs created by lr-mame2003 using the MAME GUI (TAB) which are not human readable are described here:
https://retropie.org.uk/docs/lr-mame2003/ I use the MAME GUI all of the time to override the RetroArch mapping. I find this much faster and easier since it always exactly represents the inputs for the game instead of the virtual retropad inputs. In other words, I can interact better with the MAME GUI with less mind-bending logic required. -
@loggahead Did that firmware fix help your issue? It doesn't effect a lot of my games, but i can't play any Mortal Kombat games or the D&D beat em ups, since they require too many buttons and I end up coming across the issue where mame2003 is registering the button i am pressing, and the raw keypress (if I understand the issue correctly). I'm dying to know how to fix this, so anything you have found out will be appreciated. Thanks.
-
I can confirm that IPAC2 with the latest 1.36 firmware and setup as gamepad, works fine in retropie 4.3 and seen as 2 gamepads.
-
So when editing the /opt/retropie/configs/psx/retroarch.cfg
Do i need to copy and than edit the whole
/opt/retropie/all/retroarch.cfg
and then make my changes or can I just paste the difference in button mappings I want for THAT system into the
/opt/retropie/configs/psx/retroarch.cfg
above the line of course.
? -
@pingywon I think you should use the RetroArch menu (RGUI) and do the mapping there, then save them by core. You can start the RGUI by using the
Select + X
key combination. -
@mitu Ill look into that this evening. Its just making me crazy with this current button layout in some of the emulators
-
@timbone316 Number 1, I am SO SORRY to be 2 months late to replying to this thread and answering your question! Better late than never?
Number 2, YES, the updated IPAC2 firmware fixed all of my issues. Having my IPAC2 be recognized as 2 individual gamepads integrates so much nicer with Retroarch. Makes things much much more simple imo.
-
Thanks for this fantastic explanation. I came a long way myself figuring all of this out the hard way, but your description is very vivid and easy to follow. Apart from setting the button mappings I have a different problem with my setup: Using the "attract mode" frontend for selecting the games an navigating between the emulators, the sensitivity of my IPAC and/or game buttons is much to high. For example, if I select "Quit" in retroarch to leave the emulator and return to "attract mode" the single short click on the "Quit" is enough to restart the game within the frontend. So it usually takes me a couple of start/exit repetitions until I hit the button so shortly that I stay in the frontend and can select another game. Also the up/down sensitivity in the menu is much to high, I often skip over the desired option.
Do you have a solution for this one too?
-
What a fantastic guide @theink, I am just a few weeks in to Retropie and have been searching for knowledge. I have built my own bartop and am using the IPAC2 with illuminated buttons. I have had some artwork done by a local guy in the theme of Ghosts & Goblins, looks pukka :)
The controller options has been a pain and something I`m currently working on. Your config files and explanation is now giving me a foundation to getting this fixed.
One question and I`m sorry if it is a stupid one, my Arcade section is a mix of mame2003 and fba2012, where in the files are the buttons for insert coin and 1P / 2P start ?? I have gone over the retroarch.cfg and see all the mappings for all of the buttons except these, what am I missing ?? Many thanks in advance :)
-
@mexman_uk You should be able to find
input_player1_start = "enter"
for example inside the/opt/retropie/configs/all/retroarch.cfg
and the coin buttons are actually the same as SELECT. -
@caver01 Perfect Many Thanks :) Works A Dream
-
Thank you for this.
This really helped a proper noob like myself. -
I know this is an old thread but just an update for those that are trying to figure out how to toggle the ipad2 to be recognized as dual gamepads: firmware version 1.50a of the ipac2 can now be downloaded and installed. It allows for multiple modes to be configured.
The default button configuration on Retropie can be used to setup 2 joysticks wired to an ipac2 in minutes.
-
@braintez I set up two joysticks via keyboard mode on ipac. The next step is figuring out how to set it up so I can plug in usb controllers into the RPi for players 3 and 4. I wonder if I should go back and set up my joysticks via joystick mode in the ipac - for ease of designating controller order/preference. Thoughts?
-
I’ve just came across this thread, I’m currently wiring up my arcade machine as per the attached button layout, with the buttons connected to the numbers shown on my ipac2.
Presumably I can follow this guide, using the pre-configured files, editing them to remove the buttons I've scored out above?
Also, I’m planning on using a pi 4 in my arcade, but will be setting up on a pi 3 at the moment, presumably I will be able to copy the .cfg files to the pi 4 and have it setup?
Thanks,
Stewart
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.