Bliss-box 4-play advanced and RetroArch

Hello everyone,

I have a lot of original retro controlers at home that I would like to hook up to my computer for use with RetroArch.

Up until now, I was using various different adapters and have set up different RetroArch set-ups (basically one for each controller type I own), each configured to work perfectly with a different controller type (N64; PS2; SNES; …). However, there are multiple things that bother me:

  1. I don’t want to manage / update 10 different versions of RetroArch anymore.
  2. There are still a lot of controllers I can’t find reliable adapters for.
  3. Some features, like rumble support, don’t reliably work with some of my adapters.

That’s why I am considering buying the Bliss-box 4-play advanced, but I am unsure how well this works with RetroArch. Ordeing the Bliss-box 4-play advanced along with all the cables I need + shipping to Germany would be over 300€ and I don’t want to spend that kind of money if I’m not certain it will work as I want it to. At this price, it needs to be virtually flawless.

Is there anyone here using the Bliss-box 4-play advanced who can give me some insight as to how this works with RetroArch?

So basicaly, what I’d like to do is this:

  1. Connect SNES controllers --> start a SNES game with RetroArch --> all buttons for players 1 & 2 work perfectly out of the box.

  2. Close RetroArch --> connect NES controllers --> start a NES game with RetroArch --> all buttons for players 1 & 2 work perfectly out of the box.

  3. Close RetroArch --> connect N64 controllers --> start an N64 game with RetroArch --> all buttons for players 1, 2, 3, 4 work perfectly out of the box + rumble works with the rumble pack inserted on all 4 controllers

  4. Close RetroArch --> connect PS2 controllers --> start a PS2 game with RetroArch --> all buttons for players 1 & 2 work perfectly out of the box + rumble works.

And so on.

Is this possible, or is there any additional set-up required inside RetroArch?

Maybe someone can explain to me how this works, because it is very hard to find good documentation online.

Thank you!

I’ll preface this by saying that I don’t own a 4-Play, although, from my research (its official site & YouTube channel), I think it works similarly to my current setup, described below.

I own several USB replicas of retro controllers: PS1, NES, SNES, MD, PS2, N64 and GC. They’re all from the same brand and, strangely, the first four are recognized by windows as the exact same device, seemingly using the PS1 controller as the base (PS1 △ = SNES X = MD Z = NES B, your guess is as good as mine on this last one). The same happens with the last three (PS2 X = N64 C▽ = GC A)

What I do is run all of them through x360ce, which, in its latest version (4.x), creates a “virtual” Xbox 360 controller in Windows while running. The software allows you to combine any number of physical controllers to a virtual one, so I mapped the PS controllers’ buttons to the X360 equivalent ones (PS △ = X360 Y) and now I just need to open x360ce and plug in any of my controllers.

On the RetroArch side of things, instead of having 2 controller profiles (for the aforementioned grouped controllers, PS1/NES/SNES/MD & PS2/N64/GC), I only have one, for the virtual controller x360ce creates. Naturally, remap files are created as needed (core/content directory/game).

There’s no need to close RetroArch to swap controllers. x360ce provides the option to use HID Guardian, which is used to hide USB devices from the system, making them visible only to x360ce. This way, RetroArch doesn’t even “notices” that a controller was unplugged, since, as long as x360ce is running, the virtual X360 controller is plugged in (and none of the physical ones are).

From the looks of it (mainly this video), as long as 4-Play is turned on, 4 controllers are immediately “plugged in”, they just don’t receive any actual inputs until you plug in a physical controller + adapter combo.

This makes me believe 4-Play works the same as x360ce + HID Guardian, just in a physical manner. Regardless of the physical controller you’re using, windows (and, by extension, RetroArch) only sees 4-Play’s devices.

Hope this helps :v:t2:.

1 Like

Thanks for the explanation!

I’ve since joined the discord and I am very sceptical now whether the Bliss-box 4-play advanced will work as I want it to. In fact, I doubt it.

There are several problems reported with regards to how this device works with RetroArch. If this is true, I will essentially run into the same issues I’d face if I used one RetroArch instance for all of my original controllers.

Apparently, the device order for assigning P1-P4 can change upon reboot and some of the more advanced features of the device don’t seem to work with RetroArch (e.g. PS2 pressure sensitive buttons).

So if I get this device, it won’t be as big of an upgrade as I hoped it would be. It would still be cool to have one device where I can plug in all of my controllers, but I still have to run separately configured instances of RetroArch for each controller type.

Plus, for some controllers I own, I can’t find any adapters other than Blissbox.

So I’ll probably buy eventually, but I’ll buy a smaller number of cables and test the device first instead of buying the complete set.

I’ll probably also try x360ce again. I was messing around with it a long time ago and I remember it not working the way I wanted it to work, but I don’t remember what exactly bothered me about it,

Yeah, it can be a bit of a hassle to set up, mainly because the interface is kinda convoluted and poorly explained :sweat_smile:

If you decide to try it, I’ll describe what works for me (if you’re familiar with it you can just ignore the next part):

  • Run it as administrator. I don’t remember exactly where, but I read that this helps with stability (preventing crashes, lock-ups, etc.);
  • Once you open it up for the first time, go into the “Options” tab and:
    • In the “General” sub-tab, mark “Show [Devices] Tab”;
    • In the “Virtual Device” sub-tab, click install. “Virtual Gamepad Emulation Bus” is what enables the virtual controller;
    • Optional, but recommended: In the “HID Guardian” sub-tab, click install and mark “Configure Automatically”. This way, once you plug in a physical controller with x360ce running, it will be hidden to any other program also running (it won’t even appear on joy.cpl); For this to work, you’ll need to go into the “Devices” tab and mark “Hide” for the controllers you want to hide from the system.
  • Now, in the “Controller X” (whichever you choose, normally 1), click " :heavy_plus_sign: Add…" and add the controllers you want to map to that virtual controller (mark the controllers in the list and click on “Add Selected Device”). I’m pretty sure the physical controller needs to be plugged in for it to be added for the first time, but once you add it, it will always appear in this list, even when disconnected.
  • Once you add your controllers, click on each of them on the list and (I recommend) click on “Remap All”, to map all the physical buttons to the virtual ones. Then mark the controllers on the list and click “Enable X Mapped Devices (Combine)”.
  • A plugged-in controller will have a green square to its left on this list and pressing buttons on it will highlight the corresponding button on the X360 controller image.
  • You can minimise (not close!) x360ce while it is running. In my experience, it’s not necessary to create game profiles in the “Games” Tab.

As you can see, I kinda like writing :upside_down_face:

1 Like

Thx again!

I remember that one issue was that rumble for several controllers did not work correctly with x360ce. For N64 I found a hardware solution with the 8bitdo Gbros. For Dualshocks I used XOutput.

But using a software in genral means that I have to add that software as an additional app to launch alongside the emulator (in Launchbox, for example).

It’s possible, but a bit convoluted.

A hardware solution is preferable in my experience.

1 Like

Oh, for sure. Just plugging something in with no additional steps is the ideal scenario. Sometimes we don’t get that choice though :sweat_smile:

In my case x360ce was the better choice because the virtual X360 controller “just works” with everything I use (RetroArch, OBS, etc.).