Guide: Setting Up a RetroPie controls using IPAC2 Controller - Extensive Tutorial + Preconfigured files
-
I created a GitHub Repository for the manual:
https://github.com/iberov/retropie_ipac2_setup_wikiI will probably keep fixing things in it in the future.
Since I'm not a programmer I might have misused some terms.
If any of you have suggestions for improvement, please come by. -
Fantastic work, sir. This is a really good tutorial.
-
@theink Very comprehensive coverage of the process. Some of us have been discussing the need for a "Keyboard Controller" wiki page, and this may be the best start to it. Your story is obviously specific to your own project, but with a little pruning or qualifying as "one example" I think it could serve well. As an IPAC4 user, I was following along thinking, "yes. . .YES" as I followed each step. I think it is fair to admit that using a keyboard controller is somewhat nuanced, akin to building and wiring your own gamepad. The choices when you are looking at button holes, wires and screw terminals can be a little daunting to say the least, but your description carries the reader through the process--including some of the planning involved. Well done.
Do you have a github account? Perhaps you would be willing to take a crack at this? I am happy to assist.
<EDIT I see you posted it above>
Some version of this definitely belongs on a new page here: -
@caver01
I think I can manage this.When I was writing this guide I put a lot of consideration if it would be better to structure it in a more broad way and be formal about the subject or to follow a more personal approach. As I'm not really a programmer I thought that I would ineveadbly mess up some terms of expressing myself.
My own experience is telling me that it is easier to understand how something works from inside if you follow a specific case and then tweak it accordingly to your needs. On that matter, I'm curious for some input.
How and what parts of this text you think can be restructured in a more lie "a solution for all cases" type tutorial?
Another note.
I shared my idea about building a .cfg file generator with an interface similar to the template files I showed.
It is still on the table, but I think this would be fairly easy to achieve If he has the time to do it.
What can eventually be built could be an all case solution. -
@theink First of all, all of the diagrams are excellent examples that can apply broadly. I loved seeing the line in the retroarch.cfg tied directly to the button you wanted mapped, which of course ties directly back through the process to how the button was wired to the IPAC.
When I was going to write the Wiki for IPAC keyboard controllers, I was going to place it alongside the other controller options and introduce it with something very general, describing our particular use case: building a cabinet or a custom control panel using arcade parts. One good option that has been around for many years (predating RetroPie) has been to use a keyboard controller--a USB device that looks like a keyboard to the computer, but without keys. Instead, you have screw terminals you wire to buttons, and ideally, these are laid out for arcade system builders. A good example is the IPAC.
Then, I had hoped to orient the rest of it illustrating how the IPAC is setup, recognizing that other keyboard controllers might be similar. With your documentation already written, you could move through it more or less as you did. The layout, drilling template etc. are all great, but not really part of this, yet they do setup your examples. It would be easy to adjust with something like, -"Say you are building a 2-player panel with 8 action buttons, Coin and Start and joysticks for each." Then you go right into your setup.
These are minor tweaks, but more about making your excellent guide feel applicable to a wider audience.
One thing that is needed, especially for newer IPAC is some acknowledgement of the gamepad/keyboard configuration. You mentioned it after configuring your board with WinIPAC. Not everyone will have the utility, or access to a windows system. My IPAC4 is so old it is no a consideration, but I have heard about two ways to ensure KEYBOARD functionality out of the box. First, you use an external, actual keyboard to configure Emulation Station on first run. This initial detection is what gets people stuck, but there are accounts of new IPAC owners just using an extra keyboard to get through the initial setup in ES, then doing the mapping as you did in the .cfg files. The thought here is to endorse the configuration of the IPAC as it ships, and not require extra steps with WinIPAC. There are other accounts of folks reflashing their IPAC with different firmware from Ultimarc which might be ideal, but is no easier than using WinIPAC.
Anyway, those are my thoughts. I think you have a great document here that more people need to see.
-
@caver01
Thanks for the comment.I read some of the pages in the controller section of the wiki.
It seems that a substantial part of this text could fit on a page dedicated to Arcade Controllers.The problem with arcade controllers though is that the button layout can be widely different.
Because of that, I thin what I have written in Step 3 should be expanded in a section, showcasing the standard button layouts established by arcade building companies like Capcom, Midway etc.When this part is established the next one should probably suggest how the RetroArch controls could be mapped over the different button layouts to match the functionality.
After that, I suppose I could proceed with the specific example.
There still thing I have to consider. I will think about it in the coming days. -
@theink
Thanks much for your guide!Do you know by any chance if the kit you have purchased is available on US Amazon or Aliexpress? Does it have any brand or model name included somewhere?
The reason I'm asking is it appears there are many different manufacturers and some of their kits are certainly better than others. I'm going to build a bartop arcade soon and I was looking into Sanwa joysticks and buttons as I have only heard good things about them. The problem is it's hard to find which kit is original Sanwa and which is not.
-
@theink i think you could overcome the panel differences with just a few statements like, "when building an arcade control panel, there are many considerations that can affect your layout. Not all games are the same, so you will have to decide how many buttons you want to have and where they are located. No single layout will fit every arcade game perfectly, so there is always some compromise between what works for the games you want to play and what is practical." Then you can go on using your own example, "in the following example, we have an 8 buttons design for players 1 and 2," and so on.
-
@theink
Do you have the raw image file(ie Photoshop file if thats what you used) for this so, I can edit it with my custom buttons... I really like it... Once again you have done a great job!!!
-
Hi @theink ,
Thanks so much for your extensive guide about setting up Retroarch with different controllers and MAME !
I think it is the best guide ever, on the internet there are so many "guides" and partly right or wrong statements where you get completely lost...
I am working on my arcade cabinet to make an update on my first install which was not 100% OK, using your guide step by step on Github. If you are interested I can keep you informed about the progress and the end result...I have only one question at the moment:
I tried to import your xml file into my IPAC2 but it failed, saying there is an unexpected error in line 42....
I am using my IPAC2 with Winipac version 1.0.8.10 under Windows 10 home, my IPAC board has hardware version 1.33.
Can you take a look at your xml file "IPAC2 Config - v4.xml" or do I need to upgrade to the recent firmware? -
Step 5: Does anyone have I-PAC2 Config for 2 players with 6 buttons?
-
@waimea I have one, is the retroarch.cfg that you want? I'm not at home at the moment but I can send it to you later.
-
Perhaps you could upload it here so I can edit my retroarch.cfg?
-
@tuki_cat You will also need to include a wiring table for which SW# inputs are wired to which button locations and what keyboard key is configured for each.
There are layers of abstraction here, so by the time you get to the retroarch.cfg, you have already made several config decisions upstream.
-
@waimea - Here is the relevant section of my retroarch.cfg (https://pastebin.com/bPhzKrLr)
@caver01 - I am using all of the standard IPAC keys as outlined on the Ultimarc website - https://www.ultimarc.com/ipac2.html. I haven't changed any of them, they are all default settings. That being the case is there any reason that you know of why @Waimea can't use this layout?
-
I think there is new firmware that makes the I-Pac 2 register as two gamepads.
-
@tuki_cat he can use it, but the missing link is "six buttons". You are using Ultimarc defaults, that is a good start. But what switch#s are wired to what buttons? Ultimarc does not decide how you wire your buttons and where you drill the holes in your panel. Unless @Waimea has that detail from you, the configs may match, but the buttons won't. Make sense?
-
@caver01 For example, I have my panel wired like this for Players 1 and 2:
UP SW1 SW2 SW3 LEFT RIGHT DOWN SW4 SW5 SW6
-
I have my buttons set up like this (the LP, MP, etc is Street Fighter II specific!):
Player one
Top row from left to right
LP - lctrl (P1 button 2)
MP - lalt (P1 button 3)
HP - space (P1 button 5)Bottom row from left to right
LK - lshift (P1 button 1)
MK - z (P1 button 4)
HK - x (P1 button 6) -
@tuki_cat Ha ha ha. Now you see my point! Your switch locations are totally different than mine. Yours maybe simplifies things for fighting games. Mine probably leads to remapping. But mine is how I have been wiring the Ultimarc for over a decade.
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.