ANBERNIC RG35XX STARTER GUIDE
https://retrogamecorps.com/2023/01/03/anbernic-rg35xx-starter-guide/
Last updated: 02APR2023 (see Changelog for details)
In this guide I will show you how to get started with the Anbernic RG35XX retro handheld, and how to set up the new GarlicOS game launcher and greatly improve the device’s user experience.
Where to buy the RG35XX:
Anbernic website
AliExpress
Amazon (more expensive but faster shipping and easy returns)
GarlicOS is provided as a community build thanks to the work of developer Black Seraph. If you have the means, please consider leaving him a tip jar donation to thank him for his efforts. MinUI is created by Shaun Inman.
Table of Contents
Getting started
Recommended software tools
Install GarlicOS (single-card setup)
Install GarlicOS (dual-card setup)
Add BIOS files
Add game files
Updating GarlicOS
Set the real-time clock (RTC)
Overclocking (or underclocking) the RG35XX
Changing the GarlicOS skin
Adding boxart to the menus
Super Mario 64 port
Additional GarlicOS tips
Install MinUI
Adjusting the d-pad sensitivity
Changelog
RG35XX review video
RG35XX vs Miyoo Mini Plus comparison video
Sandisk (left) and Samsung (right) microSD cards
Getting started
The RG35XX will come bundled with a single microSD card, and in some cases two SD cards, but they are from a generic brand and will be prone to failure. The “TF1/INT” slot on your device holds the system firmware, so for that card 16GB is ideal. The “TF2/EXT” slot is for your game files, so you will want a larger card for that one. You can either use a single-card setup to host both your system files and the games on one card, or you can separate the two functions using a dual SD card setup. In this guide I will show you how to set up each method.
Your safest bet is to replace your cards with microSD cards from a well-known brand, which will prevent the cards from getting corrupted over time. I recommend you store that original card somewhere safe in case you run into any issues in the future, and buy new SD cards from a reputable brand like SanDisk or Samsung to use in your device.
In general, I recommend the cards listed below, in order of preference. The prices fluctuate all the time, so keep an eye out for deals. In general, I would expect to pay about $7 for a 16GB card, $12 for a 64GB card, and $17 for a 128GB card. For the SD2 slot, I recommend a 64GB or 128GB card, which will allow you to load EVERY 8-bit and 16-bit game out there, all of the arcade games that work, and a large number of PS1, Sega CD, and TurboGrafx-CD games (those systems have the largest file sizes). You can use an even larger SD2 card (like 256GB) but I think it’s overkill for a low-powered device like the RG35XX.
16GB cards:
SanDisk Ultra
SanDisk Industrial (more reliable but pricey)
64GB cards:
SanDisk Extreme
Samsung EVO Select
Samsung Ultra
128GB cards:
SanDisk Extreme
Samsung EVO Select
SanDisk Ultra
One more accessory to consider: if you don’t have a nice microSD to USB adapter, you might want to think about getting one. A nice adapter like this one from Anker will give you the fastest transfer speeds possible, and won’t cause any corruption issues with your card.
Finally, I would recommend that you build your ROM library now, if you haven’t already. The device comes with a bunch of games, but they are poorly organized, in the Chinese language, or just outright buggy. Make a folder called “ROMS” or something like it, and make distinct folders for each of the systems you would like to play on your device. I recommend naming your game folders after the “Rom Folder” names found in this guide, because that’s how they’ll be organized on your device when using GarlicOS. For best results, unzip your files with the exception of Arcade/NeoGeo titles.
Recommended software tools
There are several Windows-based tools we are going to use to ensure the smoothest installation possible. So before getting started, go through this list and install these (free) applications to your computer.
7Zip — The GarlicOS SD card image will come in the .7z file format, so you will want to install 7Zip on your computer so you can extract the .img file within.
Balena Etcher — This tool will flash the .img file to your SD1 card.
MiniTool Partition Wizard — This tool will allow you to expand the ROMS partition on your SD1 card, to make space for your BIOS files (and game files if you want to put them there, too). Note that in the video below I demonstrate this process using DiskGenius, but since making that video I have read some concerns about DiskGenius’ Chinese origins; and so it may be safer to use products like MiniTool Partition Wizard or EaseUS Partition Master (for this one, use the “Extend” option rather than “Resize”). For each of these software services, the process is similar, just with a different user interface.
GUIformat — This FAT32 format tool will format your SD2 card to the FAT32 file system, so that the RG35XX can recognize the card and its contents. This is necessary if you are going to use an SD2 card that is larger than 32GB in size.
Install GarlicOS (single-card setup)
Head over to Black Seraph’s website and follow the link to Anbernic RG35XX. There you will find a Patreon post with a description and links to GarlicOS, the custom operating system modeled after the popular Miyoo Mini custom interface known as OnionOS. You do not need to be a member of his Patreon page to download GarlicOS, but please consider supporting his work if you have the means to do so.
At the bottom of the post you will see two files:
RG35XX-Garlic-CopyPasteOnTopOfStock.7z
RG35XX-Garlic-MicroSDCardImage.7z
Download the second option, “RG35XX-Garlic-MicroSDCardImage.7z” and save it to your computer. Using 7Zip, extract the .7z file and you should have two files: a readme file and the garlic.img file. Using Balena Etcher, flash the garlic.img file to your SD1 card. When the flash completes, you may get a bunch of pop ups warning you to format the partitions — ignore them.
Open up MiniTool Partition Wizard and find the SD1 card in the lefthand menu. It should have four partitions. One of them is FAT32 formatted; if it doesn’t have a drive letter assigned to it, right-click on it in the left menu and Assign a Drive Letter. Once you have a drive letter, you should be able to access this partition using the regular Windows Explorer; within this partition should be a list of three folders:
- BIOS
- ROMs
- CFW
Next we’re going to expand the SD1 card so that we can take advantage of all its available space. In Disk Genius, right-click on the FAT32 partition and select “Resize Partition”. Drag the partition so that it takes up all available space, then select “START”. This process may error out, and if it does, you want to DELETE that FAT32 partition and make a new one (that takes up the whole free space) and name it ROMS. Then, move the three backed-up folders (BIOS, ROMs, and CFW) to that partition and you are good to go.
MAC USERS: use The Unarchiver to extract the .7z file, then flash the SD1 card using the Mac version of Balena Etcher. To expand the partition, I recommend following these steps made by Reddit user occaisionalevergreen. When formatting an SD2 card that is over 32GB in size, use Disk Utility and format it to the “MS-DOS(FAT)” format.
If after moving your ROMs over you experience a bunch of files that have a “.” in front of them and won’t launch, they are AppleDouble files that can be cleaned by opening Terminal and typing “dot_clean” and the path to your SD card, then pressing the ENTER key. You can easily get your SD card’s path by dragging the drive icon into Terminal.
Install GarlicOS (dual-card setup)
Head over to Black Seraph’s website and follow the link to Anbernic RG35XX. There you will find a Patreon post with a description and links to GarlicOS, the custom operating system modeled after the popular Miyoo Mini custom interface known as OnionOS. You do not need to be a member of his Patreon page to download GarlicOS, but please consider supporting his work if you have the means to do so.
At the bottom of the post you will see two files:
RG35XX-Garlic-CopyPasteOnTopOfStock.7z
RG35XX-Garlic-MicroSDCardImage.7z
Download the second option, “RG35XX-Garlic-MicroSDCardImage.7z” and save it to your computer. Using 7Zip, extract the .7z file and you should have two files: a readme file and the garlic.img file. Using Balena Etcher, flash the garlic.img file to your SD1 card. When the flash completes, you may get a bunch of pop ups warning you to format the partitions — ignore them.
Open up MiniTool Partition Wizard and find the SD1 card in the lefthand menu. It should have four partitions. One of them is FAT32 formatted; if it doesn’t have a drive letter assigned to it, right-click on it in the left menu and Assign a Drive Letter. Once you have a drive letter, you should be able to access this partition using the regular Windows Explorer; within this partition should be a list of three folders:
- BIOS
- ROMs
- CFW
Next, take your SD2 card and format it using the GUIformat tool linked in the Recommended software tools section above. Next, move the BIOS and ROMS folders to the SD2 card and you are good to go.
OPTIONAL: If you want to also host ROMS on your SD1 card, you can expand the SD1 card so that we can take advantage of all its available space. In Disk Genius, right-click on the FAT32 partition and select “Resize Partition”. Drag the partition so that it takes up all available space, then select “START”. This process may error out, and if it does, you want to DELETE that FAT32 partition and make a new one (that takes up the whole free space) and name it ROMS. Then, move the three backed-up folders (BIOS, ROMs, and CFW) to that partition and you are done.
In summary, this is how your file structure should look on a dual-card setup:
SD1:
FAT16 system partition. System files, with names like "dmenu.bin", "modules" folder, etc.
FAT32 storage partition:
BIOS folder (optional, only if you have ROMs on this card too)
CFW folder
Roms folder (optional)
Saves folder (optional, auto-generated)
SD2:
BIOS folder
Roms folder
Saves folder (auto-generated)
MAC USERS: use The Unarchiver to extract the .7z file, then flash the SD1 card using the Mac version of Balena Etcher. If you want to expand the SD1 card partition, I recommend following these steps made by Reddit user occaisionalevergreen. When formatting an SD2 card that is over 32GB in size, use Disk Utility and format it to the “MS-DOS(FAT)” format.
If after moving your ROMs over you experience a bunch of files that have a “.” in front of them and won’t launch, they are AppleDouble files that can be cleaned by opening Terminal and typing “dot_clean” and the path to your SD card, then pressing the ENTER key. You can easily get your SD card’s path by dragging the drive icon into Terminal.
Add BIOS files
BIOS files are system files that allow certain emulator cores to function properly. These files are copyrighted and so no links to them will be found on this website, but here is a list of the BIOS files I recommend adding to the folder. Note that many systems, like NES, Genesis, SNES, etc., don’t require BIOS files.
UPDATE: In the GarlicOS video above I placed the BIOS files in CFW > retroarch > .retroarch > system, but that is no longer necessary. BIOS files now have their own folder, you can place them directly there. Note that the BIOS files need to be on the same card as the game files. This gives you the option to place certain BIOS on one card for certain games, and other BIOS on the other card with other games.
Recommended BIOS files:
SEGA CD:
bios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin
FAMICOM DISK SYSTEM:
disksys.rom
GAME BOY (for boot logo):
gb_bios.bin
GAME BOY COLOR (for boot logo):
gbc_bios.bin
GAME BOY ADVANCE:
gba_bios.bin
NEO GEO:
neogeo.zip (placed in Neo Geo ROMs folder)
PLAYSTATION:
scph5501.bin
TURBOGRAFX-CD:
syscard1.pce
syscard2.pce
syscard3.pce
One exception is the Neo Geo BIOS file (neogeo.zip), this is not placed in the BIOS folder but in the same folder as your Neo Geo ROMs.
There are other supported systems that require BIOS files, like ColecoVision and Amiga. For those systems, I recommend consulting this table from OnionOS for more information.
Add game files
Now that we have flashed GarlicOS and added the BIOS files to the card, we’re ready to move the ROM files onto your desired card.
Find the ROMS folder of whatever card you plan on using, and drag and drop your ROM files into their respective folder. For the most accurate list of what every folder represents, I recommend consulting the OnionOS emulators section to see the folder name, corresponding system, and accepted ROM file type. You can use the ROMs that came on the stock SD card but I would recommend against it, since many of them will be hacked versions of the original games and may be in the wrong region/language. Instead I recommend building your own ROM library.
Once you have added your games, you are ready to go. Insert your card(s) into the RG35XX and enjoy!
Updating GarlicOS
As GarlicOS continues to develop, I would expect frequent updates. Thankfully, updating the system is relatively easy.
To start, go back to the Black Seraph Patreon post and download the latest version of the “RG35XX-Garlic-CopyPasteOnTopOfStock.7z” file. Unzip that file with 7Zip, and then move the contents of the “misc” folder into the root directory of the OS partition on the SD1 card (not the partition named ROMS), overwriting all existing files. You may need to delete the old similarly-named files on the partition first before adding the new ones since the partition is so small.
Next, copy the “CFW” folder from the unzipped .7zip file and move it to the ROMs partition of your SD1 card, overwriting all existing files.
If using a single-card setup, you also need to move the contents of the ROMS folder into the ROMS folder of your SD1 card. This will add any new folders to your card so that you can take advantage of any newly-added cores/systems (if using a Mac, choose the “Merge” option so that you don’t overwrite existing folders).
If using a two-card setup, you need to move the contents of the ROMS folder into the ROMS folder of your SD2 card, overwriting all existing files as well. This will add any new folders to your card so that you can take advantage of any newly-added cores/systems (if using a Mac, choose the “Merge” option so that you don’t overwrite existing folders).
Note that this update process will overwrite your RetroArch configuration file, but given that each release comes with new optimized configurations made by the developer, I recommend following the updated config files anyway.
Set the real-time clock (RTC)
GarlicOS now has an ability to set the RTC for games like Pokémon. To do so, press START when in the main menu and a clock adjustment window will pop up. Adjust the date and time to your liking, then press START again to save it. That’s it!
Note that pressing START in the game list menu will actually launch the game instead of the RTC, so be sure to do it while in the main menu.
Overclocking (or underclocking) the RG35XX
GarlicOS has a handy option to overclock the system in case you run into a game that has performance issues. Additionally, you could also underclock the system when playing less-demanding games (like Atari 2600, for example), to improve battery life during marathon retro gaming sessions.
When in the main menu, press the SELECT button to toggle the various overclock options. You can quickly see the overclock setting by looking at the battery icon at the top right of the screen:
NO symbol: no overclock
PLUS symbol: slight overclock
PLUS PLUS symbol: moderate overclock
MINUS symbol: slight underclock
MINUS MINUS symbol: moderate underclock
Note that the over/underclock options are implemented system-wide, and not on a per-game basis. If you want to switch to a different game and remove any clocking, you will need to toggle it off.
Changing the GarlicOS skin
There are several skins available for GarlicOS, and the best repository for them is at RG35XX.com. To install, download the theme of your choice, then unzip it and you should find a folder named “skin” inside. On your SD1 card, go to the CFW folder and replace the default “skin” with the one you just downloaded. Note that you could also make a backup of the old “skin” folder in case you want to revert to the stock, or you can download the stock skin again from the link above.
Adding boxart to the menus
It is possible to add boxart to the RG35XX menus in GarlicOS, but the current implementation is a little inelegant. I would consider this part of the guide to be intermediate, since it requires installation of special tools and using command line. But it’s kind of fun, too. Special thanks to Retro Handhelds discord user Waffles for some of the tips below, and there is also this handy guide on GitHub.
NEW METHOD: the instructions below are a little labor intensive, and there is an excellent new method available in this Reddit post, thanks to u/ToTheCorr for writing it all out. I will leave the old method down below if you want to try it out as well.
Get your boxart. I recommend using Skraper to scrape your boxart directly from your ROM library. If you haven’t used this tool before, here is a quick video guide I made a while back for older systems, but the process will work here as well. Additionally, you can download boxarts individually using Libretro’s thumbnail repository (this will be handy if you have a smaller library). It doesn’t matter what size image you save it as, as because we will adjust the size later in this guide (but keeping it at least 340px wide is recommended for this setup).
Rename your image files. Your image file names need to match the game file exactly (i.e. Super Mario World (US).png for Super Mario World (US).sfc). You can do this by hand, or Skraper will name the image files appropriately for you during the scraping process.
Adjust the image sizes to match GarlicOS. Download and install the latest ImageMagick binary file from their website. We’ll now use command line to bulk-resize the images quickly (one system at a time). I recommend backing up your images somewhere safe in case you mess them up during this stage of the process!
- Windows: Navigate to a folder that hosts your images (like your SNES images), then hold SHIFT and right-click in that folder, and select “Open PowerShell window here”. A command line will open up, and type the following code (you can just copy and paste it from here):
If done correctly, the image will be resized to fit the left side of a 640×480 window. You won’t get an indication that it worked correctly within the command line, you just have to check it yourself once it’s done. Repeat this process for your other game folders.
- Mac: Open up Terminal, and type the following code (you can just copy and paste it from here):
If done correctly, the image will be resized to fit the left side of a 640×480 window. You won’t get an indication that it worked correctly within the command line, you just have to check it yourself once it’s done. Repeat this process for your other game folders.
Move the images to your GarlicOS SD card. Place your images in the Roms > (name of system) > Imgs folder of whatever card holds your ROM files. If there isn’t an “Imgs” folder already inside your (name of system) folder, you will need to make it first.
Realign the text to match the image. On your SD1 card, navigate to CFW > skin > settings.json and open it with a text editor. Within this file, make these two changes:
"text-alignment": "left",
"text-margin": 352,
And that’s it. Note that any time you update your skin or update GarlicOS you will likely have to go in and change these lines of code again.
There are quite a few steps to get the boxart displaying, but until there is a different solution within GarlicOS, this method will work! Just make sure that you have file names that match the ROM name, that is the most important part.
Super Mario 64 port
Yes, you can play a port of Super Mario 64 on the RG35XX! You will need to be running GarlicOS and have a copy of the Super Mario 64 ROM file.
- Head to this page and download the SM64 port files (direct link here)
- Inside the subfolders, you should find a folder named sm64 and a file named sm64.sh
- Acquire your own copy of Super Mario 64. It needs to be in .z64 format and have a MD5 hash of 20b854b239203baf6c961b850a4a51a2
- Change the name of the Super Mario 64 to “baserom.us.z64”, then place the file inside the sm64 folder that you downloaded above.
- Place the sm64 folder and sm64.sh file into the Roms/PORTS folder of your GarlicOS SD card
- For a cleaner browsing experience, you can change the naming of “sm64.sh” to “Super Mario 64.sh” and the game will still boot up fine. Just don’t rename the sm64 folder!
- To exit the game, press the Menu button.
- This game will not show up in the “Recents” section but you can select it as a favorite so that it will appear in that menu.
- There are no save states for this game, so you will need to do in-game saves (the game will prompt you to save every time you earn a star).
- For best results, use a “++” overclock when booting up the game, but expect some choppiness and slowdown.
Additional GarlicOS tips
- The battery indicator on this device is not accurate, due to some voltage reading issues with the hardware. You should expect about 3-4 hours of battery life altogether, even if the indicator started otherwise.
- While in a game, tap the MENU button to return to the GarlicOS menu. It will save your progress when you exit the game. If tapping the MENU button doesn’t work, try double-tapping the button, that will usually do the trick.
- While in a game, tap the POWER button to put the device to sleep. Hold the POWER button for three seconds to awaken the device, it will resume your progress in the game. To power down the device altogether, hold the POWER button for three seconds when in the main GarlicOS menu.
- To reduce clutter, you can consolidate games into the same folder if they share the same emulator core. For example, you can add Genesis, Sega CD, and 32x games to the “MD” folder and they will al show up under the same folder and launch properly. The same could be done with GB/GBC, PCE/PCECD, CPS/FBNeo, and more.
MENU + X = RetroArch quick menu
MENU + R2 = save state
MENU + L2 = load state
MENU + R1 = fast forward (toggle)
MENU + L1 = slow motion
MENU + Volume UP = increase screen brightness
MENU + Volume DOWN = reduce screen brightness
GarlicOS has some neat features under the hood, including custom scaling, and so you really don’t need to do much within RetroArch to adjust the settings. These will likely improve with every new release, too. However, if you’d like to tinker a bit, here are some tips to get you on your way:
- While in a game, hold the MENU button and press X to enter the RetroArch quick menu. Note that due to the way this version of RetroArch behaves, in order to make permanent changes you will need to open up RA via the RA icon within the main GarlicOS menu.
- Inside the Core Options section you can make adjustments like removing the sprite limit on certain systems, or setting colorization options for systems like Game Boy and Game Boy Color. Note that while playing Game Boy games you can also toggle between the colorization options by pressing the L2 and R2 buttons.
- Inside Settings > Video > Scaling you can toggle the “Keep Aspect Ratio” setting in case you want to see a different aspect ratio on your game. If you find a setting that works particularly well with the system you are playing, go to Quick Menu > Overrides > Save Content Directory Overrides to apply this setting to all games within that same folder. This works well with the GB, GBC, and GBA systems, since by default GarlicOS scales them to the native 4:3 aspect ratio of the display instead of the original system aspect ratio.
Install MinUI
MinUI is a new frontend launcher for the RG35XX, with a very simple interface but with some real power under the hood. MinUI has a trimmed down base game list, limited to just GB, GBC, GBA, NES, Genesis, PSX, and SNES. MinUI supports both single and dual card setups, and has RTC support and a file browser via its Tools section.
When downloading MinUI it will come with a readme.txt file, and I recommend reading that for more information about features and the installation process.
- I do not recommend adding MinUI directly on the stock card that came with the device, the card is of low quality and is very likely to stop working. Download this TF1 stock firmware image from the MinUI website, unzip it, and flash it to a reliable microSD card using a tool like Balena Etcher. The card can be of any size, but at least 4GB. If you want to use a single-card setup, you will want to expand the partition using the steps in my single-card setup section above. I recommend a two-card setup.
- Download and unzip the latest release from their GitHub page. You will at least need the “base” zip file but you can also grab the “extras” one for additional emulators like Game Gear, Pico-8, PC Engine (TurboGrafx), Super Game Boy, Virtual Boy, and Master System.
- After you have prepared your SD1 card, you should have a partition named “MISC” that contains a bunch of system files. Copy the “dmenu.bin” file from your MinUI download and place it in the root directory of your MISC folder, overwriting the existing file if prompted.
- If you are using a single-card setup, place the “MinUI.zip” file to the root card of your ROMS partition on SD1. If using a dual-card setup, place the “MinUI.zip” file in the root directory of your SD2 card. The SD2 card must be FAT32 formatted (use GUIformat to format the card to FAT32 if over 32GB in size).
- The MinUI installation file will also contain folders for Bios, Roms, and Saves. Place these folders in the root directory of your SD1 or SD2 card depending on your setup. Within there, place the appropriate ROMs and BIOS files (see the readme file for more details).
- If using the “Extras” zip file from their GitHub releases page, adding these additional cores is simple. Unzip the file and copy the folders from the zip file to whatever SD card you are using to host your game files (SD1 for a single card setup, SD2 for a dual-card setup).
- Insert your card(s) into the device, boot it up, and allow for a brief installation. You should be good to go!
Additional MinUI tips:
- While in a game, press the MENU button to bring up an options screen. Here you can quit your game, load/save your state, and browse more options. Note that by default, games will not auto-save or auto-load, so be sure to save your progress using in-game saves or save states.
- The options menu has a variety of powerful options, and handy subtitles to explain each option. You can set aspect ratio, scanlines, button mapping, hotkey mapping, and more on a system-level or on a per-game basis.
- You can adjust an overclock on a per-game basis. Start up the game, enter the options menu, then navigate to Frontend > CPU speed and make your desired adjustment. Then go back to the main options screen and select Save Changes > Save for game.
- MinUI has a quicksave function, simply power down the device while in a game and it will save your spot, and resume it when you power the device back on.
- MinUI has a sleep function, simply tap on the power button while in game and tap it again to resume. When in the main menu, the screen will automatically go to sleep if you don’t press anything for a minute. Tap the power button to bring it back up.
- MinUI has support for multi-disc games, check out the readme.txt file for more details.
- MinUI has HDMI support, and scales games properly. As of writing this, the menus aren’t properly scaled, and the audio isn’t working yet.
Adjusting the d-pad sensitivity
There have been complaints about the d-pad being too sensitive, resulting in accidental diagonals. If you run into this issue, check out this helpful video from Shane Craig above, where you can fix it with just a couple pieces of electrical tape.
Changelog
02APR2023
– added new boxart method link
23MAR2023
– added link to this GitHub boxart guide
20MAR2023
– updated MinUI section to reflect new changes
09MAR2023
– added instructions on how to install the Super Mario 64 port
04MAR2023
– added MinUI section and installation instructions
– added RG35XX vs Miyoo Mini Plus video link
20FEB2023
– added GarlicOS hotkey diagram courtesy of this Reddit post
14FEB2023
– changed out partition software to MiniTool Partition Wizard due to user feedback
03FEB2023
– added d-pad fix section
02FEB2023
– added RG35XX review video
– updated some wording to reflect recent GarlicOS changes
31JAN2023
– redesigned the guide to include single-card and dual-card setups
– updated each section to accommodate recent changes to GarlicOS
– added RTC section
– added overclocking section
– added themes/skins section
– added boxart guide
18JAN2023
– fixed typos and reworded the ROMS file structure (thanks to Black Seraph for proofreading)
17JAN2023
– added Boxart section
– updated BIOS location and instructions
15JAN2023
– updated MacOS instructions
10JAN2023
– added minor corrections and note about adding “CFW” folder to SD2
03JAN2023
– published guide