RG35XX

Initial setup

Resources

Retro Game Corps’ RG35XX Starter Guide

Install GarlicOS

  1. Go here: https://www.patreon.com/posts/garlicos-for-76561333

  2. Scroll all the way to the bottom of the post and download RG35XX-MicroSDCardImage.7z.001 and RG35XX-MicroSDCardImage.7z.002

  3. Open RG35XX-MicroSDCardImage.7z.001 using 7zip and extract it somewhere on your computer

  4. Insert an SD card

    ⚠️ The SD card will be completely wiped during this process

  5. Write garlicos.img to the SD card, e.g. using dd:

    1. Get the device of the SD card

      In Linux, I like to use GParted. Alternatively, you can use mount, e.g.

      $ mount
      ...
      /dev/mmcblk0p1 on /media/user/3834-6161 type exfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,iocharset=utf8,errors=remount-ro,uhelper=udisks2)
      

      In this case, the device is /dev/mmcblk0

    2. (Optional) Write a file to the SD card to make sure you have the correct device, e.g.

      touch /media/user/3834-6161/test
      

      You should be able to see the file in the file browser

    3. Unmount the SD card

    4. Write garlicos.img to the SD card, e.g.

      sudo dd if=garlic.img of=/dev/mmcblk0
      

      Wait for it to finish as it will probably take several minutes depending on the speed of your SD card

  6. Use a tool to expand the ROMS partition on the SD card, e.g. using GParted

    ⓘ Because the GarlicOS image is 4 GB, it will only create a 3 GB ROMS parition on the SD card. You’ll want to expand it to use the entire space of your SD card.

    1. Open GParted

    2. Choose your SD card from the dropdown near the top right

    3. Select the ROMS partition > right-click > Resize/Move

    4. Drag the right side of the partition box all the way to the right > Resize/Move

    5. Click Apply All Operations near the top

Set partition labels

By default, the partitions on the SD card after writing the GarlicOS image will have names but not labels. In some environments (such as in Gnome on Linux), this will cause the SD card partitions to show up by size, and not by name.

To label the partitions:

  1. Open GParted

  2. For each partition you wish to label:

    1. Right-click > Unmount

    2. Right-click > Label File System

    3. Give the file system a label and click OK

      Recommended: Use the same label as the partition name that you see in the Name column. You can use lower-case letters (e.g. System) and if necessary, GParted will capitalise it (e.g. for FAT16 file systems).

  3. Click Apply All Operations at the top

If the label isn’t applied for FAT32 file systems (e.g. the Roms partition):

  1. Get the device of the filesystem from GParted

  2. Unmount the filesystem, e.g.

    sudo umount /dev/mmcblk0p4
    
  3. Label the filesystem using fatlabel, e.g.

    sudo fatlabel /dev/mmcblk0p4 Roms
    

ROM directory names

See https://onionui.github.io/docs/emulators

For example:

  • Commodore 64: COMMODORE
  • Game Boy: GB

Skraper

Skraper is used to download box art or other game media

Install Skraper

ⓘ These instructions are specific to installing Skraper on Linux. Adjust them as needed.

  1. Download Skraper from http://skraper.net/

    ⚠️ For Linux, if you wish to use a custom mix to format the box art, download the Windows version and run it in Wine; custom mixes don’t work in the Linux version

    ⚠️ The download button seems to be broken in Firefox; use another browser

  2. Create a new Wine prefix

    export WINEPREFIX=~/.local/share/wineprefixes/skraper
    wineboot
    
  3. Extract Skraper to the Wine prefix, e.g.

    7z x -o"$WINEPREFIX/drive_c/Program Files/Skraper" Skraper-1.1.1.7z
    
  4. (Optional) Extract application icon

    cd "$WINEPREFIX/drive_c/Program Files/Skraper"
    7z x SkraperUI.exe .rsrc/ICON -aoa
    cd -
    
  5. Create a desktop entry

    echo "[Desktop Entry]
    Type=Application
    Name=Skraper
    Exec=env WINEPREFIX=/home/$USER/.local/share/wineprefixes/skraper wine \"/home/$USER/.local/share/wineprefixes/skraper/drive_c/Program Files/Skraper/SkraperUI.exe\"
    Icon=/home/$USER/.local/share/wineprefixes/skraper/drive_c/Program Files/Skraper/.rsrc/ICON/1.ico
    Terminal=false" > ~/.local/share/applications/skraper.desktop
    

Download box art

  1. (Optional) Download a custom mix

    Here’s mine for showing just the box art (based on the format recommended by Retro Game Corps):

    <ImageComposition xsi:noNamespaceSchemaLocation="https://www.skraper.net/ImageComposition.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Information ShortName="RG35XX box art" LongName="RG35XX box art" Description="2DBox" Author="Author" />
      <Viewport Color="#00FFFFFF" Width="640" Height="480" />
      <Drawings>
        <Item Type="Box2DFront">
          <Display X="26.5625%" Y="50%" Transparency="1" Width="53.125%" KeepRatio="true" Anchor="VCenterHCenter" />
        </Item>
      </Drawings>
    </ImageComposition>
    

    Other mixes available here:

  2. Open Skraper

  3. First-time setup

    1. (Recommended) Create a new account and sign in

      ⚠️ If you choose not to create an account, Skraper will run extremely slowly since API calls will be throttled

      ⓘ Even with an account, opening Skraper for the first time can take a while

    2. Select Recalbox

    3. Browse to the directory of your ROMs

      ⚠️ When pointing Skraper directly to my SD card in Linux, it seems to consistently create nested Imgs directories. It might be better to run Skraper on a local directory and copy the generated box art over to the SD card manually.

    4. Check Include non-Recalbox rom folders

  4. If any systems are missing

    ⓘ This seems to happen if Skraper expects a different directory name than the one used by GarlicOS; for example, GarlicOS uses FC for NES, which Skraper doesn’t seem to recognize automatically

    1. Click the add button near the lower left to add it

    2. In the Games & Front-end tab set Games/Roms folder as appropriate

  5. For each of the systems on the left, uncheck Use specific configuration for …

  6. Select All Systems

  7. Go to Game list

    1. Under Gamelist type select No backup, create new or overwrite existing

    2. Change Game list fullpath to create the game list in the Skraper program directory to avoid writing it to the SD card, e.g. C:\Program Files\Skraper\gamelist.xml

    3. Change Sub-folders to Ignore them, generate no image

  8. Go to Media

    1. If there’s a second media item, select it and delete it by clicking the delete button near the left

    2. Select the first media item

    3. Change Media type as desired

      To use a custom mix, select User provided mix and then browse to the custom mix file

    4. Set Output folder to %ROMROOTFOLDER%/Imgs

    5. (Optional) Uncheck Cleanup output folder before generating new medias

  9. (Optional) Go to Miscellaneous, uncheck Use rom region first (when available) and set ROM region as desired (e.g. us)

  10. When you’re ready, click Play to begin scraping

  11. On the SD card, realign the text as needed to match the box art format

    1. Modify CFW/skin/settings.json on the SD card

      e.g. for my custom mix above, make these changes:

      "text-alignment": "left",
      "text-margin": 352,
      

More information:

Misc

Convert .bin/.cue to .chd

.chd files are much smaller than .bin/.cue and they will also load and run faster

  1. First, check online to see if someone hasn’t already converted the file
  2. Next, install chdman
  3. CD to the directory containing the .bin and .cue files
  4. .cue file contents are upper-case but chdman doesn’t appear to properly handle this. As a workaround, rename the files to be upper-case

    ⚠️ Make sure the directory only contains the .bin and .cue files as this will rename all of the files in the directory

    for f in * ; do mv -- "$f" "$(tr [:lower:] [:upper:] <<< "$f")" ; done
    
  5. Convert all files in the directory to .chd files

    for file in *.CUE; do chdman createcd -i "${file%.*}.CUE" -o "${file%.*}.CHD"; done
    
  6. Optionally, rename the new .chd files as desired

Creating box art manually

If Skraper doesn’t find the box art for a particular game, you can create it manually:

  1. Download the image to use

  2. Run this command to convert the image:

    mogrify -resize 340x480 -extent 640x480 -gravity West -background none /path/to/image
    
  3. Rename the image file to match the exact file name of the ROM (except for the extension)

  4. Copy the image file to the appropriate Imgs directory in the Roms partition

GarlicOS

Power button

  • Hold the power button until you see the boot logo to turn on the device
  • Press the power button to turn off the device

    • GarlicOS will power on to where you left off, whether in-game or in the GarlicOS menu

    ⚠️ GarlicOS does not have a sleep mode, so it will fully power off the device if the power button is pressed. However, other firmware (such as the Anbernic firmware) may only put the device to sleep if the power button is pressed and may require holding the power button to fully power off.

Button combinations

  • Press Start at the main GarlicOS menu to set the time and language
  • Press Select in any of the GarlicOS menus to set overclocking/underclocking
  • Press Menu in any of the GarlicOS menus to switch between in-progress games
  • Press Menu while playing a game to save the state and stop the game
  • Double-press Menu while playing a game to switch between in-progress games
  • Hold Menu while playing a game to show the Menu button combinations
  • To go to the RetroArch menu while in-game, press Menu and then after about a second press X

Aspect ratio

By default, most games will fill the whole screen instead of using the proper aspect ratio. To use the proper aspect ratio:

  1. Start playing a game from the system for which you wish to change the aspect ratio
  2. Go to the RetroArch settings (Menu + X)
  3. Press B to go to the Main Menu
  4. Go to Settings > Video > Scaling
  5. Enable Keep Aspect Ratio
  6. Optionally, also enable Integer Scale

    ⓘ Normally setting the aspect ratio is enough; setting integer scale may be needed when using overlays (see Overlays)

  7. Save overrides as desired (see Overrides)

Overlays

The following overlays are included in GarlicOS:

  • Famicom (fc.cfg)
  • Game Boy (gb.cfg)
  • Game Boy Advance (gba.cfg)
  • Game Boy Color (gbc.cfg)
  • Super Famicom (sfc.cfg)

To enable an overlay:

  1. (Recommended) Enable Keep Aspect Radio and Integer Scale (see Aspect ratio)
  2. Start playing a game from the system for which you wish to enable the overlay
  3. Go to the RetroArch settings (Menu + X)
  4. Go to On-Screen Overlay > Overlay Preset and select the appropriate overlay
  5. Press B to go back to the Quick Menu
  6. Save overrides as desired (see Overrides)

To install new overlays:

  1. Download additional overlays, e.g. from https://www.rg35xx.com/en/apps/mods-for-garlicos/
  2. Copy overlays to CFW/retroarch/.retroarch/overlay/

Saving

  • GarlicOS will save the state any time you leave a game and reload it any time you start the game
  • Use Menu + R2 to save the state while playing (and Menu + L2 to load)
    • The state slot will automatically increment, which is desirable
    • To limit the number of save states:
      1. While in game go to the RetroArch settings (Menu + X)
      2. Go back one menu (B) > Settings > Saving
      3. Set Maxiumum Auto-Increment Save States To Keep to the desired value (e.g. 10)
      4. Save overrides as desired (see Overrides)

Cheats

Cheats can be useful for experiencing older games that have not aged well in terms of difficulty or gameplay

💡 Cheats such as unlimited lives or not losing items when dying can be more convenient compared to save states

  1. Download the .cht cheats file for the corresponding game from here: https://github.com/libretro/libretro-database/tree/master/cht

    1. Search for cheats using the file search box (not the search box at the very top of the page); it will be near the top on the left or the right depending on your device

      ⚠️ This will search cheats across all systems so make sure you select the correct game

    2. Click the Download Raw File button near the top right of the file to download the cheat file

  2. Copy the file to CFW/retroarch/.retroarch/cheats/

    💡 You can copy the cheats file directly into cheats and then load them manually (instructions below). But if you copy the cheats file into a subdirectory for the emulator (e.g. cheats/FCEUmm for NES) and the cheat file has the exact same name as the ROM (except for the extension), the cheats will be automatically loaded. The ROM directory should exist already if you’ve played at least one game for that system.

  3. Start the game for which you wish to use cheats
  4. Go to the RetroArch settings (Menu + X) > Cheats
  5. (Recommended) enable Auto-Apply Cheats During Game Load and Apply After Toggle, then save overrides (see Overrides). Otherwise you’ll have to select Apply Cheats every time you load the game and after enabling or disabling cheats.
  6. If you copied the cheats file into the emulator directory with the same file name, the cheats should be listed. Otherwise:

    1. Go to Load Cheat File (Replace)
    2. Browse to the cheat file and press A to apply it
  7. In the Cheats menu, scroll down to the list of cheats
  8. Use left/right on the D-pad to enable or disable individual cheats

Overrides

Overrides allow you to customise the configuration of the emulators and save them for every time you play

Saving overrides for a particular system or game

  1. Start playing a game from the system for which you wish to set overrides
  2. Go to the RetroArch settings (Menu + X)
  3. Make any changes you’d like to save as overrides
  4. Go back to the Quick Menu > Overrides
  5. Choose the appropriate option

    • Save Core Overrides will save the overrides for any game using that core

      ⚠️ Note that this will also affect other systems using that core; for example, Game Boy and Game Boy Color use the same core

    • Save Content Directory Overrides will save the overrides for any game in that directory

      ⓘ This option is recommended if you want to save overrides for an entire system

    • Save Game Overrides will save the overrides for just that game

      ⓘ This option is recommended if you want to save overrides for a specific game

      ⚠️ If you save game overrides and later change core or content directory overrides, those will not be updated in the game overrides; the game overrides will have to be updated manually

Make changes across all systems or games

If you wish to make a change that will apply across all systems or games, this is done differently in GarlicOS:

  1. If you’re playing a game, quit the game
  2. Go to the main GarlicOS menu > RetroArch
  3. Make any changes as needed, then go back to the Main Menu (press B as many times as needed) > Quit RetroArch

Notes for specific systems

Commodore 64

  • Commodore 64 games are very slow to load but it’s best just to wait
  • Press Select in game to bring up the keyboard
    • This may be needed as some games may need other keys to start the game, such as Run/Start, Spacebar, or F1

Game Boy

  • No BIOS is required but the Nintendo logo will show if one is present
  • You can put Game Boy and Game Boy Color ROMs in the same directory (GB) to simplify the list of systems shown in GarlicOS. However, if you want to use different emulator settings between Game Boy and Game Boy Color, you’ll need to put Game Boy Color ROMs in their own directory (GBC).
  • To use the pale pea green colour of the original Game Boy:

    1. Start playing a Game Boy game
    2. Go to the RetroArch settings (Menu + X)
    3. Go to Core Options
    4. Set GB Colorization to Internal
    5. Set Internal Palette to Special 1
    6. Save overrides as desired (see Overrides)
  • To disable L1/R1 buttons changing the colour scheme:

    1. Start playing a Game Boy game
    2. Go to the RetroArch settings (Menu + X)
    3. Go to Controls > Port 1 Controls
    4. Set L Button and R Button to ---
    5. Go back one menu (B) > Manage Remap Files

      ⓘ Unlike other settings which are saved in override files, changes to controls are saved in separate remap files

    6. Choose Update Input Remap File

Playstation

  • Use ROM files that end with .chd for best results
    • They are much smaller and they will also load and run faster
  • If you have a game that requires multiple discs:

    1. Inside the Roms/PS directory, create a subdirectory with the name of the game
    2. Put all the ROM files for each disc in that subdirectory
    3. In the Roms/PS directory, create a text file with the same name as the game and an .m3u extension
    4. Add the relative path to the ROM files to the .m3u file, e.g.

      ls -1 "Game name/"*.chd > "Game name.m3u"
      

Sega CD

  • Sega CD requires 3 BIOS files to work
  • Use ROM files that end with .chd for best results
    • They are much smaller and they will also load and run faster

Troubleshooting

RG35XX won’t charge

  1. 👉 Make sure the SD card is in the first slot

    ⚠️ The RG35XX won’t charge without the SD card, and if you plug it in without the SD card, you’ll have to hold the power button for longer to turn it on

  2. Plug in the charging cable

    • You should see a battery icon when you first plug it in to let you know it’s charging
    • The small light on the left of the top of the device should also be lit while it’s charging
    • You can also tap the power button while it’s charging to see the battery icon and get an approximation of how much it’s charged
  3. If it’s still not charging, try a different cable

    • USB-A to USB-C cables such as the one the device came with seem to be recommended
  4. If it’s still not charging, try a different charger

    • In particular, a charger with a lower amperage (e.g. 500mA) may have more success and is probably better for overall battery life
  5. If a different charger doesn’t work, try charging it from a PC USB port, preferably a USB-A port

  6. If it’s still not charging, press and hold the power button for at least ten seconds and try again

RG35XX won’t power on

  1. 👉 Make sure the SD card is in the first slot
  2. Make sure the battery is charged
  3. Press and hold the power button until you see the boot logo

    ⓘ Normally this should take about five seconds but it can take ten seconds or more; in particular, this seems to happen if you try charging the device without the SD card