Data model - RetroBIOS¶
database.json¶
Primary key: SHA1. 7302 file entries.
Each entry:
{
"path": "bios/Nintendo/GameCube/GC/USA/IPL.bin",
"name": "IPL.bin",
"size": 2097152,
"sha1": "...",
"md5": "...",
"sha256": "...",
"crc32": "...",
"adler32": "..."
}
Indexes¶
| Index | Entries | Purpose |
|---|---|---|
by_md5 |
7302 | MD5 to SHA1 lookup (Batocera, Recalbox verification) |
by_name |
7694 | filename to SHA1 list (name-based resolution) |
by_crc32 |
7302 | CRC32 to SHA1 lookup |
by_path_suffix |
5379 | relative path to SHA1 (regional variant disambiguation) |
by_sha256 |
7302 | SHA256 to SHA1 lookup (emulator profile validation) |
File resolution order¶
resolve_local_file tries these steps in order:
- Path suffix exact match (for regional variants with same filename)
- SHA1 exact match
- MD5 direct lookup (supports truncated Batocera 29-char MD5)
- Name + alias lookup without hash (existence mode)
- Name + alias with md5_composite / direct MD5 per candidate
- zippedFile content match via inner ROM MD5 index
- MAME clone fallback (deduped ZIP mapped to canonical name)
- Data directory scan (exact path then case-insensitive basename walk)
- Agnostic fallback (size-constrained match under system path prefix)
Platform YAML¶
Scraped from upstream sources. Structure:
platform: Batocera
verification_mode: md5 # how the platform checks files
hash_type: md5 # hash type in file entries
base_destination: bios # root directory for BIOS files
systems:
system-id:
files:
- name: filename
destination: path/in/bios/dir
md5: expected_hash
sha1: expected_hash
required: true
Supports inheritance (inherits: retroarch) and shared groups
(includes: [group_name] referencing _shared.yml).
Emulator YAML¶
329 profiles. Source-verified from emulator code.
See the profiling guide for the full field reference.