Setting up a Ipac2
-
-
@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.
-
@caver01 Hi there. I would totally be up for helping to write a step-by-step for IPAC controllers.
What do you propose?
-
@battlecat Honestly, I think the right approach is to have two articles. We need a wiki for the IPAC specifically, as that will draw the attention of folks looking for answers about Ultimarc interfaces, but we also need one that covers Keyboard more generally, perhaps with links to IPAC and possibly lists other devices that fall within this method.
I actually think GPIO solutions can qualify as others in the Keyboard list, depending on the software. For example, the RetroGame software from Adafruit sets up a keyboard controller via GPIO and there will be similarities by the time you are configuring the emulators. GPIOneer is similar, although recent versions of it will also simulate joystick input.
I see the IPAC specific article needing a section that describes it, gets into the controller configuration details (using WinIPAC utility for example) where you can actually define the keys or joypad buttons, and then the step-by-step setup in RetroPie. The descriptive section could have a "Using Defaults? Skip Ahead" statement so if you don't care about configuring the IPAC and just want to hook it up, you can jump past all of the descriptive BS and get into setting up ES.
My biggest problem with writing these myself (I could do the more general keyboard controller docs) is that I own a very old IPAC. Mine is a PS/2+USB model that ONLY works as a keyboard. Consequently, some of the problems I see people having that stem from it being recognized as a joystick/gamepad never affected me. So, if I sit down to write that first step in the process, my experience with an older IPAC4 won't be the same as someone who gets one today.
I wonder if I started the WIKI from my perspective and then let someone make adds/edits to accommodate how it works with a newer model, that might be a good way to get something started.
-
@caver01 said in Setting up a Ipac2:
My biggest problem with writing these myself (I could do the more general keyboard controller docs) is that I own a very old IPAC. Mine is a PS/2+USB model that ONLY works as a keyboard.
I believe they make firmware that allow the newer I-PAC's to be keyboard only. Firmware with game controller support starts with a 3 and without a 4. Basically like 1.34 vs 1.44 or 1.36 vs 1.46.
Firmware with/without the Game Controller device.
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. -
@riverstorm said in Setting up a Ipac2:
@caver01 said in Setting up a Ipac2:
My biggest problem with writing these myself (I could do the more general keyboard controller docs) is that I own a very old IPAC. Mine is a PS/2+USB model that ONLY works as a keyboard.
I believe they make firmware that allow the newer I-PAC's to be keyboard only. Firmware with game controller support starts with a 3 and without a 4. Basically like 1.34 vs 1.44 or 1.36 vs 1.46.
Yeah I know, but I can’t use it or experience it. I would be writing about something I have never had to do.
-
@caver01 said in Setting up a Ipac2:
Yeah I know, but I can’t use it or experience it. I would be writing about something I have never had to do
Ok, I was just pointing that out as I have both both pre and post 2015 (PS/2 and USB). I would assume there's plenty of old boards still in use the only difference between old and new would be one sentence at the beginning mentioning the "keyboard only" firmware update for newer boards as most know how to flash firmware (it's explained on Ultimarc's page in great detail) and the rest would apply the same as your older model was the thought.
-
I have had an iPac for at least 6+ years. I think it is the standard keyboard one. I bet that there are still a lot of them out there.
-
@battlecat said in Setting up a Ipac2:
I have had an iPac for at least 6+ years. I think it is the standard keyboard one. I bet that there are still a lot of them out there.
If it's that old it sounds about right. I have an old and new one. I have no idea how long ago I bought the older one but it's been years and needs the older firmware (pre-2015) or you can brick it. I think the major difference between the two is going to be whether you download firmware "A" or firmware "B" but once they are flashed with the proper firmware the setup should be pretty much the same in regards to setup and configuration.
-
Well, I decided to take a crack at it, so here is a first draft of a WIKI document for configuring Keyboard Controllers with special attention to the IPAC as an example. Please, let me know what you think. I sorta ran out of steam at the end and perhaps stopped too abruptly. Feel free to make suggestions to improve or complete this wiki. It is meant more to provide guidance than a step-by-step.
-
@riverstorm just thought i would mention that the pre 2015 models that dont have the huge ic chips (really old model have large ic chip) that they can run with a usb cable too even if they came with a ps2 cable. I chopped my ps2 cable in half and wired a usb connector to both cables and use it on the pi.
-
@edmaul69 good point. Mine has a ps2 connector.
-
@caver01 OMG I have to read this tonight!
-
@battlecat Given some of your posts in past threads, I think you are likely beyond the starting points outlined in the WIKI I wrote. I hope it makes sense, but it is more of a push in the right direction--plenty of detail for some--maybe not enough step-by-step for others.
-
@caver01 said in Setting up a Ipac2:
@battlecat Given some of your posts in past threads, I think you are likely beyond the starting points outlined in the WIKI I wrote. I hope it makes sense, but it is more of a push in the right direction--plenty of detail for some--maybe not enough step-by-step for others.
Everything starts somewhere. I am looking forward to reading this no matter what.
Once more thank you for starting this up.
BC -
@caver01 Good work. Would've helped me back in the day.
Shouldn't this guide link to your keyboard controllers guide? -
Nice guide, well written and nicely laid out. Doing a step-by-step can be grueling but by hitting all the "highlights" then it's easy enough to reference the article when trying to implement something new or ask a question about a section or feature listed.
-
@edmaul69 said in Setting up a Ipac2:
I chopped my ps2 cable in half and wired a usb connector to both cables and use it on the pi.
That's a handy piece of information. Last time I tried rigging a cable I couldn't get the shielding grounded properly and it was causing me all kinds of issues.
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.