retrobios

Abdess活跃维护

为 RetroArch、Batocera、EmuDeck 等模拟器前端整理经过源码核验的 BIOS 与固件包,解决玩家找不到正确固件、版本对不上导致游戏跑不起来的问题。

BIOS and firmware files for emulators, put in the right folder and checked: RetroArch, Batocera, Recalbox, EmuDeck, RetroBat, RetroDECK, Lakka, RetroPie, RomM, ROCKNIX, MiSTer and more. One-line installer or ZIP pack.

v2026.10.10发布于 2026-10-10 01:01 UTC7,634star +26 / 7 天712fork同步于 2026-11-10 17:33 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://abdess.github.io/retrobios/i | sh
irm https://abdess.github.io/retrobios/i.ps1 | iex
硬件要求按 README 说明

README 未说明;安装脚本可在 Linux、macOS、Steam Deck、Windows PowerShell 和 Android Termux 上运行,不涉及 GPU 或显存要求

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给模拟器前端自动装好并校验 BIOS 与固件文件,省去手动找文件、放对目录的麻烦

为 RetroArch、Batocera、EmuDeck 等模拟器前端整理经过源码核验的 BIOS 与固件包,解决玩家找不到正确固件、版本对不上导致游戏跑不起来的问题。

核心能力

  • 一条命令自动识别 RetroArch、Batocera、EmuDeck 等平台的 BIOS 目录
  • 只下载缺失文件,并按平台原生方式逐个校验
  • 支持按平台、模拟器、系统、地区生成定制 ZIP 包
  • 对照模拟器源码核对每个文件的哈希与大小
  • 提供 JSON、CSV、SQLite 导出及逐文件校验状态

容易踩的坑

自行构建包需 Python 3.9+ 和 pyyaml,而一键安装脚本只需 Python 3.8;克隆仓库体积超 7.7 GB,建议用 --depth 1;超过 2 GB 的包会拆成多个 part ZIP,必须全部解压到同一目录;BIOS 文件是第三方系统软件,不在 MIT 许可范围内

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v2026.10.10
  1. v2026.10.10BIOS Pack v2026.10.10最新正式版2026-10-10 · 2026-10-10 01:01 UTC

    Every BIOS and firmware file your emulator setup needs, in one pack per platform, each file checked against what the emulator's own code expects. 12 platforms and 506 emulators read from source.

    Install in one command

    Detects your platform and BIOS folder, downloads only what is missing, checks every file. Safe to run again.

    Linux / Mac / Steam Deck

    curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh
    

    Windows (PowerShell)

    iwr -useb https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1 | iex
    

    Nothing detected? The installer asks which platform and folder to use. To name them yourself, add -s -- --platform retroarch --dest ~/.config/retroarch/system after sh, or on Windows run

    & ([ScriptBlock]::Create((iwr -useb https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1))) --platform retroarch --dest 'C:\RetroArch\system'
    

    Download a pack

    One pack per platform, the complete one. It holds the BIOS list the platform publishes plus every file its emulators actually open, so a game never stops on a missing file. Files is what the pack holds once extracted, the count a file manager shows; Size is the space it takes extracted. Extract it to the folder in the table.

    A pack over 2 GB comes as parts that are each an ordinary ZIP of whole files (Pack.part1of2.zip, Pack.part2of2.zip). Download every part and extract them all into the same folder; nothing needs joining.

    PlatformDownloadExtracted sizeFilesExtract to
    RetroPie 4.8.12part 1 + part 2 + part 38.7 GB12,533~/RetroPie/BIOS/
    RetroDECK 0.10.10bpart 1 + part 2 + part 38.6 GB7,793~/retrodeck/ (the pack carries its own bios/)
    RetroBat 8.2.1part 1 + part 2 + part 38.5 GB12,399RetroBat's bios/ folder
    Batocera 43.1part 1 + part 2 + part 38.1 GB12,810/userdata/bios/
    ROCKNIX 20261001part 1 + part 26.5 GB5,804/storage/roms/bios/
    RetroArch v1.22.2 / Lakkapart 1 + part 26.4 GB8,504RetroArch's system/ folder (Settings > Directory > System/BIOS)
    Recalbox 10.1.1[part 1](
  2. large-filesLarge BIOS & Firmware (>100MB)2026-03-17 · 2026-03-17 09:49 UTC
    查看更新说明

    Files too large for the git repository (GitHub 100MB limit), plus game engine data packs. Downloaded automatically by generate_pack.py when not present locally. Manual: gh release download large-files

    Console firmware

    FileDescriptionSizeSHA1
    nand.binBootMii NAND backup528 MB98737d0dbdb6fa31ac5d9b87dcfb4a929a79ce45
    Firmware_batocera43.zipNintendo Switch (Batocera 43 set)322 MB9d4488178fe93d053d44f836e849d3d6b3e5974e
    DSi_Nand_AUS.binNintendo DSi (Australia)240 MB7d006f8943171a4d50ae89bf2fca12b764d27e8b
    DSi_Nand_CHN.binNintendo DSi (China)240 MB4b3b3de0cb2c2aef80daa68394d5b804b8706d9f
    DSi_Nand_EUR.binNintendo DSi (Europe)240 MBbc4091b6cab4feba3812ac0f23e23d0353481ecf
    DSi_Nand_JPN.binNintendo DSi (Japan)240 MBc82d60626ac05b49ccec0cfb30001d4a3f31c5b9
    DSi_Nand_KOR.binNintendo DSi (Korea)240 MB4b061953d8f870bcda006ce86ce136f112cc1793
    DSi_Nand_USA.binNintendo DSi (USA)240 MBef08ae02c5fbe1a22a208c36e25607f5a9d5ae98
    dsi_nand.bin.8b79a73cNintendo DSi (Batocera/ROCKNIX reference dump)240 MB2b972cec368e83a2699e6ab38165638b1bc1302c
    dsi_nand.binNintendo DSi (generic)240 MBb48f44194fe918aaaec5298861479512b581d661
    PS3UPDAT.PUP.ed8ab192PlayStation 3 v4.93197 MBae2a4f49ec6c09d124fed20f84231ce27d10c7b7
    PS3UPDAT.PUPPlayStation 3197 MB093f8698b54b78dcb701de2043f82639de51d63b
    ps2.zipPlayStation 2 BIOS set151 MBc74e09eb3d8bf8cfb246ea3b205aa43c80918f19
    WiiSD.rawWii virtual SD card (Dolphin)128 MB90d83d6c084deceeeb0466ac00723723ccfd0c6d
    sd.rawWii virtual SD card (Ishiiruka)128 MB8c8134f08b2e3baa603206ede30d3935365009b8
    PSVUPDAT.PUPPlayStation Vita128 MBcc72dfcc964577cc29112ef368c28f55277c237c
    DSi-1.sdDSi SD card image120 MBb473e101c7d22c15272f3cfce7c30b01f67839b4
    SystemUpdate_17559_USB.zipXbox 360 USB system update 17559111 MB3e3cf2908656adf666ddc771aceefc3496e39195
    PSP2UPDAT.PUPPlayStation Vita v3.7454 MBed3a4cb264fff283209f10ae58c96c6090fed187
    PSP2UPDAT.PUP.3ae832c9PlayStation Vita (older variant)54 MB`3ae832c9800fcaa007eccfc48f24242967c11

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    BIOS and firmware files for AmberELEC, Batocera, BizHawk, EmuDeck, EmuELEC, KNULLI, Lakka, MiSTer FPGA, MinUI, MyMinUI, NextUI, ROCKNIX, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.

    A pack holds the files its emulators read, as their source code names them, and leaves out what the emulators install themselves.

    Quick install

    Copy one command into your terminal:

    # Linux / macOS / Steam Deck
    curl -fsSL https://abdess.github.io/retrobios/i | sh
    
    # Windows (PowerShell)
    irm https://abdess.github.io/retrobios/i.ps1 | iex
    
    # Android (Termux: it installs Python and asks for storage access)
    curl -fsSL https://abdess.github.io/retrobios/i | sh
    
    # SD card mounted on a PC: a muOS, KNULLI, ROCKNIX, Lakka, MiSTer, Onion, spruceOS or MinUI card
    # is found by itself. For another card, --dest is its BIOS folder
    # (RetroArch on Switch: retroarch/cores/system, on Android: RetroArch/system)
    curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --platform retroarch --dest /path/to/sdcard/retroarch/cores/system
    
    # Options in PowerShell: anything after | iex goes to iex, so the script runs as a block
    &([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --check
    

    Recording of the one-line command in a terminal. The installer finds an ArkOS SD card with 6 games, plans 43 BIOS files (15.1 MB) for them, installs them and shows the summary.

    The script opens a full-screen installer, driven with the arrow keys and Enter, or with a controller on a handheld. It finds your setup and its BIOS folder, downloads only the missing files and checks each one. It can also copy the BIOS files from your old SD card. Every option, and what the installer detects and writes, is on the installer page.

    First time? Follow the first install, step by step. A game does not start: what to check. Other questions: the FAQ.

    Download BIOS packs

    A pack holds its platform's own BIOS list plus the files its emulator cores load. What no pack carries yet is in the gap analysis. Pick your platform, download the ZIP, extract to the BIOS path. Each Download link is a page that keeps its address from one release to the next. The installer above does the same file by file: its screen installs everything, or fewer under Choose systems, and --system, --core, --region and --target make the same choice without questions. For a bare minimum, build your own pack below.

    A pack over 2 GB comes in several parts (Pack.part1of2.zip, Pack.part2of2.zip), and every part is needed. Each part is an ordinary ZIP: extract them all into the same folder.

    Every release ships SHA256SUMS.txt and a detached signature of it, checkable against allowed_signers in this repository: verifying a release.

    The Files column counts what a pack holds once extracted, the figure a file manager shows for the folder. It differs from one platform to the next because a pack carries only what that platform's emulators load. The size is what the files occupy once extracted, and the ZIP itself downloads smaller.

    PlatformFilesExtracted sizeExtract toDownload
    AmberELEC--/storage/roms/Use the command
    Batocera12,8107.5 GB/userdata/bios/Download
    BizHawk--Firmware/Use the command
    EmuDeck6203.2 GB~/Emulation/bios/Download
    EmuELEC--/storage/roms/Use the command
    KNULLI--/userdata/bios/Use the command
    Lakka--/storage/system/Use the command
    MiSTer FPGA8329 MB/media/fat/games/Download
    MinUI--<SD card>/Use the command
    MyMinUI--<SD card>/Use the command
    NextUI--<SD card>/Use the command
    ROCKNIX--/storage/roms/bios/Use the command
    Recalbox--/recalbox/share/bios/Use the command
    RetroArch8,5046.0 GBsystem/Download
    RetroBat12,3997.9 GBbios/Download
    RetroDECK--~/retrodeck/Use the command
    RetroPie--~/RetroPie/BIOS/Use the command
    RomM1,0871.5 GBlibrary/bios/Download

    ZIPs are made for the setups most people download. The others read "Use the command": the installer above installs every file for them and checks each one, and --dry-run shows what it would install (why no ZIP).

    What's included

    BIOS, firmware, and system files for consoles from Atari to PlayStation 3. These are the files an emulator loads from disk instead of carrying inside itself. Some are required to boot a system, others improve accuracy or unlock a feature, and the packs carry both.

    Each file is checked the way your platform checks it. Most compare a checksum, the fingerprint of a file's contents, which catches a corrupt or unexpected copy. RetroArch, Lakka and RetroPie check that the file is present under its name without reading its contents (path_is_valid in RetroArch's core_info.c), and MinUI, NextUI and MyMinUI hand each core its folder without opening a file in it: the Coverage table says which applies to you. Independently of that, the collection records five fingerprints per file, and wherever an emulator's code states an expected size or hash, that value is read from its source and rechecked here.

    • 1,087 files the platforms' emulators load are still to be found, and 138 more the collection does not hold and does not serve by name (retail data, per-user keys, user-filled slots), each with its reason. Both are named in the gap analysis
    • 18 platforms supported with platform-specific verification
    • 623 emulators profiled from source (RetroArch cores + standalone)
    • 532 systems handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
    • 19,947 files in the collection, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 5,744 system files, 2,975 arcade ROM sets, 11,228 game and engine data files. That is every platform and emulator together, so no pack holds them all: each carries what its own emulators load, counted in the download table
    • 566 of 5,744 system files matched to dump-preservation catalogs (No-Intro, Redump, TOSEC). Arcade sets and engine data fall outside what those catalogs index
    • 15.8 GB for the whole collection

    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 498+ more.

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

    Coverage

    PlatformOn its BIOS listFiles its emulators loadChecked by
    AmberELEC414/4344,754/4,937MD5
    Batocera353/35314,171/15,291MD5
    BizHawk118/118-SHA-1
    EmuDeck168/1688,426/8,528MD5
    EmuELEC543/5724,788/10,217MD5
    KNULLI290/2909,126/15,350MD5
    Lakka532/5327,909/7,994name only
    MiSTer FPGA81/81-MD5
    MinUI0/078/79name only
    MyMinUI0/0356/367name only
    NextUI0/0343/350name only
    ROCKNIX38/387,427/9,139MD5
    Recalbox351/3513,125/3,344MD5
    RetroArch526/5267,918/7,985name only
    RetroBat348/3485,135/9,659MD5
    RetroDECK2,007/2,0086,705/6,992MD5
    RetroPie532/5328,117/12,771name only
    RomM383/38383/874size, then any hash

    Each fraction is what the pack has over what is needed, counting required and optional files alike since both ship. The first column is the BIOS list the platform publishes. The second counts files its emulators load that this list never mentions, found by reading their source code, and it is routinely several times larger. A short fraction means files are still missing, and they are named in the gap analysis. That second number is a floor, not a ceiling: an emulator that accepts any file handed to it names none in its code, so nothing there can be counted. Checked by is the test your platform runs on its own, replicated here from its source code, so the result matches what you would see in the frontend (how each one works).

    Build your own pack

    Packs are built from a clone, and the clone carries the collection: its checkout alone is over 7.7 GB. git clone --depth 1 https://github.com/Abdess/retrobios.git leaves the history out. Files kept as release assets are downloaded when a pack needs them. Then generate packs for any platform, emulator, or system:

    # The pack of a platform, as released
    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
    
    # One region, best first, one file per system and region
    python scripts/generate_pack.py --platform retroarch --region us,eu,jp
    python scripts/generate_pack.py --platform retroarch --region us --one-per-slot
    
    # Firmware only: the game data a list or a core names is left out, each file named
    python scripts/generate_pack.py --platform emuelec --no-game-data
    
    # The bare minimum: only the files each core needs to start
    python scripts/generate_pack.py --platform batocera --required-only
    
    # List available emulators and systems
    python scripts/generate_pack.py --list-emulators
    python scripts/generate_pack.py --list-systems
    
    # Coverage of this repository's collection per platform, emulator or system
    # (it reads database.json and bios/: for your own BIOS folder, run the installer with --check)
    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
    

    Requires Python 3.9 or newer and pyyaml. The one-line installer alone runs on Python 3.8.

    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 18 platforms and 623 emulators
    • Versioned data access through JSON, CSV and SQLite exports with published SHA-256 checksums

    How it works

    A platform's BIOS list and an emulator's code are maintained separately. Each list is compared with the emulator source code, file by file where a profile exists, and where the two differ the code decides.

    Hashes document what emulator code loads and accepts, not dump provenance. That boundary, and how it relates to preservation catalogs such as No-Intro, is drawn in the technical questions.

    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

    Community tools

    Contributing

    See CONTRIBUTING.md for guidelines.

    License

    The scripts and tooling are released under the MIT License. The BIOS and firmware files are not covered by that license: they are third-party system software, preserved and provided for personal backup, archival, and interoperability with emulation software. NOTICE sets out their status and how to ask for a file to be removed. The reasoning, and where it is weakest, is in the project's legal position.

    Auto-generated on 2026-11-06T23:09:06Z