If you have purchased an Ipac2 and want to save time......
-
Hello, I have been using the Ipac2 to run MAME emulations with no issues. Now that I have come to the part where I need to run retroarch emulations, I still can but only one player. Editing configs did nothing for me even after searching through the forums for days. The mad thing is that before I built the cabinet, I had it working with an Ipac! Anyway, to save you Ipac tweakers some time, please avoid using the autodetect sequence as it will be recognised as a joypad by default and not a keyboard. I read this somewhere and ignored it because it still worked but only for one player. If you fail to configure a standard keyboard first, you may have problems editing configs for 2 -player. Here is the order that worked for me:
- Clean install, Plug a keyboard in and boot the lot up.
- Configure a Keyboard.
- Backup your retroarch.cfg
- Edit retroarch.cfg with all your player 1 and 2 choices, hotkeys etc as detailed by caver01 here
- Save it and shutdown
- Remove Keyboard
- Plug in Ipac2
- Boot up and all your keyboard controls will now be mapped to your sticks automatically by the Ipac
There will be a yellow message saying ipac2 not configured as roms launch but fear not as it will work.
If anyone can shed light on the correct way to use the ipac2 if this isn't it, I'd love to hear about it.
Thanks to everyone on the forums who posted copies of their configs for me to try out.
-
This is exactly what I was looking for one question, do I need to configure the IPAC first with the Ultimarc software?
-
@rbaker @thrussmeister Go into the software and change all of the pins to gamepad instead of keyboard
-
@thrussmeister I haven't connected the device to my PC at all. I made the purchase primarily as it comes pre-configured for MAME emulators out of the box. I just tabbed into MAME and it recognised all the key strokes and away I went with Advance Mame and Mame4All. I rebuilt the romsets from a 0.111 set from 2007 and it worked great. I then made the mistake of connecting it all up then booting into Retropie to auto configure for libretro emulators. It said gamepad detected. No problem there I thought. Went through the config and it worked like a dream for one player. I then edited the relevant files to add player two in just the same way as I did for iBuffalo gamepads. No joy though. It would not work for whatever reason. There were odd things being written to the config files. The only way that I could get it to work was to carry out the above in that order. It worked perfectly. I still got "ipac not configured" though on rom launch so I decided to email Andy at Ultimarc asking how I could properly configure the device for the sake of learning really and to get rid of the not configured message. He got back to me really quickly and said that if Retropie detects the new model ipac2 as a joypad, Retropie will not configure it properly. He attached a revised firmware with joypad support removed that needs flashing in so that when you now plug in the ipac2, it is detected as a keyboard rather than a joypad and all is well. I am still unsure why you would ever want an ipac2 to behave as a joypad in the first place.
-
@lilbud Not sure I understand what you mean. Are you referring to the Ultimarc Winpac? If you are, I've never used it and would not be sure how to configure the "gamepad" aspects which I don't want. I just want standard keys. I was reassured when Andy sent me a revised firmware to sort it. I have not had the need to change the firmware yet because I have a working system but I have read people who have fixed their issues with it.
-
Never worked with MAME before, sorry I cant help
-
@rbaker said in If you have purchased an Ipac2 and want to save time......:
I am still unsure why you would ever want an ipac2 to behave as a joypad in the first place.
My old IPAC 4 is a keyboard by default--it doesn't detect as a joypad at all--and it works great. I expect that in order for joypad detect to make the most sense for an IPAC2, it would have to be detected as TWO Joypads. Maybe that's exactly what happens. I don't know, but it seems like flashing it as a keyboard makes more sense.
There is one oddity with keyboard controllers (probably not just IPAC) that I found in lr-mame2003. If you have the keyboard inputs configured through ES (and why wouldn't you?) then RetroArch is going to build virtual RetroPads as inputs for lr-mame2003. However, 2003 also responds to raw keypresses. The net effect is lr-mame2003 seems to receive two inputs--one from the virtual retropad and another as a raw keypress. This doesn't stop it from working, but it does prevent mame GUI input mapping from allowing <CODE_NOT> configurations. That's probably a rare need. Yet, it might also mean there are dual inputs going to the emu when using a keyboard. You can get around it by building a per-rom (or per core) retroarch.cfg that sets all of the retropad buttons to "nul". It doesn't seem to be an issue in lr-mame2010 because of how it converts virtual inputs to keys. It's a core problem, but a problem that might not matter to most people. Go her to head down that rabbit hole if interested.
-
@caver01 Wow. I am still trying to get this concept of Retropad in my mind. I have found some occasions where the switches and joysticks do not work suddenly and I have to disconnect the keyboard that I originally configured it with if I accidentally left it plugged in after doing some config stuff locally. Very odd and rare but it happens more than once.
-
@rbaker Yeah, this effect I described is a Libretro core issue with at least one arcade emu, but probably not an issue with console emulators whose primary inputs are joypads to begin with. In those situations, a keyboard-to-virtual-retropad actually makes a lot of sense and might be the only way keyboard controllers can work.
To put it in perspective, you don't have any of this going on in AdvanceMAME, but you can get into a mess with multiple keyboards there which is why I like to have my keyboard configured for RAW inputs in that emulator.
-
@rbaker I followed your steps exactly and cant get this to work for the life of me. I started with a clean install and plugged in a wired keyboard then ran through the auto-detect config sequence. I reboot then ssh into retropie and open the retroarch.cfg. I see the key inputs that were mapped for the keyboard I did and then changed them to what my arcade buttons are assigned by the ipac2. I just used the defaults it came with. I update player one and player 2 inputs then restart but it still just will not recognize the arcade buttons. I tested in the command line and the ipac is sending the right keyboard key inputs. It seems that when I change the .cfg file then reupload it has no effect whatsover. The original bindings are still being used when i auto configured. I know because the ipac button that is set as key "a" still acts as the key I originally set when the keyboard was actually plugged in.
I was even able to delete the whole .cfg file and it seemed to have no adverse effects on the system at all. All the inputs from the original auto config were working. I dont know if I'm changing the wrong file but I'm pretty sure I'm not its /opt/retropie/configs/all/retroarch.cfg.
I was able to run through the auto config with the wired keyboard and set them manually to what ipac assigns ie: sw1=ctrl, sw2=alt. and that worked but I still can not get player 2 to work at all. I'm really not sure what to do at this point. Any insights would be greatly appreciated. I can provide anymore details that might help troubleshoot this.
Thanks
-
@mrbone I had to change the firmware on my iPac 2 in order to get things working 100%. Here’s some quick instructions -
Download the zip file from the "Firmware” section at link below.
The zip contains various firmware versions. The version you need is “IPAC_2_143_NOGC.ufw”:https://www.ultimarc.com/download.html
Open the WinIPAC utility and follow the instructions at the bottom of the page (‘Upgrading Firmware’):
http://www.ultimarc.com/winipacv2.html
After completing the upgrade, I plugged the iPac into the Pi on its own, and redid the auto-detect sequence using my arcade controls. Any changes I make to /opt/retropie/configs/all/retroarch.cfg are now registered correctly.
-
@SloTayHolmes Thanks for the reply. I thought that might be the case. The issue is I only have a mac computer. Guess I'm just going to have to find someone with a windows machine and see if they will help me out. Glad to hear the firmware update fixes all the issues. I'm looking forward to getting this working. This will be the last piece of the puzzle to getting my arcade machine up and running 100%.
Thanks again!
-
@SloTayHolmes
I was able to update the firmware to the 143_NOGC using a friends PC. On boot it doesnt show the ipac as a gamepad but rather a keyboard. So that is correct now. However When I go to configure the retroarch.cfg for player 2 it still just will not work. I copy and paste all text from 1 player then change 1 to 2 and remap the keys for player 2 on the ipac. I restart and player 2 still wont respond. It works in MAME. I can also load SNES then go to the retroarch menu and config the key binds for player 2 then they start to work when I go back to the game but even if I save the config when I return to the game later it stops working. I'm stumped now. Any thoughts would be great. Is it possible to see what your .cfg file looks like?...Thanks again -
@mrbone Saving settings made in the retroarch gui is not enabled by default. Those changes will work during that game session, but when you exit, the bindings you made won't be saved. It's a nice way to test a setting, but to make it permanent, it is better to use the appropriate retroarch.cfg (in the configs/SYSTEM folder by system) because it preserves the cascading configs.
At this stage, it might make sense for you to share the actual contents of some of your retroarch.cfg files (via pastebin or using proper markup). When you are copy/pasting, we are reading that and assuming possible errors, as pasted player 1 stuff has to be edited so they are set properly for player 2. Also, you can reference mine if you haven't already.
-
@caver01 Thanks for the quick reply. I'm pasting what I have in my cfg file. I feel like maybe its a permissions thing not allowing me to save the file properly or something.
here is the contents of my cfg.
-
@mrbone You have "smart" curly quotes around your player two keys.
Does that make sense? I suspect only the second line in the following example will work:
input_player2_up = “r” input_player2_up = "r"
-
@mrbone Like you, I'm using Mac primarily. What @caver01 is describing happened to me too. Not sure if you’re using something like Cyberduck to open and edit your cfgs, but that's where my trouble was. Especially when copying/pasting from the clipboard. It's best to ssh from the terminal and use the sudo nano command to edit cfg files (if you're not doing so already). Turning off smart quotes in System Preferences didn't give me any guarantees, because I'd still wind up with crazy @@’s and other syntax mishaps every so often.
-
@SloTayHolmes @caver01
That did it! I am using cyberduck to edit the cfg files. I guess macs auto correct to smart quotes. They copy and paste fine but right when you edit the key it auto changes to the smart quote. From now I'll I'll ssh through the terminal and use the sudo nano command. I just prefer the visual gui of an ftp application. I got both players working in SNES and MAME.I have another question. Should you be able to navigate menus and pick a game using both players? I noticed right now only player 1 can select a game. If this is just the way it is thats fine. I'm just happy to have both controllers working now. Now I just need to tweak a few of the individual cfgs for the various other emulators I plan on using.
Thanks for all the help, I really appreciate it. I'm glad the forum has great active members like you all!
-
@mrbone I think in Emulation Station it's P1 controls to select games.
As for running on a Mac, you can disable smart quotes in system settings, keyboard. It can get really annoying if you frequently write or edit code or use tools to edit configs.
Glad you got it working!
-
caver01, I have been reading multiple things that you have been putting on this site trying to get my issue fixed. After seeing your knowledge, I decided I would give it a shot reaching out to you. I am having an issue of getting my IPAC2 to work correctly. I appear to have all of the settings correct, EXCEPT how to get out of an emulation and back to the menu.
The frustrating part, is I have a gamepad that I had used up until I finally got all my buttons and two sticks, it works fine. I remember I had to configure two buttons to work on the game pad in order to get back to the main menu. After looking at the config, it appears those two buttons are Start+Select. I have tried to set up that same scenario with this IPAC making multiple changes to the retroarch.cfg file and nothing seems to be allowing me to back out.
I noticed that you were explaining the importance of the quotes earlier in this thread, but then I look at a different thread where you posted snippits of your code, and none of your values had quotes. Can you explain when you would and wouldn't use the quotes? I noticed that all of the numerical values for the gamepad configuration had quote, but I didn't put quotes around my manually entered values for the keyboard/IPAC.
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.