Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.
How to Organize ROMs and BIOS Files on a Retro Handheld
2026-05-30
Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate and Anbernic affiliate, we earn from qualifying purchases at no extra cost to you. Learn more.
A messy microSD card is the number one reason games fail to launch on a retro handheld. Files in the wrong folder, a missing BIOS, or a system folder named slightly differently than the firmware expects, and a game simply will not appear or will crash on boot. Get the structure right once and everything just works.
This guide covers how to format and lay out your card, the folder conventions used by the major custom firmwares, where BIOS files belong, and how to keep saves, save states, and box art from cluttering your library.
Format the Card First
Before you copy anything, format the microSD card correctly.
- FAT32 is the most compatible format and is what most Linux-based custom firmwares expect for the ROM partition. Its limitation is a 4GB per-file cap, which only matters for large PS2, GameCube, or Wii images.
- exFAT removes the 4GB file limit and is the better choice for handhelds that play PS2, GameCube, Wii, or PSP ISOs. Most modern Android handhelds and higher-end Linux devices support it.
Use a quality card from a reputable brand. Counterfeit and worn-out cards are a common cause of corrupted saves and games that randomly stop loading. See our best microSD cards guide for tested picks.
If your handheld came with a card pre-loaded by the seller, back up its contents to your computer before reformatting. You will usually want to re-flash clean firmware anyway.
The Standard ROM Folder Structure
Almost every retro handheld follows the same basic idea: one top-level roms folder, with one sub-folder per system.
roms/
gb/
gbc/
gba/
nes/
snes/
genesis/
n64/
psx/
psp/
arcade/
The catch is that each firmware uses its own exact folder names, and they are case-sensitive on Linux devices. A SNES folder might be snes on one firmware and SFC on another. Copying a game into the wrong-named folder is the most common reason it never shows up in the menu.
Do not invent your own folder names. Use the names your firmware ships with — the safest approach is to copy your games into the folders that already exist on the card, never create new ones from scratch.
Folder Names by Firmware
| Firmware | ROM location | Notes |
|---|---|---|
| muOS | /mnt/sdcard/ROMS/[System] | Friendly system names; ships with a full folder set |
| KNULLI / Batocera | /userdata/roms/[system] | Uses EmulationStation's lowercase system IDs |
| Onion OS (Miyoo Mini) | /Roms/[SYSTEM] | Uppercase short codes like GBA, FC, SFC |
| ROCKNIX / JELOS | /roms/[system] | EmulationStation-style lowercase IDs |
| Android (ES-DE, Daijishō) | Anywhere you point them | Frontends scan whatever folder you choose |
The Linux firmwares (muOS, KNULLI, Onion OS, ROCKNIX) expect their specific folder layout. Android is the flexible exception — frontends like ES-DE and Daijishō scan any directory structure you tell them to, so you can organize your library however you like and simply point each system at the right folder.
When in doubt, the readme or wiki for your firmware lists every supported system folder name. Match them exactly.
Where BIOS Files Go
Some emulated systems need a BIOS — a small piece of the original console's firmware — to run accurately or at all. PlayStation 1, PSP, Sega CD, Saturn, and Neo Geo are common examples. Cartridge systems like the NES, SNES, Genesis, and Game Boy line generally need no BIOS.
BIOS files are copyrighted system software. You should only use BIOS files that you have dumped from a console you own — most original hardware and some homebrew tools can extract them. This guide does not cover where to obtain BIOS files, only where to place ones you already have.
The bios folder
Nearly every firmware uses a single top-level bios folder, sitting alongside roms:
roms/
bios/
Drop your BIOS files directly into that folder (not into sub-folders, unless your firmware specifically asks for it). The emulator looks there by name, so the filename must match exactly — including capitalization on Linux devices.
| System | Typical filename | Required? |
|---|---|---|
| PlayStation 1 | scph5501.bin (and regional variants) | Recommended for accuracy; some cores have HLE |
| PSP | ppge_atlas.zim / flash0 set | Optional — PPSSPP runs without it |
| Sega CD | bios_CD_U.bin / bios_CD_E.bin / bios_CD_J.bin | Required |
| Sega Saturn | regional Saturn BIOS | Required |
| Neo Geo | neogeo.zip | Required, lives in the arcade ROM folder |
Many emulators offer HLE (high-level emulation) that simulates the BIOS in software, so a system may run BIOS-free at the cost of some accuracy. PS1 cores like Beetle PSX work better with the real BIOS; PPSSPP needs no PSP BIOS at all. If a game boots to a black screen or throws a "missing BIOS" error, a misnamed or misplaced BIOS file is almost always the cause.
A handy trick: most firmwares include a BIOS checker in their settings menu that lists every expected BIOS file, its required filename, and whether the system found it. Use it to confirm placement before troubleshooting individual games.
Keep Saves and States Out of Your ROM Folders
A clean ROM folder should contain games and nothing else. Saves and save states belong elsewhere so that:
- Your library stays scannable and box-art scraping stays accurate.
- You can back up saves separately from your (large) ROM collection.
- A firmware update or re-scrape never wipes your progress.
Most firmwares automatically store these in dedicated locations — a saves folder, a states folder, or per-system .srm/.state files kept apart from the games. Leave those defaults alone. For the full picture on protecting progress, see our save state management guide and how to back up your saves before a firmware update.
Box Art, Naming, and Scraping
Clean filenames make scraping (downloading box art and game metadata) far more reliable.
- Keep the standard No-Intro / Redump names that backups usually come with. Scrapers match against these databases, so renaming files to something custom breaks the match.
- One game, one file where possible. Use
.chdfor disc-based systems (PS1, Sega CD, Saturn) — it compresses multi-track discs into a single file and is widely supported, which keeps your folders tidy. - Let the frontend store art in its own folder. EmulationStation, muOS, and Daijishō each keep downloaded images in a dedicated media or images directory. Do not scatter image files among your ROMs.
To scrape, connect the handheld to Wi-Fi (or use a USB connection on Android) and run the built-in scraper, or use a desktop tool like Skraper or Skyscraper and copy the generated media folder back to the card.
Transferring Files to the Card
Two common approaches:
- Card reader on a computer. Pull the microSD, drop it in a reader, and copy files directly. Fastest for large transfers. A USB-C reader is worth keeping in your kit.
- Network transfer. muOS, KNULLI, ROCKNIX, and Onion OS can expose the card over Wi-Fi (SMB/Samba or a built-in web file manager), so you can drag files across without removing the card.
After a big transfer, safely eject the card before pulling it out. Yanking it mid-write is a leading cause of corrupted ROM folders and lost saves.
Quick Troubleshooting
- Game does not appear in the menu: wrong folder name, or you need to refresh/rescan the game list.
- Game shows but crashes on launch: missing or misnamed BIOS, or an unsupported file format for that system.
- Saves disappeared after an update: saves were stored inside a folder the update overwrote — back them up first next time.
- Card "full" but games missing: the card may have silently corrupted; test it and replace if it is failing.
