If you have purchased an Ipac2 and want to save time......
-
@battlecat No, there isn't a standard "How To" for iPAC, but there should be, and I expect it should be a collaborative work in progress. It needs to be in the controllers section of the wiki.
There is actually a lot of ground to cover with the different models, and I was initially keen on writing the wiki page myself, but I realized pretty early that my experience is atypical. My iPAC4 is an older model that functions as a PS/2-USB keyboard only, no gamepad. So, if anything, the wiki I would write would not apply to most users. It could be abstracted as a "Keyboards" how-to with some additional details about iPAC (shift function for example).
At this point, I think it's also important to maybe align with Andy at Ultimarc. Some discussion has included re-flashing the firmware, and I'd like to understand his view on this, as it may not be necessary to do that with the right process documented--again, my iPAC is not representative of this.
-
@caver01 I own the Ultramarc iPac2. When I have used it in the past the iPac2 worked great on all other front-ends. I mainly used it just for arcade cabinet setups. I know that there are a list of keystrokes that it generates when say a button is pushed or a joystick is moved. I also understand that MAME expects the ESCAPE key to be pressed to exit a ROM. The iPac2 sends the ESCAPE signal when you hold P1 and then press P2. This has worked in the past for me.
I am unsure, after playing with the settings so frequently, if RetroPie's setting are set to default on this action. In other words if the iPac2 works out of hte box with the MAME emulators in RetroPie.
What I have to keep reminding myself is that the Emulation Station front-end can have a completely different set of key mappings than the emulators that it loads. Yes?
Well I am willing to toy with my iPac2 if you need someone to test things out on. I think that just getting iPac2 and iPac4 sections in the wiki is a great start as they are or at least were the most popular forms of arcade to computer interface for a very long time.
One thing I can say is I am not keen on changing the iPac2 by flashing it or by having to go to a windows machine to load the software to change keyboard commands. I haven't owned a Windows machine in 15 years.
Thanks,
BC -
@battlecat We basically on the situation. How old is your iPAC2?
My understanding is that modern versions of the hardware identify as a gamepad instead of a keyboard which is causing some confusion. Mine doesn't do that, and I too have used it for years on other front-ends and hardware platforms without issue, as MAME has always been built around keyboard input by default. In fact, I remember projects where people would literally hack an actual keyboard and solder their button wires to the keyboard key switch contacts.
Maybe I'll shoot a note to Andy and explain our perspective. I am a big fan of my iPAC4, so I appreciate Ultimarc's long history of building devices to support this hobby. What I want to avoid is making recommendations that contradict the design choices he has made with more recent firmware if there is a better way to do it. It's just that my iPAC is so old I can't verify anything, and depending on how long you have been using your iPAC2, you may be in the same boat.
-
@caver01 So newer version of the iPac2 and iPac4 have something in them that ID them as gamepads not as a keyboard but still have the same original MAME default keymap signals?
-
@battlecat When I purchased mine and plugged it in, retropie detected it as a game pad. I got "one game pad detected" on a fresh install. Now the problem is that if you configure it using the auto detect sequence, all goes well until you try to add configs for player 2. It just does not work. If the auto detect said "two game pads detected", you could go ahead and configure two sets of controls. When I made the purchase, I expected to see "Keyboard detected". The only solution I found was to configure a keyboard first for one player with the device not connected. You can then replace the keyboard with the iPac and it just works. I then had "Ipac not configured" in retroarch which can be hidden but suggested my method was incorrect. However, my method works and continues to do so and as a result, I have not had to re-flash the firmware. In fact, I don't really wish to reconfigure a thing by connecting it to windows as the MAME configurations remain as the default setting. I sent an email off and Andy responded quickly with an alternate firmware which I have not yet had to use, here is my email and the response:
"I have purchased an Ipac2. I have connected it to an install of Retropie 3.8.1. It appears to be recognized as a joypad on boot up and can be configured but only for one player. Even editing configs don't seem to enable player 2. So I solved it by connecting a keyboard and configuring that since it was recognized as a keyboard. Then I unplugged the keyboard and plugged in the ipac. Now everything works. However, I get a yellow warning telling me that the ipac is not configured as roms are launched. I cannot help but think my solution is incorrect. Do you have any advice that you could share? I have a fully working 2 player setup but I would quite like to use the device properly as intended. I thought it would be detected as a keyboard?"
"I believe there is a bug in Retropie which prevents it working properly if it detects a game controller present. I wish they would fix this! But in the interim I have attached firmware for the I-PAC which disables the game controller device and it is only a keyboard. A PC will be needed for the upgrade."
It seems as though he is aware of the issue........although it is still a keyboard decoder, emulationstation "sees" it as a game controller. It looks like retroarch sees it as an Ipac though hence the yellow warning. With regard to a guide, I have spent many hours tweaking but like @caver01, I am not totally sure about how to advise on the game pad thing at all or why it even there in the first place.
-
My IPAC2 is a recent purchase so, while not guaranteed - I'm guessing it's a new(ish) model.
Now, all I've ever done is plug it into the Pi after a standard Retropie install and it worked - I believe it's in keyboard mode as if I drop to a shell, I can type in standard keys with it (for both player 1 and player 2).
Player one didn't work initially but as mentioned above, I edited the default retroarch.cfg ti
input_player1_a = alt
input_player1_b = ctrl
input_player1_y = shift
input_player1_x = space
input_player1_start = num1
input_player1_select = num5
input_player1_l = z
input_player1_r = x
input_player1_left = left
input_player1_right = right
input_player1_up = up
input_player1_down = down
input_player2_a = s
input_player2_b = a
input_player2_y = w
input_player2_x = q
input_player2_start = num2
input_player2_select = num6
input_player2_l = i
input_player2_r = k
input_player2_left = d
input_player2_right = g
input_player2_up = r
input_player2_down = fin folder (/opt/retropie/configs/all) and then player 2 works (this I'm sure confirms I'm in keyboard mode too).
As mentioned above, I also get a yellow "warning" when I start games saying something along the lines of:
"Ultimarc ipac not configured"
-
@BigLarry Can you clarify that you did not use auto configure at anytime? That is where I had the issues. If not, you have done what I did to get it working.
-
@rbaker My older iPAC4 (with PS2 interface, and adapter to USB) does not show any errors when I launch games. I did, however, have an additional USB keyboard connected during the initial setup. The first few boots require some editing of configs, setting up localization, etc. and I usually do this with an additional USB keyboard, but the first boot into emulation station has me working through first-time controls setup sequence using my joystick and buttons, after which exit out of ES because my screen is upside down etc.. Once I have my Pi configuration setup, I start copying over roms and CFG files and eventually, I unplug the external USB keyboard and run solely using the iPAC.
I suppose I could do a test with a new RetroPie image and no other USB keyboard connected to see if ES prompts that it has detected a gamepad or not. I think it detects NONE and I have to hold a button down for the setup sequence to decide it's using a keyboard.
-
@rbaker I just plugged it in and went from there to be honest - I wouldn't know how to "auto configure".
-
@BigLarry When you boot up retropie for the first time, Emulationstation detects the Ipac and you have no choice but to autoconfigure it if it is plugged in. Did you not see this screen? If you didn't I am definitely missing something.
-
Sorry,
I think I know what you mean now! My excitement at getting playing games probably made me forget that step.
I first turned it on and I got a white screen where I had to tell it what lots of different commands where ie DPad left etc etc?
I basically moved the joystick and pressed buttons to get to the bottom and then got stuck at pressing "OK"
In the end player one and "left" on Player 1 joystick got me passed that bit.
After that everything seemed to fall into place and be OK as default (ie apart from enabling Player 2 in retroarch.cfg as above it just "worked")
-
@BigLarry Now that is an interesting thing. For me, no adjustment of the 2 player setting in retroarch worked after that autoconfigure. But...I was on 3.8, so maybe there is something "new" that doesn't cause my issue. Next time I rebuild the software, I shall investigate and report back my findings.
-
Hello:
I sat down last night and thought about what I did to get my iPac2 (vintage version) to work with the Retropie setup on my Raspberry Pie 3.
I started by hooking an old gamepad up to the RP3 via USB. It was old and didn't have a ton of buttons but that is fine with me.
On the first boot of RetroPie I walked through the white screen keypress process.
Once this was completed I was able to navigate around the menus and get into and out of NES, SNES, Genesis menus. I was also able to get into and out of MAME. I was able to load a MAME rom and start the game. I was also able to exit the game back to the RetroPie menu.
I attached the RP3 to my iPac2 and found that it wanted me to go through the whole White Screen keypress process again. I did this but the buttons the screen was asking me to press such as Right shoulder button or select button made no sense when using an arcade setup.
Sadly Retropie seems to be incapable of detecting the iPac as an iPac. It also offers no option to treat the controls as anything other than some form of a handheld controller.
After that edited the retroarch.cfg just for MAME and that seemed to work fine for MAME games. It of course did not seem to do anything for the console games as I did not play with them.
A difficulty comes in that console controllers and arcade setups are nothing alike physically.
I will be playing with the unit over the weekend. Anything anyone want me to try out if I can?
--BC
-
Something in retropie keeps the iPac2 from being seen as a keyboard. You need to update the firmware of the iPac so that it can be recognized as a keyboard. I was able to update the firmware of the iPac 2 to get it working. I contacted support at ultimarc and they sent me the proper firmware. Instructions to update can be found here http://www.ultimarc.com/fwupgrade.html. I have a Mac with a virtual windows machine and was able to update the firmware that way. I was then able to configure my control panel for player 1. I then went into the retroarch.cfg and configured the controls for player 2 as shown earlier in the thread. I think the recent iPacs might come with the correct firmware but ones prior to that need to be flashed.
-
@mrbone is flashing really necessary if you're going to edit the .cfg file for a P2 anyway?
-
@battlecat No it isn't, if you configure a keyboard first, you can then edit .cfg. If you follow autoconfigure, those changes make no difference. See my very very first post in this thread.
-
Think there is ever the chance that the devs might add in before configuring a console controller the option to configure a non-console encoder like iPacs are?
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.