Setting up a Ipac2
-
@r_simoes said in Setting up a Ipac2:
Is there such an image, and I am just not finding it?
You just described the official image. It is the easiest one to find in the whole world.
In your IPAC4, if you ask EmulationStation to configure the controller again, does it ask for buttons for all 4 players?
I don’t recall it asking for inputs for all 4 players. In any case, my setup is unique, as sometime my player 3 and 4 are actually players 1 and 2. I setup my additional players controls by editing retroarch.cfg.
-
@r_simoes said in Setting up a Ipac2:
In your IPAC4, if you ask EmulationStation to configure the controller again, does it ask for buttons for all 4 players?
No it will not. You'll need to manually add and edit players 2, 3 and 4 in
opt/RetroPie/configs/all/retroarch.cfg
. The same file you're already modifying. (Use player 1 as a cut-n-paste "template").You keep forgetting "Input Configuration" is per device not per user. The keyboard is one device but it is split among up to 4 players.
Finally, I will tell you that a default configuration of IPAC does not mean it won't be detected as a gamepad device.
If you run "Input Configuration" and hold a key down it will be detected as a keyboard. For configuration purposes it will always be a keyboard (with defaults settings) so you don't need to worry about that yet but if you would like to change your firmware to keyboard only.
You can locate the keyboard only firmware on the official Ultimarc website. Firmware belongs to basically two camps old (2004-2015) and new (2016-present). Below is referring to newer IPAC's.
Starting with version 34 there are separate firmware versions which have the game controller device present/not present.
Versions without game controller (ie with keyboard and mouse support) have the first version digit as "4" eg 1.44.
Versions with game controller (ie with gamepad button, keyboard and mouse support) have the first version digit as "3" eg 1.34.
When changing versions it is necessary after the firmware change to locate the "composite device" under the USB Controllers entry in Device Manager and "Uninstall" this so that Windows can re-detect the new version correctly
I've never seen those controller errors in the pic either. It sure likes like some modifications have been done and your config does look a little bit odd but maybe you wanted to remap your input devices. You have input for player 1 and 2 set to keyboard. Is this an attempt to override the original PS controller config that seems to be hosing you up.
Also I would pull your joystick and mount it correctly along with the buttons. I see in your config left=down, right=up, etc. Wouldn't you prefer to have your buttons in some type of layout to make them easily accessible. It would seem odd to have button "A" in the top right corner and button "B" in some other random location.
If you do run AdvMAME or mame4all-pi you're going to have to press right to go up, left to go down, etc. or manually remap every non-libretro emulator.
The latest image is located on the main page under the "Download" link. I know RetroPie has a learning curve but it levels out pretty fast. I think you'll get done faster starting with a fresh image and you'll get extremely efficient.
I can take a new image and have it completely set up in roughly an hour. That's heavily tweaked. You get quick.
Hopefully you didn't pay for that image as the official images' price tag is in the ballpark of zero dollars...hmmm...ok it is zero dollars! For everything else there's piracy. RetroPie, except no imitations!
-
@riverstorm This was a great explanation of one of the most frustrating things the EXIT command!
I had to take some time off from the whole thing because it was getting far too frustrating.
I have reimaged my SD card and I am just taking careful notes. I hope to use these notes to supplement @caver01 's wiki.
So far I have come up with the easiest process is to get through the initial startup config and once the system is powered on and on the wifi to edit the master retroarch.cfg file with the correct inputs for an iPac. Messing with the startup auto config is just a pain in the but to guess what joystick command should map to what button.
-
So back at it. Started the SD card from scratch. Trying to document out the steps for this type of setup.
Here is the part of the retroarch.cfg that I changed. I have not yet tried it as I am not at home yet.
############################################### # P1 and P2 Buttons # ############################################### # Uses the built in iPac2 Hotkey to give the ESC input_player1_start = "num1" input_player1_select = "num2" # Used for player 2 joystick. # Not needed on an arcade setup. # input_player2_start = 2 # input_player2_select = 6 ############################################### # PLAYER ONE # ############################################### ############################################### # Joystick One # ############################################### input_player1_left = "left" input_player1_right = "right" input_player1_up = "up" input_player1_down = "down" ############################################### # Row One of Three Buttons - Six total # ############################################### input_player1_a = "ctrl" input_player1_b = "alt" input_player1_x = "space" ############################################### # Row Two of Three Buttons - Six total # ############################################### input_player1_y = "shift" input_player1_l = "z" input_player1_r = "x" ############################################### # PLAYER TWO # ############################################### ############################################### # Joystick Two # ############################################### input_player2_up = "R" input_player2_right = "G" input_player2_down = "F" input_player2_left = "D" ############################################### # Row One of Three Buttons - Six total # ############################################### input_player2_a = "a" input_player2_b = "s" input_player2_y = "q" ############################################### # Row Two of Three Buttons - Six total # ############################################### input_player2_x = "w" input_player2_l = "i" input_player2_r = "k"
ALSO I changed these two lines in the file elsewhere:
input_exit_emulator= "num2"
input_enable_hotkey="num1"Fingers crossed.
-
@battlecat I am not sure I understand the formatting of your message above. It looks like a combination of section notes and actual retro arch configs.
I do have a couple observations:
In the very verist section you say:Uses the built in iPac2 Hotkey to give the ESC
input_player1_start = "num1"
input_player1_select = "num2"The second line there looks like a typo. If not, I would NOT recommend using "num2" as select for player 1. It should be "num5" to align with MAME defaults. It also conflicts with what you have listed for:
input_player2_start = 2
This line is actually aligned with MAME, so I would us it, but I would fix it to be "num2" and not just 2. Same for the next line which should be "num6" instead of 6.
Then, as a final suggestion, you may end up with some confusing hotkey stuff. If you really are only using hotkey for exit, you could try these:
input_exit_emulator= "esc"
input_enable_hotkey="nul"
These would essentially remove the hotkey functionality and allow the IPAC shift function to handle sending ESCAPE to exit.
-
@caver01 said in Setting up a Ipac2:
This line is actually aligned with MAME, so I would us it, but I would fix it to be "num2" and not just 2. Same for the next line which should be "num6" instead of 6.
Then, as a final suggestion, you may end up with some confusing hotkey stuff. If you really are only using hotkey for exit, you could try these:
input_exit_emulator= "esc"
input_enable_hotkey="nul"
These would essentially remove the hotkey functionality and allow the IPAC shift function to handle sending ESCAPE to exit.I like to leave my hotkeys enabled as I use save slot -/+, save game, load game & Retroarch pause vs MAME due to the blank screen issue. I disable some of the IPAC defaults so I can use those hotkeys on a control panel and another set for a joystick. One build to cover both arcade panels and/or joysticks. As Caver pointed out it's a preference depending on how you want your build to turn out. You'll definitely want to change
input_player1_select = "num2"
to"num5"
to align with MAME or something different altogether. Unless you planned on changing your player 2 start which wouldn't be ideal. -
@caver01 Hello. It appears that copy and paste in the forum does not retain a lot of formatting in the .txt file for some reason. SO it appears that there were unintended changes on the post not in the file.
In MAME it is "P1 (hotkey) + P2" to exit a game. This is the hotkey equivalent of pressing 'ESC'. I do not understand your reference to num5. That is a coin insert in MAME and is not used for any default hotkey commands. https://www.ultimarc.com/ipac2.html or http://easyemu.mameworld.info/mameguide/mameguide-controls.html
I have actual working coin doors. Remember arcade machine not cheap eBay arcade joystick. I do not want to add another button and I do not think that timing a quarter drop to a button press to exit a game is a good idea.
The part about input_player2_start = 2 was actually commented out in the retropie.cfg. The comment hashes did not carry in the copy and paste to the forum. Any ideas why?
# input_player2_start = 2 # input_player2_select = 6
-
@battlecat
Well there go my hash marks again lol. -
@battlecat https://retropie.org.uk/forum/topic/3/read-this-first
Format your posts! - put small logs in code blocks - see http://commonmark.org/help/ - and put large logs on a pastebin type site like http://paste.ubuntu.com/ http://pastebin.com/ or similar.
you need to put code/configs between a pair of 3 backticks.
eg
` ` ` #my log here ` ` `
(remove the spaces between the backticks to get it to work). i'll edit your posts to do that now.
-
@dankcushions said in Setting up a Ipac2:
tween the backticks to get it to work). i'll edit your posts to do that n
Well that is good info to know. How on Earth did you get that info out of the toolbar on this forum?
-
@caver01 said in Setting up a Ipac2:
Then, as a final suggestion, you may end up with some confusing hotkey stuff. If you really are only using hotkey for exit, you could try these:
input_exit_emulator= "esc"
input_enable_hotkey="nul"I do have those set but not as what you suggested. In my cfg they are:
ALSO I changed these two lines in the file elsewhere: input_exit_emulator= "num2" input_enable_hotkey="num1"
Now these could be set incorrectly.
When I booted last night I was able to do the following:
MAME 37b5 - P1+P2 exited rom
MAME 37b5 - Button input_player1_a = "ctrl" Entered romMAME 0.78 - P2+P1 exited rom (not sure why it reverses)
MAME 0.78 - Button input_player1_a = "ctrl" Entered romNES - P2+P1 exited rom (not sure why it reverses)
NES - P1 Started and Paused games
NES - Button input_player1_a = "ctrl" Entered rom -
@battlecat All I was pointing out was that you wrote:
############################################### # P1 and P2 Buttons # ############################################### # Uses the built in iPac2 Hotkey to give the ESC input_player1_start = "num1" input_player1_select = "num2"
Player 1 Select is actually the same input as Player 1 coin and since the IPAC has COIN to be used the same way, it is
Num5
by default That is how the IPAC is setup and that is how MAME is setup. You haveNum2
which would conflict with MAME Default for Player 2 Start.SO, I thought this was maybe a typo since you have a heading "P1 and P2 Buttons".
IPAC defaults, MAME Defaults, and the best setup for IPAC users in retroarch.cfg for the wiki should be:
input_player1_start = "num1" input_player1_select = "num5" input_player2_start = "num2" input_player2_select = "num6"
This still supports using
P1 Start + P2
Start to sendESC
but it has nothing to do with retroarch. That key combo would trigger the IPAC shift function. -
@battlecat said in Setting up a Ipac2:
I do have those set but not as what you suggested. In my cfg they are:
ALSO I changed these two lines in the file elsewhere:input_exit_emulator= "num2" input_enable_hotkey="num1"
Now these could be set incorrectly.
This will definitely interfere with the IPAC Shift function they way you have
num2
mapped in retroarch. Trust me, you really should haveinput_player1_select = "num5"
andinput_player2_start = "num2"
. -
Going to go home and give this change a try.
Last night I did not experience any issues but that doesn't make my settings correct.
I will get back to you how this works out.
-
@battlecat said in Setting up a Ipac2:
I do not understand your reference to num5. That is a coin insert in MAME and is not used for any default hotkey commands. https://www.ultimarc.com/ipac2.html or http://easyemu.mameworld.info/mameguide/mameguide-controls.html
You're close now. :) Select is neither IPAC nor MAME it's a Retroarch reference. Instead of installing a new button you're re-purposing your MAME player 1 coin button (also the same for the IPAC) for different game options.
Here's part of my Retroarch config pertaining to player 1:
# Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. 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_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
When I was referring to keeping Retroarch hotkeys enabled for save games I had to disable some shift inputs on the IPAC but not the shift key itself though. As you still need its exit function. I am able to increase/decrease my save slot number and then load/save games. You could just as easily switch your up/down and left/right if it makes more sense.
It's handy for games like Rastan that allow a finite number of coins to complete the game from beginning to end. If not you start from the beginning.
input_state_slot_increase = "right" input_state_slot_decrease = "left" input_save_state = "up" input_load_state = "down"
Exit works in both MAME standalone and Libretro cores. Basically you're aligning Retroarch to IPAC.
input_exit_emulator = "num2" input_enable_hotkey = "num1"
Re-purposing your player 2 start to hotkey exit is fine as you're only exiting the game and don't need to start a new one. When running a Libretro core 1+2 OR 2+1 should exit. When using a standalone emulator (i.e. mame4all-pi) it needs to be 1+2 as the IPAC is doing the work and not Retroarch.
When pausing with lr-mame2003 you get a blank screen. I'm not sure why. So what I do is set the MAME Pause key from the in-game TAB menu to "None" and use Retorarch's pause which freezes the screen exactly as you're playing like a freeze-frame. It's handy to see where your character is at (hopefully not about to die) before unfreezing a game. :)
You're controllers (if you use them) will be different but still retain all the functionality without interfering with your cabinet/IPAC.
-
@riverstorm said in Setting up a Ipac2:
You're close now. :) Select is neither IPAC nor MAME it's a Retroarch reference. Instead of installing a new button you're re-purposing your MAME player 1 coin button (also the same for the IPAC) for different game options.
Hello:
I do not have a coin button. :(
I have a coin door that takes tokens. :)So I do not have a "MAME player 1 coin button".
How does this affect things?
-
@riverstorm said in Setting up a Ipac2:
It's handy for games like Rastan that allow a finite number of coins to complete the game from beginning to end. If not you start from the beginning.
I guess I do not really care much for save states. I like to play my few tokens and then get back to work. I don't think I have ever used save states on an arcade setup.
Thanks for the info though.
-
@battlecat said in Setting up a Ipac2:
So I do not have a "MAME player 1 coin button".
How does this affect things?You should be fine as it's more say probably for consoles per se. You can reassign functions to whatever you need within MAME TAB.
I guess I do not really care much for save states. I like to play my few tokens and then get back to work. I don't think I have ever used save states on an arcade setup.
It's a recent thing for me as like you the idea of "cheating" never crossed my mind or appealed to me in an arcade but I know I'll never see the end of certain "story" games without some assistance. :) Any arcade type games like Donkey Kong, Galaga, Pac-Man, Frogger, etc. I just run with 3 lives and call it good.
-
@riverstorm said in Setting up a Ipac2:
it's more say probably for cons
A lot of times we have guests over with kids. I like to have it on so that they get an idea of what it was like back in my childhood. Funny enough you can set up all the flashiest game systems you want and at the end of the night they are all fighting over who gets to play the last game of Frogger or Ms Pacman.
-
@battlecat said in Setting up a Ipac2:
I do not have a coin button. :(
I have a coin door that takes tokens. :)So I do not have a "MAME player 1 coin button".
How does this affect things?
Do you have a select button? If so, pressing it will drop coins in MAME.
I think it is cool that you have a coin mech. All MAME is trying to do is accommodate in emulation the inputs that come from a coin mech on a real arcade cabinet. Since many of us don't have the mechanism, we use a pushbutton for dropping coins. That button also serves as SELECT in other emulators (NES, etc), or depending on how you look at it, the SELECT button on gamepads is used to drop coins.
I can see how you might not want to reach down and add a coin just to press a virtual SELECT button, but as @Riverstorm said, there is no "select" function in MAME even though that button does exist on most consoles.
I have seen some interesting ideas from cabinet builders: You could do two wires to the same IPAC input. Wire a P1SELECT button on the control panel AND the coin mechanism to the same IPAC input (two wires from P1COIN, one goes to each). Another idea that I thought was brilliant (this is what I would do with a cabinet build project with a coin mech) was a guy that wired COIN on his IPAC to the REJECT COIN button in his mech, AND the coin drop trigger. In other words, you could put in a real coin and that would trigger the COIN input, or you could push in the red, backlit REJECT COIN part of the mechanism (Coin Return), and this too would trigger the COIN input. I don't know if he had to add a little microswitch to do it, but I loved that because his coin mech would accept tokens or, if you knew about it, you could secretly just push the mech like a button. Very clever.
In any case, COIN=SELECT. Something to keep in mind.
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.