← ClaudeAtlas

batocera-romslisted

Use when working with ROMs and gamelists on a Batocera cabinet: figuring out which directory a system's ROMs go in, why a game does not appear in the menu, which file formats and extensions a system accepts, curating a large library by hiding rather than deleting, editing gamelist.xml safely, cleaning up multi-disc games, or verifying dumps against No-Intro/Redump DATs. Covers extensionless-ROM-in-zip failures, the 3DO/Opera no-m3u trap, cave3rd, and the es_systems_custom.cfg landmine. Not for shaders/bezels (batocera-display), or ROM directories renamed by a Batocera version upgrade (batocera-maintenance).
t3chnaztea/batocera-skills · ★ 4 · Data & Documents · score 78
Install: claude install-skill t3chnaztea/batocera-skills
# Batocera ROMs Managing the game library: where ROMs live, why they do or don't show up, how to curate a big collection without deleting anything, and how to verify dumps. Assumes the connection pattern and safety doctrine from `batocera-ops`. ## System directories ROMs live in `/userdata/roms/<system>/`, one directory per system. The directory name is Batocera's internal system name, which is **not always** the obvious one. Don't guess — look it up on the box: ```bash # Every system Batocera knows, with its dir name and display name: SSHB "grep -E '<name>|<fullname>' /usr/share/emulationstation/es_systems.cfg" # What you actually have ROMs for: SSHB "ls /userdata/roms/" ``` Names that trip people up: Cave CV1000 arcade lives in **`cave3rd`** (not `cv1000`); Odyssey 2 is `odyssey2` (renamed from `o2em`); Half-Life is `halflife` (renamed from `xash3d_fwgs`). Directory renames across versions are common — the batocera-maintenance migration reference lists the ones that bite. ## Why a game doesn't appear In rough order of likelihood: 1. **Wrong extension for that system.** Each system accepts a fixed set of extensions; a file with any other extension is invisible to ES. Check the accepted list: `SSHB "grep -A2 '<system>' /usr/share/emulationstation/es_systems.cfg | grep extension"`. A bare `.bin` is a frequent offender — for many disc systems `.bin` is *not* an ES extension (you need a `.cue` or `.chd`). 2. **It's hidden.** `<hidden>true</hidden>` in `ga