Notes

MustardOS Introduction

MustardOS (muOS) is an operating system (or “custom firmware”) for handheld devices like the Anbernic RG35XXSP.

In this page, I’ll try to explain (roughly) what it is and how to set it up because I’ve found some of the existing guides and documentation lacking, and I want to prevent people from facing the same frustrations I did.

MustardOS starting on the RG35XXSP
MustardOS starting on the RG35XXSP

Custom firmware

In the world of gaming handhelds, custom firmware (CFW) is a firmware (operating system) made by the community that replaces the stock firmware provided by the manufacturer. In most cases, they are custom embedded Linux images that are flashed to the SD card with the devicetree and settings preconfigured to work well with a particular console.

In general, custom firmware is better maintained than stock firmware and better supported by third-party tools such as PortMaster. Spending 90 minutes setting up CFW is annoying, but it can be worth it if you want to play ports, use a cool theme, or otherwise enjoy tinkering with your device.

Common CFW images

Of all of these options, muOS provides the best experience out of the box, and it is hard for me to recommend anything else unless you plan on more-or-less building your own firmware image.

Backing up your data

If you have anything important on your microSD card, you should back it up to your computer. This is especially important if you want to transfer your save files. Otherwise, you can skip this step.

Finding a microSD card

Most cheap microSD cards will fail within a few months and corrupt a bunch of of your data, and that can be a frustrating way to lose 20 hours of progress in a game. Therefore, I would strongly recommend investing in a high-quality microSD card rather than using the one that shipped with your device.

Purchasing tips

Matt Cole has a website where he stress tests various microSD cards, and “KrackSmellin” on Reddit summarized his results in a comment. I’ve had good experiences with the Samsung PRO Endurance products, but the Kingston Canvas Select Plus products are apparently great as well.

Installing muOS

MuOS has an official install guide you can follow. In general, the steps are as follows.

Configuring settings

You may wish to configure your system. I’ll mention a few settings you might want to change.

The theme picker in the settings
The theme picker in the muOS settings

Connectivity

Configure your network if you’d like.

More information about Connectivity is in the documentation.

Interface Options

If you used a non-standard folder naming, you may wish to reformat them.

Customisation

By default, muOS will automatically launch the most recent save state of your game when you launch it unless you hold the A button. If you’d prefer to start it fresh (e.g., to see the bootup screen + menu), set Content Save State Launch to “Hold A”.

MuOS ships with a good default theme, but there are a variety of alternate themes to choose from. My favourite is the “Analogue” theme. If you have network connectivity, you can download themes and try themes directly from the settings menu.

More information about Customisation is in the documentation.

Storage

By default, muOS stores everything on one SD card. This is fine for most people, but if you’d like to store certain data (e.g., save files) on a SD card separate from the rest of the OS, that can be configured.

Doing this allows you to flash a new installation of muOS to the cartridge without losing your ROMs, saves, themes, activity (play time) data, etc., and it splits the load across two SD cards which might reduce the risk of issues.

More information about Storage is in the documentation.

Advanced Settings

By default, muOS turns the power LED off during play. Personally, I prefer to have it on.

More information about Advanced Settings is in the documentation.

Installing ROM files

Obtaining ROM files

Unfortunately, the only legal way to obtain most ROMs is to purchase physical copies of the games and dump them yourself. Even then, that only applies if the game can be dumped without bypassing DRM.

If you are comfortable with torrenting, the MiNERVA Archive is a useful resource. Of course, you should not use the torrents there because starting them will download the ROMs to your computer, and that would be awful. :-)

Installing ROM files

MuOS will detect your ROMs regardless of your directory structure as long as they are in /ROMS, but I have included a few path suggestions below. You will need to create the folders yourself and add your desired ROMs.

Platform Path Formats
Neo Geo /ROMS/Arcade .ZIP
Game Boy (GB) /ROMS/Game Boy .GB
Game Boy Color (GBC) /ROMS/Game Boy Color .GBC
Game Boy Advance (GBA) /ROMS/Game Boy Advance .GBA
Nintendo 64 (N64) /ROMS/Nintendo 64 .Z64
PlayStation (PS) /ROMS/PlayStation .CHD

Handling multi-file ROMs

Occasionally, you may run into a game that has multiple ROM files. In cases like this, you’ll need to add an M3U file in the same directory as the ROMs with the locations of all files needed for the emulator to load the game. I’ve included an example below.

Final Fantasy VII (USA).m3u
Final Fantasy VII (USA) (Disc 1).chd
Final Fantasy VII (USA) (Disc 2).chd
Final Fantasy VII (USA) (Disc 3).chd

Applying patches

In most cases, ROMs can be patched by including the patch file in the ROM folder with the same name as the original ROM. This can be useful for applying fan translations.

GBA ROMs with IPS/UPS patches
A picture of my GBA ROM folder with IPS and UPS patches applied to some ROMs

Installing BIOS files

Obtaining BIOS files

As with the ROMs, BIOS files can be found on the MiNERVA Archive.

Installing BIOS files

BIOS files are software that is included on a console itself. Most emulators are capable of playing games without these nowadays, so this isn’t strictly necessary, but you might want to install them anyway for full accuracy (e.g., to see the Game Boy Advance logo when you start a game in mGBA).

The BIOS folder on my handheld
The BIOS folder I used for the tutorial

Note that FinalBurn Neo will expect BIOS files (e.g., neogeo.zip) in /ROMS/Arcade rather than /MUOS/bios.

Migrating previous saves

If you have existing save data, you’ll probably want to copy it over. Save data for most cores is kept in /MUOS/save. For each file, you’ll want to do the following steps.

Now, when you start the game in muOS, your previous save should be available. However, this might not work if the save files are incompatible between emulators (or something).

Adding previews

If you would like to add preview images for your ROMs, you can generate them with a tool called Scrappy. Unfortunately, this takes a bit of fiddling around.

The Scrappy interface
The Scrappy interface

Usage notes

At this point, you are pretty much good to go. Here are a few notes.

Adding favourites

If you have a large ROM library, muOS lets you add certain games to a separate “collection”. This can be useful if you tend to play the same few games and don’t want to dig through your library every time.

Opening the menu

Unlike most other firmware, pressing the menu key will not open the menu. Instead, it is a hotkey button that you press in combination with another button to perform various actions. Press Menu + X to open the menu.

Installing ports

The PortMaster start-up screen
The PortMaster start-up screen

PortMaster is installed by default, and if you have network connectivity, you can use it to install ports of certain PC games (e.g., Cave Story) to your handheld. Note that many games will require data from an original installation of the game, and you can find the instructions for this on PortMaster’s website.

Have fun

At this point, you should be pretty much good to go. Good luck!

Other resources