Bliss-Box Blender

The Bliss-Box Blender is a vessil. The logic behind it is simple. It has 2 inputs and two outputs that can be blended together to yeild multiple output configurations. All of the logic is in the software and programmed with the Blenders eeprom. 


Board overviw. 


The two inputs on the left will only accept an LLAPI-capable device. Devices are not limited to Bliss-Box, but the LLAPI protocol is required. This includes the Gamer Pro, GPA, 4-Play, GPjr, and other LLAPI-capable devices. Either port may be used by itself or at the same time.

The two outputs can also feed devices that read LLAPI, for example, the Bliss-Box Bridge or the MiSTer. Each output can be assigned actions and communicate over LLAPI. If you wish to use USB, only the bottom output will be usable. This is also used for updating the Blender. USB and LLAPI are detected automatically and do not require manual switching.

The Update mode button only needs to be pressed once when the USB is connected to a PC. You may need to use Zadig to get the driver in LibUSB win32 mode. Once connected and working, use the BlendTool software to program. Each time you program the device, it will flash the firmware. Please place firmware somewhere accessable and use the file picker after programming.

USB can be  HID or Xinput (depending on the intenal switch position). The default position is HID.  Do remember that Xinput is limited compared to HID. Not all assimewnts will work in Xinput mode. 


 To configure the Blender you will need to use a windows based program called the Blendtool


The software can be seen as a reflection of the board. There are four main zones: two inputs and two outputs. Each zone is labeled.

Up top, you will see the map file being used. You may select from a list of previously saved maps, or use one of the preset map files. On the upper right, you can save the current configuration. You may overwrite the default configurations.

A closer look at input 1.

All zones show an image reflecting the board, a label, a visual reference of its controls, and the assignments. You may configure the assignments using the dropdowns. Each dropdown holds the same data. When selecting a dropdown, it will show you what it is connected to and from.

Each dropdown holds assignments for both outputs. If you want to switch all outputs from 1 to 2, use the button up top labeled "Change to Output 2". Or you may change to output 1.

The "Config data" is for advanced features. Depending on the input and output, it will show the advanced options you can use, such as threshold, inverting, or button states.

Each assignment has two sets and is toggled by the main and secondary mapping radio buttons located at the bottom center of each input zone.

The output section has control over the ID. You may tell that output to use the controller ID from input 1, 2, or set it statically. If unsure, just leave this setting as it is. There may be cases where you want to force the ID output. For example, you may tell it to output as an Atari trackball.

Programming the device can only be done if the program button on the device is pressed. Once this is done, the software program button goes green. If this is not occurring, download an application called Zadig. You will need to change the driver. Follow this guide.

Once the button is green you may flash the device. 

A black screen will show up and prepare the eeprom to be written then a box will open up asking for a hex file. This is the Blender.hex file that comes with the download.  After you brows to that location and select the file it will flash the firmware.