Super-Bit-Shader (SBS) is a GLSL Retroarch Pixel Index shader that allows the user to color monochromatic games using a variety of palettes. Also, there are options for the "Color" versions of consoles like GBC, NGPC, and WSC with the goal of creating a more accurate experience.
Supported Consoles
- Game Boy / Game Boy Color (TGB Dual / DoubleCherryGB)
- Neo Geo Pocket / Neo Geo Pocket Color: (Beetle NeoPop / RACE)
- Pokémon Mini (PokeMini)
- Wonderswan / Wonderswan Color (Beetle Cygne)
- Virtual Boy (Beetle VB) / (Red-Viper)
Paritally Supported Cores
- Game Boy / Game Boy Color (SameBoy) - Game Boy Color and Super Game Boy Games
-
Game Boy - Fydo's Magic Tiles

-
Virtual Boy VUENgine Platformer Demo, Fishbone, Elevated Speed, and Multi Color Demo

-
Pokémon Mini - Cortex

🟢Part 1: Retroarch Setup
- First download and install Retroarch and familiarize yourself with the program and Shaders.
- Launch Retroarch and go to "Settings" -> "Video" -> "Output" -> "Video - Set Video Driver to GL".
- Download a release version and place the "Retroarch.SBS.3.5.1" folder inside the "Retroarch/Shaders" directory.
- Now is now ready to be seen by Retroarch.
🟠Part 2: Loading Super-Bit-Shader
- Load a game inside Retroarch using a supported core above.
- With the game loaded bring up the Retroarch "Quick Menu", from there scroll to "Shaders".
- Select it and choose "Load Preset" to interact with the "Retroarch.SBS.3.5.1" folder.
- Once inside the folder choose your console and shader type, if unsure select "Mixed-Frames".
- Pick "GLSLP" file that is the shader color of your choice.
🔵Part 3: Core Options
- Now with your shader selected use backspace key to head back to the "Main Menu".
- From the there select "Quick Menu" again and locate "Core Options".
- These are settings per core, and some of them need to be adjusted for SBS to work.
- DoubleCherryGB & SameBoy: Set GBC Color Correction to "OFF".
- PokeMini & Beetle VB: Set the Palette: "Black & White".
- Beetle Cygne: Color Palette: "Grayscale", "Color Depth-Thousands (16-bit)". "60hz Mode off" when Mixed-Frames.
🟡Part 5: SAVE YOUR WORK
- Head back to the "Main Menu" using and select the "Quick Menu" one last time.
- Scroll down to "Overrides" and select it.
- Choose Save "Core Override" or "Game Override" to have Super-Bit-Shader launch every session.
- Congratulations, you are all set! Close the Retroarch menu and get back to the game.
- Regular: SBS applied to the handheld with no modifications to the output.
- Mixed-Frames: SBS + Mixed-Frames. It used to prevent flicker and is the recommended as the default.
- Pixel-AA: Anti-Aliasising option for non integerscale displays.
- Color Handheld Presets: "1. Game Boy Color", "1. Neo Geo Pocket Color" and "1. Wonderswan Color (Crystal)" should be assigned as a "Core Override" for those handhelds with monochrome games being a "Game Override".
🐍Red-Viper (3DS Required)
🟢Setting Up Red-Viper
- This is a Virtual Boy Emulator for the 3DS by SkyFloogle.
- Replace the included "rv_config.ini" on your 3DS's SD card with the file from the Github release page.
- Directory: "RootofSD\config\red-viper"
- You are now all set to use Red-Viper and can choose your palettes in the emulator.
🔴Setting Up Retroarch for VR
- With Super-Bit-Shader setup, create a desktop shortcut for Retroarch to make it easy to open in VR.
- Start a Virtual Boy game and inside "Core Options" to set the "3D Mode" to "Side-by-Side".
- Go back to the "Main Menu" and select "Settings" below it.
- From "Settings" pick "Input" goto "Hotkeys", look for "Menu Toggle (Controller Combo)" and select "L3 + R3".
- Return to the "Quick Menu" and save these changes as a "Core Override" and close Retroarch.
🔴Using Retroarch in VR
- With a regular controller in reach, enter VR and launch Bigscreen Beta. It can be Steam, Rift Store or Quest Store.
- A wired connection automatically shows your desktop. Use "Remote Desktop" for wireless.
- Using the VR controllers a pointer launch Retroarch and use your regular controller to navigate it.
- Load a Virtual Boy game and put the regular controller down.
- With VR controllers go into the Bigscreen's menu and press "My Room" to locate to the "Desktop" category.
- You will find a "2D" button, press it until it says "SBS" for Side by Side 3D.
- You are now ready to play Virtual Boy.
🔵Setting Up Retroarch
- With Super-Bit-Shader setup, start a Virtual Boy game.
- Pull up the "Quick Menu" and locate "On-Screen Overlay" to toggle the "Display Overlay" off.
- From "Settings" pick "Input" goto "Hotkeys", look for "Menu Toggle (Controller Combo)" and select "L3 + R3".
- Next return to the "Main Menu" and enter the "Quick Menu" again.
- From there select "Core Options" and set the "3D Mode" to "Side-by-Side".
- Save changes as a "Core Override", go back to the "Main Menu" to properly "Quit" Retroarch to save your work.
- Now reboot the program and load your game and put the phone inside the Google Cardboard.
NOTE: "Core Options" cannot adjust Interpupillary Distance (IPD), make sure your Google Cardboard is fitted for Retroarch.
Prerequisites
- A Photo editor with Hex Colors and the option to modify Hue, Chroma and Saturation.
- This tool to Convert Hex Color to GLSL vec3
- The ability to copy, edit and save the glsl files included in this github.
Guide
- First create a color palette in a program of your choosing. This github includes sample sheets for each palette.
- When making a Palette keep the light levels around the same as the grayscale templates with the exception being Virtual Boy.
- Feel free to experiment with Chroma, Saturation, and Hue.
- More details are available in each consoles glsl files.
- Version 1.0: Testing and calibrating, color selection by Digiflower5 (AshleyPikachu). Base code by hunterk.
- Version 2.0-3.5.X: Testing, calibrating, color selection, code modifications, and comments by Digiflower5 (AshleyPikachu)
- Special Thanks to Nispero & EADMASTER for inspiring this project. Also thank you SkyFloogle for helping me read the Red-Viper config.
- "Super-Bit-Shader" by Ashley the Pikachu (Digiflower5) and hunterk is Public Domain.
- "pixel-aa / to_lin" shaders by fishku are Public Domain.
- "mixed-frames" shader by jdgleaver is GNU General Public License.
- "gba-color" by Pokefan531 and hunterk is Public Domain.
- "gbc-color" by Pokefan531 and hunterk is Public Domain.
- "gdapt" by Sp00kyFox does not have a license listed.
- All seperate supporting shaders included with SBS are from Retroarch's Online Updater unmodified and have their own licenses.
- Older releases of Super-Bit-Shader are included on this Github for archival purposes.
- You can use Overrides to set your video driver per core if you need another display driver.

