batocera-roms

Solid

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).

Data & Documents 4 stars 0 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# 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...

Details

Author
t3chnaztea
Repository
t3chnaztea/batocera-skills
Created
3 weeks ago
Last Updated
2 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

batocera-ops

Use when connecting to or operating a Batocera arcade/retro-gaming cabinet over SSH: establishing the connection, understanding its read-only rootfs and /userdata layout, finding config/log/ROM paths, applying changes safely, verifying a display/config change end-to-end without a controller, or diagnosing why a setting reverts to its default on every launch (configgen). Foundation for the other batocera-* skills (roms, display, tuning, maintenance). Covers sshpass, batocera.conf, EmulationStation, the ES HTTP API, and batocera-screenshot. Not for game recommendations.

4 Updated 2 days ago
t3chnaztea
AI & Automation Solid

batocera-display

Use when working on how games look on a Batocera cabinet: CRT and other shaders, shaderset resolution and per-game shader overrides, bezel/overlay artwork and alignment, generating missing .info sidecars, filtering unusable bezels, pinning the display resolution, or diagnosing moire and cropped/misaligned game viewports inside bezels. Covers why a shaderset seems invalid, why .info top values are not alpha coordinates, and why Mega-Bezel per-game art fails. Not for performance/framerate tuning (batocera-tuning).

4 Updated 2 days ago
t3chnaztea
AI & Automation Solid

batocera-tuning

Use when a Batocera cabinet feels slow, laggy, or stuttery, or when tuning performance: EmulationStation menu/carousel lag, a slow-since-boot frontend, CPU governor stuck in powersave, overclock or CPU-speed core options that seem to do nothing, run-ahead / input latency, framerate that drops the longer the machine runs, or a 3D-heavy game (PSX/PS2/Dreamcast/N64 class) that crashes or stutters — Vulkan errors in emulator logs, picking a rendering resolution or graphics backend the hardware can afford. Covers the diagnostic order (check the throttle first), the v43 governor-at-boot failure, the emulator-name vs rom-dir-name overclock scoping trap, ES event-hook frame cost, and hardware-tier detection (batocera-info / batocera-vulkan). Not for shader visual quality (batocera-display).

4 Updated 2 days ago
t3chnaztea