Add and reorder BIOS path entries in the site generator (BizHawk, EmuDeck, RetroPie, RomM). Update the add-platform pipeline steps and CI workflow notes. Document verification behavior changes: FirmwareDatabase index now includes sha256; RomM uses MD5 verification (verify.py checks MD5 only); BizHawk uses SHA1; severity label for GREEN adjusted to WARNING. Clarify troubleshooting/verify output semantics (UNTESTED and mismatch reporting), add profiling fields (core_classification option and adler32), fix several path and link typos (RetroDECK path, README/CONTRIBUTING links), and other small docs polishing.
3.7 KiB
Getting started - RetroBIOS
What are BIOS files?
BIOS files are firmware dumps from original console hardware. Emulators need them to boot games for systems that relied on built-in software (PlayStation, Saturn, Dreamcast, etc.). Without the correct BIOS, the emulator either refuses to start the game or falls back to less accurate software emulation.
Installation
Three ways to get BIOS files in place, from easiest to most manual.
Option 1: install.py (recommended)
Self-contained Python script, no dependencies beyond Python 3.10+. Auto-detects your platform and BIOS directory.
python install.py
Override detection if needed:
python install.py --platform retroarch --dest ~/custom/bios
python install.py --check # verify existing files without downloading
python install.py --list-platforms # show supported platforms
The installer downloads files from GitHub releases, verifies SHA1 checksums, and places them in the correct directory.
Option 2: download.sh (Linux/macOS)
One-liner for systems with curl or wget:
bash scripts/download.sh retroarch ~/RetroArch/system/
bash scripts/download.sh --list # show available packs
Option 3: manual download
- Go to the releases page
- Download the ZIP pack for your platform
- Extract to the BIOS directory listed below
BIOS directory by platform
RetroArch
RetroArch uses the system_directory setting in retroarch.cfg. Default locations:
| OS | Default path |
|---|---|
| Windows | %APPDATA%\RetroArch\system\ |
| Linux | ~/.config/retroarch/system/ |
| Linux (Flatpak) | ~/.var/app/org.libretro.RetroArch/config/retroarch/system/ |
| macOS | ~/Library/Application Support/RetroArch/system/ |
| Steam Deck | ~/.var/app/org.libretro.RetroArch/config/retroarch/system/ |
| Android | /storage/emulated/0/RetroArch/system/ |
To check your actual path: open RetroArch, go to Settings > Directory > System/BIOS, or look for system_directory in retroarch.cfg.
Batocera
/userdata/bios/
Accessible via network share at \\BATOCERA\share\bios\ (Windows) or smb://batocera/share/bios/ (macOS/Linux).
Recalbox
/recalbox/share/bios/
Accessible via network share at \\RECALBOX\share\bios\.
RetroBat
bios/
Relative to the RetroBat installation directory (e.g., C:\RetroBat\bios\).
RetroDECK
~/retrodeck/bios/
EmuDeck
Emulation/bios/
Located inside your Emulation folder. On Steam Deck, typically ~/Emulation/bios/.
Lakka
/storage/system/
Accessible via SSH or Samba.
RetroPie
~/RetroPie/BIOS/
BizHawk
Firmware/
Relative to the BizHawk installation directory.
RomM
BIOS files are managed through the RomM web interface. Check the RomM documentation for setup details.
Verifying your setup
After placing BIOS files, verify that everything is correct:
python scripts/verify.py --platform retroarch
python scripts/verify.py --platform batocera
python scripts/verify.py --platform recalbox
The output shows each expected file with its status: OK, MISSING, or HASH MISMATCH. Platforms that verify by MD5 (Batocera, Recalbox, EmuDeck) will catch wrong versions. RetroArch only checks that files exist.
For a single system:
python scripts/verify.py --system sony-playstation
For a single emulator core:
python scripts/verify.py --emulator beetle_psx
See Tools for the full CLI reference.
Next steps
- FAQ - common questions and troubleshooting
- Tools - all available scripts and options
- Architecture - how the project works internally