Jump to content
LaunchBox Community Forums
James VanDusen

Configuring RetroArch with iPAC2 (Xtension) 2 player combo sticks, roller and spinner

Recommended Posts

All

Looking for assistance in properly configuring the retroarch to utilize my Xtension joystick + system.  I wanted to use retroarch but have been forced to use MAME64 instead as it was easier to find and configure with the joystick which mimics keyboard and mouse controls.  Anyone have experience on how to get retroarch setup with these ipac2 interfaced joystick combo kits?

Share this post


Link to post
Share on other sites

Anyone?

I ended up for the interim setting up Launchbox with MAME for now, but would like to use retroarch for genesis and SNES... which it doesn't seem to understand the IPAC2 controller while MAME does.

 

Share this post


Link to post
Share on other sites

I have been messing with this on my new 32" Pro Upright Xtension Arcade Cabinet "4 Player Ultimate Edition", and found that the best solution is to make Gamepads out of Player 1 and 2 and keep the Pause, Exit, Select, Menu and mouse buttons like they where.

1. Start by getting the WinPac software:
http://www.ultimarc.com/winipacv2setup.exe

2. Open the software, and save a backup of your config and note wich board and firmware you have.
Press File -> Export to save a backup.

3. Download the dual gamepad firmware:
http://www.ultimarc.com/ipac_dualgp.zip

I'm guessing you have a iPac2 board with FW1.44
There are 2 types of firmware for the iPac boards:
1.3x Keyboard, mouse and gamepads
1.4x Keyboard and mouse

4. Upgrade your boards firmware to 1.39, in WinIpac go to File -> Firmware upgrade
Follow the instructions, and be careful and select the correct board.
The zip includes firmware for 4 different boards.
For iPac2 select: IPAC2_139.ufw

5. Open your export file in notepad or even better, notepad++
Compare that to my Xtension Ultimate Edition Ipac2 Original.xml

6. Configure your board for gamepad (Xbox default setup)
If they are identical, you can import my file

If not, you will have to manually edit the controls for your board.

The key is to map your gamepads so they ar identical to a XBox controller
Button 1 - 6 = Gamepad button 1 - 6
Coin = Gamepad button 7
Start = Gamepad button 8

Do this for player 1 and player 2

I did not touch any other buttons, and just left them as is.

I have attached 4 setups for 2 different boards.
For iPac2 go to File -> Import and select Xtension Ultimate Edition IXtension Ultimate Edition Ipac2 GamePad.xml
Then select File -> Force board reconfigure

7. Configure Retroarch:
Go to your RetroArch folder and look here:
RetroArch\autoconfig\xinput
If you have a "I-PAC 2.cfg" delete it and save mine there instead.
I have attached the I-PAC 2.cfg file and one for Mini-PAC.cfg

Now Retroarch will work like this
First row of buttons on the Xtension is Y X L
Second row of buttons on the Xtension is B A R
Coin is Select, and 1Player is Start

If you use mame or any other emulator you will now have to map the gamepads.

If you have messed with RetroArch and the gamepads do not work, rename your retroarch.cfg.

Gamepads work in BigBox automatically.

In RetroArch you can change the F1 menu toggle to TAB, to enable the Menu key on the Xtension.

Xtension Ultimate Edition Ipac2 Original.xml

Xtension Ultimate Edition MiniPac GamePad.xml

Xtension Ultimate Edition MiniPac Original.xml

I-PAC 2.cfg

Mini-PAC.cfg

Xtension Ultimate Edition Ipac2 GamePad.xml

Edited by Cirion
  • Thanks 2

Share this post


Link to post
Share on other sites

Wow, wish this was posted a couple of days ago ;) Great reply Cirion. This is basically the process I followed as well in order to get Steam + Retroarch to see Gamepads from my iPAC2 inside my Xtension Alpha-Cade. I ran into a bunch of issues along the way but for Steam the biggest key to success was have the x360ce utility in the root Steam folder and then configure it with the buttons that were configured in the iPAC2 utility. Retroarch worked with any extra software.

The one issue that still remains (which is mostly resolved by configuration in Retroarch or each Steam game) is that my P1 controls are being recognized as P2 and P2 is P1. Have you come across this issue?

Share this post


Link to post
Share on other sites

Yes, gamepad id's...

I have the 4 player version and it uses 1xiPac2 and 1xMiniPac. I found a fix.

Player 1 is 3, Player 2 is 2, Player 3 is 4 and Player 4 is 1. This is bacause of the way the boards are cabeled.

Player 1&3 is the iPac2 board and is always second after boot, so it gets id 3&4.

Player 2&4 is always first after boot. So it gets id 1&2. Player 2 is cabled to the second gamepad on the MiniPac and Player 4 to the first.

I did post this a week ago. But was told by a admin to delete it.

Share this post


Link to post
Share on other sites

Here is the post from December 6. That I deleted, but I did save the text:

Quote

 

Oh what a joy ;) Joy ID's in Windows 10 drive me crazy!!!

I finally received my Xtension Arcade with the Xtension 4Player Ultimate Edition from Recroom Masters.

The Arcade is now built but still waiting for 2 parts that got broken in shipping. Player 1 and 2 work out of the box in Mame, and Player 3 and 4 requires mappings, so far so good... But then I wantet Retroarch 😱
Forget trying to map that... I have tried in so many way's I have no count... Looks like manually overriding every single game works...

So after fighting with this for a week, I'm finally getting somewhere and think it's time to share :)

Second generation of failures, made me reflash the firmware of the Ultimarc boards in the Xtension controller. No info from Recroom master on how these are setup, just the keymap.
So I opened it up to have a look.

Left Side:
I-Pac 2 Controller board with FW 1.44
Player 1 and Player 3
Left Click, Menu and Select buttons

Right Side:
Mini-Pac Controller board with FW 1.44
Player 2 and Player 4
Pause, Exit and Rigth Click buttons
Trackball

I made backups of both setups
I then flashed both boards to FW 1.39 (with gamepad upport)
I configured Player 1 - 4 as gamepads with 6&4 buttons and Start&Select as button 7&8 (Just like a gamepad)
Now here is where Joy ID's come in and make a mess.

Player1 is Player 4 on the Xtension
Player2 is Player 2 on the Xtension
Player3 is Player 1 on the Xtension
Player4 is Player 3 on the Xtension

This is consistent on every reboot, unless I choose to start unplugged and connect left side first. So the Mini-Pac allways gets player 1&2 but since Player 4 is wired to Player 1 on the Mini-Pac it gets the Player 1 assignment.

On top of that, retroarch made no sense with these gamepads, so I flashet back to no gamepadfirmware V1.49.
I restored the backups and tried to go the keyboard mapping route...

I had to give up on that in Retroarch because I could only get it to work with a game override for every single game.

So back to FW 1.39 with gamepads again.

I now found a way to fix the Joy ID's
https://github.com/briankendall/devreorder/

I followed the guide to apply it to my entire system.

By running the EXE I found this:
"Mini-PAC": {77a5cc50-f4e6-11e8-8004-444553540000}
"Mini-PAC": {77a46cc0-f4e6-11e8-8001-444553540000}
"I-PAC 2": {c82b6f50-cbe1-11e8-8002-444553540000}
"I-PAC 2": {c82c0b90-cbe1-11e8-8003-444553540000}

And reordered them and added them to the ini in the correct order:
{c82c0b90-cbe1-11e8-8003-444553540000}
{77a5cc50-f4e6-11e8-8004-444553540000}
{c82b6f50-cbe1-11e8-8002-444553540000}
{77a46cc0-f4e6-11e8-8001-444553540000}

That worked, but Retroarch still made no sense...

I had at some point updated autoconfig profiles for gamepads and they contain a profile for I-Pac2 and Mini-Pac, but they are plain wrong!
After deleting those and making new ones it now works!

I-Pac2:
input_a_btn = "4"
input_b_btn = "3"
input_device = "I-PAC 2"
input_down_axis = "+1"
input_driver = "xinput"
input_l_btn = "2"
input_left_axis = "-0"
input_product_id = "1056"
input_r_btn = "5"
input_right_axis = "+0"
input_select_btn = "6"
input_start_btn = "7"
input_up_axis = "-1"
input_vendor_id = "53769"
input_x_btn = "1"
input_y_btn = "0"

Mini-Pac:
input_a_btn = "4"
input_b_btn = "3"
input_device = "Mini-PAC"
input_down_axis = "+1"
input_driver = "xinput"
input_l_btn = "2"
input_left_axis = "-0"
input_product_id = "1088"
input_r_btn = "5"
input_right_axis = "+0"
input_select_btn = "6"
input_start_btn = "7"
input_up_axis = "-1"
input_vendor_id = "53769"
input_x_btn = "1"
input_y_btn = "0"

Now when I start RetroArch it configures everything automatic:
Player 1 is Player 1 I-Pac2 - 1
Player 2 is Player 2 Mini-Pac - 2
Player 3 is Player 3 I-Pac2 - 2
Player 4 is Player 4 Mini-Pac - 1

I have tried a few systems and it's consistent, even after reboots. 

I have attached my Gamepad Profiles for both boards and the Autoconfigs for Retroarch.

I gues this will work for 2 player controllers that use any of the two boards.

Devreorder will probably work for any gamepad it you want to reorder your ID's

I have not done anything with the trackball, it's just a mouse...
The rest of the buttons I have left as they where. So they are still keypresses and select, pause, exit work out of the box in Retroarch, the menu button needs a remap from F1 to TAB in Retroarch.

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
10 hours ago, gbafan said:

Wow, wish this was posted a couple of days ago.

So this solution was actually posted 2 weeks ago, but I was told to delete it because of a double post or something. I deletet it, and it was gone :(

Share this post


Link to post
Share on other sites

Thank you very much @Cirion  This is a great writeup that should be archived and displayed in a KB or something.

This is what I really needed... I ended up remapping a lot of the stuff but still struggling with retroarch being mapped like you had it.

I use the Buttons1/2 for starts and Buttons5/6 for coins so its really left in MAME mode.

The left *player1 is UP, DOWN, Left, Right arrows... where the right *player2 is rfwg or something like that....  I have it setup to be seen as 2 ipac2 devices too... so I could switch to joystick mode.

Share this post


Link to post
Share on other sites

I made updated autoconfig files for iPac2 and MiniPac.

I have now mapped Left and Right analog sticks to the dpad.
That makes the setting "User X Analog to Digital" work with both "Left Analog" or "Right Analog" or set it to "None" if you do not want it.

This made for example GameCube games playable with arcade stick when dpad does nothing and the analog stick is used to move.

I-PAC 2.cfg

Mini-PAC.cfg

Share this post


Link to post
Share on other sites

I've learned a lot on this post but I'm still struggling.  I also have the xtension ultimate edition and tried loading your config files.  But none of the joysticks work.  The buttons seem to work, but not the sticks?  I'm probably just in way over my head.  But I'd appreciate any advice.

Thanks

 

Share this post


Link to post
Share on other sites
4 hours ago, scstroy said:

I also have the xtension ultimate edition and tried loading your config files.  But none of the joysticks work.

Did you flash both controller boards, then use my config files?

If yes:
Test them in controlpanel to see that they work as four gamepads

If no:
Flash both boards, but save backups first.

Share this post


Link to post
Share on other sites

I did flash both controller boards and then used your config files.  I tried in control panel and they do not work as gamepads.  In fact in control panel ipac2 only shows three buttons and no joystick.  I just reflashed firmware on both and reapplied your config.  Same results.  

 

Any help would be appreciated.

 

 

Edited by scstroy

Share this post


Link to post
Share on other sites

You should test the config in Winipac. After reading my config files, check that the buttons and sticks are mapped correctly.

If the gamepadtest does not work, it will not work in Launchbox.

Share this post


Link to post
Share on other sites

After flashing with your config the up,down,left,right for each stick is set to "disable".  Is that what it should be set to?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×