Setting up a Ipac2
-
@caver01 said in Setting up a Ipac2:
I didn't realize Cloak & Dagger has a two-stick panel! I need to fix mine now.
Yeah one for movement and one to fire. One push button to ignite bombs. Another game I had to remap to start was Space Duel. I can't remember but something is weird with selecting the 1 or 2 player options before starting the game. I could only get the selection option to go around clockwise for selection before start. But anyway something was odd with the default keys for that game but one of my favorites.
You've thought of pretty much everything when it comes to the configs it sounds. You've covered pretty much every scenario a person would come up against.
Dang, that's really a sharp case. I like that it's semi-portable it looks. I've built about everything except a larger scale project. I think the wife might go for something like that, maybe. :) It looks like you really put a lot of care and planning into the project. Clean wiring, lighted buttons too. Lighted buttons I think look really sharp in like an attract mode or just playing. On the internal pic are the white things in top left and right speakers? That's a show piece for sure! Great job!
-
@Riverstorm Thanks for the kind words!
Space Duel definitely has a strange start. Selecting two players appears to be dependent on getting the opening choice correct, then the controls have to be mapped correctly. It's messy, and although it seems like it might be fun to play with a friend, I imagine a few false starts, ESC, restart to get the game setup correctly--even with workable mapping!My cabinet has been a thought experiment for years. I had a prototype system with similar controls, but the roadcase design is where I finally landed and I really like it. I just wish it was lighter. I will probably rebuild it someday, as I really want to be able to carry it around. It literally hurts the arms to lift it. I am actually toying with the idea of replacing corners with inset wheels and adding an collapsable handle like luggage that slides into the lid. That might make it luggable at least.
Those white things are speakers. I picked up some inexpensive USB powered speakers at Adafruit thinking I would just mount he cone drivers. However, I lost so much bass that I put them into PVC pipe end caps. I basically rebuilt enclosures for the drivers. I should have shopped around for a better set of speakers. These work fine though. They output sound through holes drilled into the case wall that are hidden behind the latch strike plates.
-
The backlit buttons are a nice touch that I recommend. I am using ICE, or Nova, or something like that from Groovy Game Gear. I don't know if they make them anymore, but there are similar buttons out there. These don't run any kind of LED attract mode. Just straight power from a USB port. The buttons have 5mm holes in the bottom to accept a tight fitting LED, and I have the leads of the LEDs wrapping around the side of the button where I soldered the current-limiting resistor for 5volts and a two-pin header. This his hot glued for stress relief.
-
@caver01 said in Setting up a Ipac2:
The backlit buttons are a nice touch that I recommend.
Those white things are speakers. I picked up some inexpensive USB powered speakers at Adafruit thinking I would just mount he cone drivers.
Yeah Space Duel is great with a friend definitely give it a shot. Wow, that's really impressive! I like the idea of making a "rollercade". An arcade on wheels! :) I agree with the speakers I went through a few iterations but the sound just isn't the same so I settled with what I had instead of sinking more money into it, it's quite acceptable. It just seems by default arcade cabinets had a lot of white/negative space that gave the games a fuller sound or something.
-
Hi guys.
Thank you for all the info so far. I am able to edit the Cfg so i can get both sets of my buttons working so far.
How do i configure the buttons to work differently in each emulator ?
I appolgise if this is a basic question. Its my first arcade case so im learning on the job.if anyone can explain it in baby steps i would love it.
Thanks all
-
@mrt88 said in Setting up a Ipac2:
Thank you for all the info so far. I am able to edit the Cfg so i can get both sets of my buttons working so far.
How do i configure the buttons to work differently in each emulator ?It's a bit of a loaded question because there are so many emulators. Those with lr- at the front of their name like lr-mame2003 are libretro cores. All of these emulators share the RetroArch configuration and capabilities. For those, the keys are setup in the retroarch.cfg files. It starts with the one in the configs/all folder, and each lr- emulator can have it's own retroarch.cfg file within it's own config folder. These .cfg files "combine" or rather, the values set inside them augment the one in /all. This lets you do most of your configuration in /all and put adjustments or differences in each individual one.
For emulators that don't have "lr-" in the name, those emulators are all unique and each has its own configuration. I think there is some effort to push mapping done in Emulation Station, but it can help to understand how your chosen emulator handles the key mapping so you can edit as needed. For instance, AdvanceMAME has a configuration (one for each version 1.4 and .94) in a file that ends in ".rc". AdvanceMAME configs are totally different beasts.
All of this info and complete paths to files are all listed in the WIKI, but it can help going in to know what you are looking for. Also, it can be a lot easier if you have a computer on the same network to attach to the SAMBA shares and edit configs with a nice text editor across the network.
-
Hi y'all. Reviving this old topic, as I think the things mentioned aren't getting me all the way to a working setup.
As the guys earlier in the thread, I'm using an Ipac2 and cannot get the 2-player buttons to work.
Except, they work in MAME, after I did the configs/all/retroarch.cfg trick with coding player 2 inputs as caver01 mentions. But nothing else than MAME works.I tried to do the following, with no luck:
- Tried Ultimarc software to setup the Ipac as a gamepad, but that didn't work, just made it all worse, not working in MAME neither. So I went back to keyboard inputs.
- Tried copy/pasting the lines that did the trick in the configs/all/retroarch.cfg into numerous of the specific emulator config files, for instance I tried mastersystem, fda and genesis. No effect.
- I also tried making specifik rom-cfgs, for instance made a file named "Altered Beast (UE) (REV02) [!].gen.cfg".
Here's an example of the rom- or emulator specific cfg-files that I make, maybe I miss some little input to make it all work?:
#Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
input_remapping_directory = "/opt/retropie/configs/fba/"
input_player1_a = "shift"
input_player1_b = "z"
input_player1_y = "x"
input_player1_x = "alt"
input_player1_start = "num1"
input_player1_select = "num5"
input_player1_l = "ctrl"
input_player1_r = "space"
input_player1_left = "left"
input_player1_right = "right"
input_player1_up = "up"
input_player1_down = "down"
input_player1_l2 = "keypad9"
input_player1_r2 = "keypad6"
input_player1_l3 = "a"
input_player1_r3 = "d"
input_player2_a = “w”
input_player2_b = “i”
input_player2_y = “k”
input_player2_x = “s”
input_player2_start = “num2”
input_player2_select = “num6”
input_player2_l = “a”
input_player2_r = “q”
input_player2_left = “d”
input_player2_right = “g”
input_player2_up = “r”
input_player2_down = “f”#include "/opt/retropie/configs/all/retroarch.cfg"
I tried with # and without # in front of the input remapping line, also with no difference.
Please, can anyone help? -
@AndersHP Please add a few more details. Where EXACTLY is this file you pasted above? What is the complete filename of the ROM that corresponds to it and where is that ROM?
Finally, what exact emulator are you trying to run? You need to be much clearer about this point. For example, you say only MAME works, but there are at least 6 versions of MAME officially supported. When you say MAME works, we don't know if it's because your iPAC is sending keys directly to the emulator, or if you are using a libretro core. In other words, your configuration of retroarch.cfg files may not even apply.
-
Thanks for taking the time to reply.
However, I must admit that the mistake was a very elementary one, since I was using the standard Mac "TextEdit" Tool to edit the cfg files, leaving the inputs dead. When typing the same inputs in TextWrangler, everything seems to Work now!
I'm typing the sample text into each retroarch.cfg file of the emulator-folders, e.g. the Megadrive folder. There's already a retroarch.cfg file there (as I can understand from your post, first the software reads the retroarch.cfg in the ALL folder, then the emulator folder, and lastly the ROM folder for the game).
I actually don't understand why I have to type the input lines into the emulators cfg files, since the same lines is written into the all-retroarch.cfg...
Well, next problem is that I cannot get Neogeo 2 player working. I only tested Metal Slug X, but 2 player inputs don't seem to Work at all...
-
@AndersHP Scrolling back up to your pasted list of inputs, I see that the Player 2 inputs have curly quotes around them. That won't work. Any chance that's the issue?
input_player2_a = “w”
will not work. It should be:
input_player2_a = "w"
-
@AndersHP And you are right--you should not have to enter the inputs in emulator-specific retroarch.cfg files unless you intend to override with a change or addition. I am not sure on the actual order that they are read (it might be read in reverse order) but the effect is as you have described--the config in the all/ folder is the beginning of a configuration cascade with each emulator config (and even individual rom configs) overriding. Perhaps you have curly quote in the /all that get corrected in your emulator specific configs.
-
@caver01 This was very helpful it really helped me figure out a solution to my own console.
Thanks -
@johnnybravo Glad I could help! And the dialogue is here in case others can benefit!
-
Sorry I'm a few months late on this but I was wondering if you could elaborate a bit more on disabling hotkeys? Your info has been the most informative I've come across yet.
I'm starting my Mame-only cabinet build and using Retropie with the iPac 2 and lr-2003 seems to be the way to go. But I'd prefer to map individual dedicated buttons to functions like Exit, the RGUI, Save State, etc. so I can avoid accidentally exiting.
How can the config file be edited to disable the hotkey? Thanks in advance.
-
input_enable_hotkey_btn = null
-
@wolfcool You want to edit your retroarch.cfg file, probably the one in the "all" directory, and find the line that @Concat mentions above, however, usually the spelling of null is with just one 'l', like
input_enable_hotkey_btn = nul
. Maybe the spelling makes no difference, but I always use nul.There are a few gotchas when editing these files. If you use quotes, make sure your editor isn't adding smart curly quotation marks. They will fail.
Also, know that if you set the Pause function to 'P' in the retroarch.cfg, and your cabinet button sends this key via your IPAC, MAME for instance will try to pause and so will RetroArch. In other words, you end up with two pauses acting simultaneously! You press P once, and the game freezes, press it again, and it unpauses RetroArch, but might repause in MAME, and so on. You end up needing to press it three times in a row to toggle pause! The answer is to either remap the key in MAME and just use the RetroArch pause which is what I prefer now, or disable the RetroArch pause setting it to nul. I like the retroarch pause better because lr-mame2003 pauses with a black screen. I like seeing the screen still while paused.
Also, be aware that the IPAC has a shift function that works a lot like the hotkey function in RetroArch. This can create additional headaches if you are not thinking about what IPAC is doing.
Finally, lr-mame2003 appears to register TWO keyboard inputs simultaneously. It sees the raw keypress as well as the virtual retropad keypress. This does not affect functionality of the emulator unless you get into some unique key mapping. Trying to setup a single joystick to control a tank, for example, can be done with logical code <NOT>, <AND> and <OR> keymaps, but the simultaneous keyboard+retropad inputs makes this somewhat tricky as described in this thread. That's a situation where I often lose people because they just don't care, but if you like games like Vindicators, or Tank8, Toobin, or any other rare dual tankstick style controls, the secret is to setup a per-rom retroarch.cfg file that sets all controls inputs to nul.
-
-
@caver01 Hello: I am a bit late to the setup game. I have an iPac2 with everything still default on it. I am running a Pi3. I use Mame4All, AdvMame, NeoGeo, and FBA.
As far as I understand Mame4All and AdvMame follow standard MAME - Default iPac2 settings. So there is nothing that needs to be done to get these emulators working other than a good rom in the right folder.
When it comes to FBA and NeoGeo I seem to have all sorts of headaches getting the iPac to play nice with the RetroArch based emulator.
I have added your retroarch.cfg mapping inside the configs/all folder with the file names retroarch.cfg. I understand that this particular retroarch.cfg is the master cfg at the topmost retroarchcfg level.
There are a few things that I am confused about.
When you say "I had to go through a bunch of the defaults and set them ="nul"" what exactly did you set to null? There seems to be a ton of options with a # that are commented out in my retroarch.cfg file.
I do not really understand what you did to get FBA working. In /media/battlecat/retropie/opt/retropie/configs/fba/retroarch.cfg I see that there are two config files: fba2x.cfg and retroarch.cfg. Which did you edit?
Lastly to the part about setting up a per rom config. Did you create a text file and give it a specific name that matched the rom or something?
Lord I know that is a lot to ask about a forum post that is over a year old but I hope that you're still active in the community. Given how many iPacs 2 and 4 are out there maybe someday all the config files will just come as part of the package. Also playing old school arcade games with a joypad just isn't the same!
Many thanks for your time.
BC -
@battlecat the individual configs go in the same folder as the rom. If the rom is pacman.zip the config would be called pacman.zip.cfg. Note it has the .zip file extension before the .cfg extension. If it is pacman.bin then you would make it pacman.bin.cfg. In that file you need to make sure you put the input remap directory and #include... lines from that systems original retroarch.cfg file.
-
@battlecat You have good questions, and we need a step-by-step for IPAC controllers. Documentation is already pretty good, but these specifics are born out of trial and error, and once a setup is working, it is hard to take the time to go back and do a proper write up.
I want to say a few things. First of all, what I shared above for my top-level retroarch.cfg (in the
/opt/retropie/configs/all/
directory) isn't the whole file! Hopefully, you figured that out. I only pasted the controls section of that file. It being the top-level retroarch config, it contains a LOT of other lines that are important, and that apply across all retroarch emulators.You also noticed a lot of those extra lines start with a #. When I set some options to "nul" it was after I noticed conflicts. I am away from my Pi right now so I can't find a specific example, but I went through every line where there was a key configured and wherever that key was already used in my Player 1, 2, 3, or 4 (remember I have an IPAC4) I either remapped that function to something else, or set it to "nul" if I did not need it.
Just like there is a folder
/opt/retropie/configs/all/
for the main retroarch config, next to that folder are a set of folders for all of the other emulators. This is where you can put another retroarch.cfg (or edit the one already there) and add your overrides. For example,/opt/retropie/configs/fba/retroarch.cfg
can have a different control setup that will override what you may have already configured in the main config. This would apply to lr-fbalpha and every ROM launched using that emulator.However, I found that not all of the ROMs in FBA have the same layout. NeoGeo games may have a different scheme than Street Fighter, for instance. This means that whatver you put into
/opt/retropie/configs/fba/retroarch.cfg
may work for some titles, but not all when using FBA. For the variants, you can do another override per-ROM. When you do this, you now have to name our config like @edmaul69 describes above and place these configs right next to the ROM file (in the ROM folder, obviously).A few more details, some of which may be repeated from above: First, my IPAC is an older model that is recognized as a keyboard and only a keyboard. I understand modern versions of the Ultimarc boards may in fact look like game controllers to the operating system. I mention this because my configs are all about keystrokes, not gamepad button presses. If you have the opportunity to hook up your IPAC to a windows machine temporarily, it might make sense to see if you are in Joystick/Game Controller mode or Keyboard mode. There are several threads on this, and it can be a point of confusion when trying to get Emulation Station to auto-detect the right thing. Basically, when you are out at the command prompt on your Pi and pressing buttons and moving the joysticks, it should be typing characters on the screen (well, player 1 joystick is arrow keys, but you get the idea). This keyboard/gamepad versatility is not something I have direct experience with because my IPAC is so old, and it is the main reason why I haven't written the WIKI page on using the IPAC. I should just start the WIKI anyway, and invite others to add their two cents.
I hope this helps. You are definitely on the right track. It's not easy, but once you have an idea of how it works, you start to see how you can make adjustments to get what you want. Word to the wise--I found very few shortcuts. I end up verifying and tweaking every single ROM on my system, but part of that is because I play the vertical games rotated to the side panels on my cabinet.
Oh, one more thing--I use the Arcade folder for all of my ROMs, picking which emulator launches them using the Runcommand feature. My default is lr-mame2003, but even with MAME defaults in my
/opt/retropie/configs/all/retroarch.cfg
I often have to configure controls in-game using the MAME GUI menu. This is usually because of my rotation scheme, but it makes more sense to just remap using the MAME menu <TAB> than it does to write out the mapping in per-ROM .cfg files. The problem with the Arcade folder is that you only get one corresponding/opt/retropie/configs/arcade/retroarch.cfg
file which can either help or hurt when launching different emulators that use it. The emulator overrides are apparently not used in this case because the arcade config is used instead. This leads to more per-rom configs in the rom folder (again, using the arcade rom folder) but what are you gonna do? It's more tinkering, but at least it works they way I want it to.Of course, I also use AdvanceMAME for some titles, but that is a completely different ball of yarn. None of the config details apply because advmame does not use retroarch.
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.