If you have purchased an Ipac2 and want to save time......
-
@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.
-
@noremaC1337 If using quotes in a retroarch.cfg file, they can't be smart "curly" quotes that often get added automatically when editing files on a computer. Another gotcha is assigning numbers like "6" instead of "num6". I just checked my default retroarch.cfg and I don't even use quotes for my controls.
My ipac4 is older, so it's a keyboard by default. Modern ipac controllers are gamepads if I'm not mistaken. That can be a challenge that has led some owners to update them with different firmware--something I never had to do.
-
@noremaC1337 also, I have escape mapped to a dedicated button on my Ipac, and a corresponding input setup in retroarch.cfg:
input_exit_emulator = escape
and hot keys disabled with
# input_enable_hotkey_btn =
Most folks use the start-select combo via hotkey to exit with gamepads but I found I was triggering exit accidentally. Besides, there is no need for the hotkey exit with a dedicated button. -
Man, this is super frustrating. I feel like i have tried everything, but nothing gets me back to the MAME game menu using my buttons that are hooked into the IPAC.
By default, ESC is set up on the IPAC as Start1 + Start2 as a shift function. I am OK with using that, but it doesn't get me out of the game. So now that I have changed my config to be input_exit_emulator = escape and then commented out the hotkey_btn I should be able to hold the Start1 button and then press the Start2 button, and it will send an ESC command, which should get me out of the ROM and back to the ROM menu within MAME folder on RetroPie, correct?
Another thing that I have noticed, is that when there is a "_btn" located at the end of a config, doesn't that mean for a game pad? I noticed that all my game pad configs have the _btn at the end, but the keyboard configs don't.
Let me try this one more time and get back with you. I saw somewhere on this forum that you have a specific way of getting retroarch.cfg files, can you tell me how to get that to you so maybe you can check it over and see what is going on?
-
@caver01 That initial change did not work. Something very strange happened to. I don't know what I changed, but I rebooted (as normal after a change like this) and it said that emulationstation.sh was missing from the appropriate folder. I SSH to the folder, and there is a 4MB file named "emulationstation" but had no extension. I had to chmod the file, then rename it to emulationstation.sh before it would load back up. This is the first time that has happened to me.
I went back into the retroarch.cfg that I have been working in. The location of this file is /opt/retropie/configs/all. I see that the changes you recommended, and I applied are still in there, so the file saved correct. Then I found an entry named "input_enable_hotkey" this goes along with what I was asking above. This didn't have the "_btn" at the end, like you had me comment out earlier. Does this mean that this specific value is for a keyboard set up? Regardless, I imagine you are going to say it would be best to comment this out too, as I am still OK with ESC getting me back to the menu, which would be achieved by holding Start1 and then pressing Start2. I just can't get it to work. Let me know about that code upload thing too.
-
@noremaC1337 said in If you have purchased an Ipac2 and want to save time......:
By default, ESC is set up on the IPAC as Start1 + Start2 as a shift function. I am OK with using that, but it doesn't get me out of the game.
I have an Ipac2 with the default "new" firmware in it. On non-libretro emulators such as Mame4All, Start1 and Start2 works out of the box to exit the game. For libretro emulators, Start and Select together works as default for me, the only thing I added to retroarch.cfg was:
input_player1_start = "num1" input_player1_select = "num5"
The ipac is pre-configured for MAME by default so on the non libretro emulators, it just works. If you have used autodetect though on a fresh install instead of configuring a keyboard first, it wont. Did you follow the instructions in my very first post?
-
@rbaker I noticed in your original post, your complaint was that you were unable to play 2 player games. Only the 1 player side worked. I tested that both of my worked by loading up the simspson rom, which I know is a two player simultaneous game. Both sticks, and the buttons for each player work. It seems the only thing that I am unable to do at this time, is back out of a ROM into the MAME menu.
rbaker, just so that I am not assuming, you are editing the retroarch.cfg file that is located in the /opt/retropie/configs/all/ location, correct?
I would really like to avoid a reinstall, as it has been a few months since I ran through the process. I am worried it will put me back further than it will get me ahead. I am, however, thinking that might be what I end up doing. I just cant imagine that there would be this many problems right out of the box. I figure that a config that was created for the gamepad that I have that may be interfering some how. I just cant isolate how. I have even removed all of the configs I could find, for the game pad, out of their original locations in an attempt to break the gamepad configuration. No dice. I am shocked that the game pad still works, I don't know where it is getting the config from for it now. (They used to live in the /opt/retropie/configs/all/retroarch-joypads).
I too noticed that the IPAC, out of the box, was configured for MAME. I got mine a couple months ago, I am not exactly sure what firmware came with it.
Here is what I have in the retroarch.cfg file that is located in /opt/retropie/configs/all/:
input_player1_a = alt
input_player1_b = shift
input_player1_y = space
input_player1_x = ctrl
input_player1_start = num1
input_player1_select = num5
input_player1_l = ctrl
input_player1_r = rctrl
input_player1_left = left
input_player1_right = right
input_player1_up = up
input_player1_down = down
input_player1_l2 = num1
input_player1_r2 = num0NOTE - I just changed the input_player1_start and input_player1_select after your suggestion. Trying now.
-
@rbaker It appears that changing this:
input_player1_start = num1
input_player1_select = num5in the retroarch.cfg in the /opt/retropie/configs/all/ did nothing. It just seems like it is getting it's values from some other file to me.
You are saying that if it was set up incorrectly before, it would recognize the IPAC as a joystick/gamepad, right? I will tell you that when I do a jstest in /dev/input/ it appears that the only option that would make sense would be "js0" at this time. I think that is the same value that was there when I did the jstest for the gamepad a few months ago. Are you saying that the only way to get the IPAC to recognize as a keyboard again would be a new install? I will also mention that I did the "configure input" option through the emulation station menu. when it tells me to hold a key for it to recognize what we are configuring, I will hold one of the buttons on my custom arcade that is hooked into the IPAC, and it pops up on the screen "keyboard". Does that mean anything?
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.