Abdessamad Derraz 2e21d64a08 refactor: harden codebase and remove unicode artifacts
- fix urllib.parse.quote import (was urllib.request.quote)
- add operator precedence parens in generate_pack dedup check
- narrow bare except to specific types in batocera target scraper
- cache load_platform_config and build_zip_contents_index results
- add selective algorithm support to compute_hashes
- atomic write for fetch_large_file (tmp + rename)
- add response size limit to base scraper fetch
- extract build_target_cores_cache to common.py (dedup verify/pack)
- hoist _build_supplemental_index out of per-platform loop
- migrate function-attribute caches to module-level dicts
- add @abstractmethod to BaseTargetScraper.fetch_targets
- remove backward-compat re-exports from common.py
- replace em-dashes and unicode arrows with ASCII equivalents
- remove decorative section dividers and obvious comments
2026-03-29 23:15:20 +02:00

RetroBIOS

Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.

7,244 verified files across 387 systems, ready to extract into your emulator's BIOS directory.

Quick Install

Copy one command into your terminal:

# Linux / macOS / Steam Deck
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1 | iex

# Handheld (SD card mounted on PC)
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --platform retroarch --dest /path/to/sdcard

The script auto-detects your platform, downloads only missing files, and verifies checksums.

Download BIOS packs

Pick your platform, download the ZIP, extract to the BIOS path.

Platform BIOS files Extract to Download
Batocera 359 /userdata/bios/ Download
BizHawk 118 Firmware/ Download
EmuDeck 161 Emulation/bios/ Download
Lakka 448 system/ Download
Recalbox 346 /recalbox/share/bios/ Download
RetroArch 448 system/ Download
RetroBat 331 bios/ Download
RetroDECK 2007 ~/retrodeck/bios/ Download
RetroPie 448 BIOS/ Download
RomM 374 bios/{platform_slug}/ Download

What's included

BIOS, firmware, and system files for consoles from Atari to PlayStation 3. Each file is checked against the emulator's source code to match what the code actually loads at runtime.

  • 10 platforms supported with platform-specific verification
  • 328 emulators profiled from source (RetroArch cores + standalone)
  • 387 systems covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
  • 7,244 files verified with MD5, SHA1, CRC32 checksums
  • 9266 MB total collection size

Supported systems

NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 353+ more.

Full list with per-file details: https://abdess.github.io/retrobios/

Coverage

Platform Coverage Verified Untested Missing
Batocera 359/359 (100.0%) 354 5 0
BizHawk 118/118 (100.0%) 118 0 0
EmuDeck 161/161 (100.0%) 161 0 0
Lakka 443/448 (98.9%) 443 0 5
Recalbox 276/346 (79.8%) 273 3 70
RetroArch 443/448 (98.9%) 443 0 5
RetroBat 330/331 (99.7%) 326 4 1
RetroDECK 1958/2007 (97.6%) 1932 26 49
RetroPie 443/448 (98.9%) 443 0 5
RomM 372/374 (99.5%) 372 0 2

Build your own pack

Clone the repo and generate packs for any platform, emulator, or system:

# Full platform pack
python scripts/generate_pack.py --platform retroarch --output-dir dist/
python scripts/generate_pack.py --platform batocera --output-dir dist/

# Single emulator or system
python scripts/generate_pack.py --emulator dolphin
python scripts/generate_pack.py --system sony-playstation-2

# List available emulators and systems
python scripts/generate_pack.py --list-emulators
python scripts/generate_pack.py --list-systems

# Verify your BIOS collection
python scripts/verify.py --all
python scripts/verify.py --platform batocera
python scripts/verify.py --emulator flycast
python scripts/verify.py --platform retroarch --verbose  # emulator ground truth

Only dependency: Python 3 + pyyaml.

Documentation site

The documentation site provides:

  • Per-platform pages with file-by-file verification status and hashes
  • Per-emulator profiles with source code references for every file
  • Per-system pages showing which emulators and platforms cover each console
  • Gap analysis identifying missing files and undeclared core requirements
  • Cross-reference mapping files across 10 platforms and 328 emulators

How it works

Documentation and metadata can drift from what emulators actually load. To keep packs accurate, each file is checked against the emulator's source code.

  1. Read emulator source code - trace every file the code loads, its expected hash and size
  2. Cross-reference with platforms - match against what each platform declares
  3. Build packs - include baseline files plus what each platform's cores need
  4. Verify - run platform-native checks and emulator-level validation

Contributors

Contributing

See CONTRIBUTING.md for guidelines.

License

This repository provides BIOS files for personal backup and archival purposes.

Auto-generated on 2026-03-29T21:00:40Z

Description