mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
Compare commits
7 Commits
1c0c502258
...
d0846ed78f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d0846ed78f | ||
|
|
07b4e55053 | ||
|
|
690e897ca7 | ||
|
|
7471c176c3 | ||
|
|
e72773e46d | ||
|
|
3c0c1cec02 | ||
|
|
faf4236463 |
BIN
.github/assets/banner-light.png
vendored
Normal file
BIN
.github/assets/banner-light.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
BIN
.github/assets/banner.png
vendored
Normal file
BIN
.github/assets/banner.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 135 KiB |
BIN
.github/assets/favicon.png
vendored
Normal file
BIN
.github/assets/favicon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
BIN
.github/assets/logo.png
vendored
Normal file
BIN
.github/assets/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
BIN
.github/assets/social-preview.png
vendored
Normal file
BIN
.github/assets/social-preview.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
14
README.md
14
README.md
@@ -1,4 +1,6 @@
|
|||||||
# RetroBIOS
|
<p align="center">
|
||||||
|
<img src=".github/assets/banner.png" alt="RetroBIOS" width="400">
|
||||||
|
</p>
|
||||||
|
|
||||||
Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
||||||
|
|
||||||
@@ -116,16 +118,16 @@ To keep packs accurate, each file is checked against the emulator's source code.
|
|||||||
3. **Build packs** - include baseline files plus what each platform's cores need
|
3. **Build packs** - include baseline files plus what each platform's cores need
|
||||||
4. **Verify** - run platform-native checks and emulator-level validation
|
4. **Verify** - run platform-native checks and emulator-level validation
|
||||||
|
|
||||||
## Community tools
|
|
||||||
|
|
||||||
- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool) by [monster-penguin](https://github.com/monster-penguin) - scan, verify, and stage your own BIOS collection using RetroBIOS hash metadata
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
<a href="https://github.com/PixNyb"><img src="https://avatars.githubusercontent.com/u/40770831?v=4" width="50" title="PixNyb"></a>
|
<a href="https://github.com/PixNyb"><img src="https://avatars.githubusercontent.com/u/40770831?v=4" width="50" title="PixNyb"></a>
|
||||||
<a href="https://github.com/monster-penguin"><img src="https://avatars.githubusercontent.com/u/266009589?v=4" width="50" title="monster-penguin"></a>
|
<a href="https://github.com/monster-penguin"><img src="https://avatars.githubusercontent.com/u/266009589?v=4" width="50" title="monster-penguin"></a>
|
||||||
|
|
||||||
|
|
||||||
|
## Community tools
|
||||||
|
|
||||||
|
- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool) by [monster-penguin](https://github.com/monster-penguin) - scan, verify, and stage your own BIOS collection using RetroBIOS hash metadata
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
||||||
@@ -134,4 +136,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|||||||
|
|
||||||
This repository provides BIOS files for personal backup and archival purposes.
|
This repository provides BIOS files for personal backup and archival purposes.
|
||||||
|
|
||||||
*Auto-generated on 2026-04-02T13:38:26Z*
|
*Auto-generated on 2026-04-03T12:59:52Z*
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ theme:
|
|||||||
icon: material/brightness-4
|
icon: material/brightness-4
|
||||||
name: Switch to auto
|
name: Switch to auto
|
||||||
font: false
|
font: false
|
||||||
|
logo: assets/images/logo.png
|
||||||
|
favicon: assets/images/favicon.png
|
||||||
icon:
|
icon:
|
||||||
logo: material/chip
|
logo: material/chip
|
||||||
features:
|
features:
|
||||||
|
|||||||
@@ -143,7 +143,9 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
lines = [
|
lines = [
|
||||||
"# RetroBIOS",
|
'<p align="center">',
|
||||||
|
' <img src=".github/assets/banner.png" alt="RetroBIOS" width="400">',
|
||||||
|
"</p>",
|
||||||
"",
|
"",
|
||||||
f"Complete BIOS and firmware packs for "
|
f"Complete BIOS and firmware packs for "
|
||||||
f"{', '.join(c['platform'] for c in sorted(coverages.values(), key=lambda x: x[
|
f"{', '.join(c['platform'] for c in sorted(coverages.values(), key=lambda x: x[
|
||||||
@@ -349,6 +351,13 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
|
|||||||
|
|
||||||
lines.extend(
|
lines.extend(
|
||||||
[
|
[
|
||||||
|
"",
|
||||||
|
"## Community tools",
|
||||||
|
"",
|
||||||
|
"- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool)"
|
||||||
|
" by [monster-penguin](https://github.com/monster-penguin)"
|
||||||
|
" - scan, verify, and stage your own BIOS collection"
|
||||||
|
" using RetroBIOS hash metadata",
|
||||||
"",
|
"",
|
||||||
"## Contributing",
|
"## Contributing",
|
||||||
"",
|
"",
|
||||||
|
|||||||
@@ -2136,6 +2136,131 @@ def _build_emulator_file_index(profiles: dict) -> dict[str, dict]:
|
|||||||
# mkdocs.yml nav generator
|
# mkdocs.yml nav generator
|
||||||
|
|
||||||
|
|
||||||
|
def generate_which_pack() -> str:
|
||||||
|
"""Generate the 'Which pack?' decision page."""
|
||||||
|
rel = "https://github.com/Abdess/retrobios/releases"
|
||||||
|
return f"""\
|
||||||
|
# Getting started
|
||||||
|
|
||||||
|
Some retro consoles need firmware files (commonly called BIOS) to run games.
|
||||||
|
Without them, the emulator either refuses to start the game or runs it with
|
||||||
|
reduced accuracy. This project collects and verifies those files so they are
|
||||||
|
ready to use.
|
||||||
|
|
||||||
|
## Quick install
|
||||||
|
|
||||||
|
The installer detects the platform, finds the BIOS folder, downloads what
|
||||||
|
is missing, and copies keys to standalone emulators (Yuzu, Eden, Ryujinx,
|
||||||
|
DuckStation, PCSX2, Dolphin, etc.) when they are present on the system.
|
||||||
|
|
||||||
|
**Linux / Mac / Steam Deck:**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Windows (PowerShell):**
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
iwr -useb https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1 | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
Nothing else needed. The installer handles everything.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manual download
|
||||||
|
|
||||||
|
Pick the pack that matches the setup from the [releases page]({rel}),
|
||||||
|
download it, and extract the files into the BIOS folder listed below.
|
||||||
|
After extraction, launch a game. If it needed BIOS, it will find it.
|
||||||
|
|
||||||
|
### Steam Deck
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [EmuDeck](https://www.emudeck.com/) | Installs and configures multiple emulators, adds each game to the Steam library | [EmuDeck]({rel}) | `~/Emulation/bios/` |
|
||||||
|
| [RetroDECK](https://retrodeck.net/) | Single Flatpak app, all emulators bundled, one-click install from Discover | [RetroDECK]({rel}) | `~/retrodeck/` |
|
||||||
|
| RetroArch standalone | Installed from Discover, Steam, or Flatpak | [RetroArch]({rel}) | Open RetroArch > Settings > Directory > System, that is the folder |
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroArch](https://www.retroarch.com/) | Multi-system emulator, loads different cores for each console | [RetroArch]({rel}) | The `system` folder next to `retroarch.exe` |
|
||||||
|
| [RetroBat](https://www.retrobat.org/) | Windows frontend with EmulationStation, includes RetroArch and standalone emulators | [RetroBat]({rel}) | The `bios` folder inside the RetroBat installation |
|
||||||
|
| [BizHawk](https://tasvideos.org/BizHawk) | Accuracy-focused multi-system emulator, popular for speedruns and TAS | [BizHawk]({rel}) | The `Firmware` folder inside the BizHawk installation |
|
||||||
|
| [LaunchBox](https://www.launchbox-app.com/) | Game library manager and launcher, uses RetroArch or standalone emulators behind the scenes | [RetroArch]({rel}) | Open RetroArch (via LaunchBox) > Settings > Directory > System |
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| RetroArch (native) | Installed via package manager or AppImage | [RetroArch]({rel}) | `~/.config/retroarch/system/` |
|
||||||
|
| RetroArch (Flatpak) | Installed from Flathub | [RetroArch]({rel}) | `~/.var/app/org.libretro.RetroArch/config/retroarch/system/` |
|
||||||
|
| [Batocera](https://batocera.org/) | Bootable OS dedicated to gaming, runs from USB or full install, supports PC and SBC | [Batocera]({rel}) | `/userdata/bios/` |
|
||||||
|
| [Recalbox](https://www.recalbox.com/) | Bootable OS for retro gaming, streamlined interface, auto-configured | [Recalbox]({rel}) | `/recalbox/share/bios/` |
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroArch](https://www.retroarch.com/) | Multi-system emulator | [RetroArch]({rel}) | `~/Library/Application Support/RetroArch/system/` |
|
||||||
|
|
||||||
|
### Raspberry Pi and single-board computers
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroPie](https://retropie.org.uk/) | The classic Pi emulation setup, largest community, most online guides | [RetroArch]({rel}) | `~/RetroPie/BIOS/` |
|
||||||
|
| [Lakka](https://www.lakka.tv/) | Lightweight RetroArch OS, minimal config, boots straight into the UI | [RetroArch]({rel}) | `/storage/system/` |
|
||||||
|
| [Batocera](https://batocera.org/) | Easy setup, works on Pi 3/4/5 and many other boards (Odroid, etc.) | [Batocera]({rel}) | `/userdata/bios/` |
|
||||||
|
| [Recalbox](https://www.recalbox.com/) | Plug-and-play experience, good for a first build | [Recalbox]({rel}) | `/recalbox/share/bios/` |
|
||||||
|
|
||||||
|
### Android handheld (Retroid Pocket, R36S, Miyoo, etc.)
|
||||||
|
|
||||||
|
Most Android handhelds run RetroArch. Download the [RetroArch pack]({rel})
|
||||||
|
and extract into `RetroArch/system/` on internal storage or SD card.
|
||||||
|
|
||||||
|
### Self-hosted ROM manager
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RomM](https://github.com/rommapp/romm) | Web-based ROM manager, plays games in the browser via EmulatorJS | [RomM]({rel}) | The `bios` folder in the RomM library, one subfolder per system |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Full pack or Platform pack?
|
||||||
|
|
||||||
|
Each platform has two pack types on the [releases page]({releases}).
|
||||||
|
|
||||||
|
**Full pack** (recommended)
|
||||||
|
|
||||||
|
Contains the platform's own BIOS list plus all files needed by each
|
||||||
|
emulator core available on that platform. This covers alternate cores,
|
||||||
|
optional firmware that improves accuracy, and edge cases. Larger download,
|
||||||
|
but everything works out of the box with any core.
|
||||||
|
|
||||||
|
**Platform pack**
|
||||||
|
|
||||||
|
Contains only the files the platform officially checks for. Much smaller
|
||||||
|
download. Good for limited storage (SD cards, handhelds) or setups that
|
||||||
|
only use default cores.
|
||||||
|
|
||||||
|
When in doubt, take the full pack.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## After extraction
|
||||||
|
|
||||||
|
Launch a game. If it needed a BIOS file, the emulator will find it
|
||||||
|
automatically. No configuration needed.
|
||||||
|
|
||||||
|
If a game still asks for a missing file, check the
|
||||||
|
[platforms section](platforms/index.md) for the full file list, or the
|
||||||
|
[emulators section](emulators/index.md) for what each core expects.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def generate_mkdocs_nav(
|
def generate_mkdocs_nav(
|
||||||
coverages: dict,
|
coverages: dict,
|
||||||
manufacturers: dict,
|
manufacturers: dict,
|
||||||
@@ -2216,7 +2341,7 @@ def generate_mkdocs_nav(
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
{"Home": "index.md"},
|
{"Home": "index.md"},
|
||||||
{"Which pack?": "which-pack.md"},
|
{"Download": "which-pack.md"},
|
||||||
{"Platforms": platform_nav},
|
{"Platforms": platform_nav},
|
||||||
{"Systems": system_nav},
|
{"Systems": system_nav},
|
||||||
{"Emulators": emu_nav},
|
{"Emulators": emu_nav},
|
||||||
@@ -2260,6 +2385,15 @@ def main():
|
|||||||
css_dest.parent.mkdir(parents=True, exist_ok=True)
|
css_dest.parent.mkdir(parents=True, exist_ok=True)
|
||||||
shutil.copy2(css_src, css_dest)
|
shutil.copy2(css_src, css_dest)
|
||||||
|
|
||||||
|
# Copy branding assets
|
||||||
|
images_dest = docs / "assets" / "images"
|
||||||
|
images_dest.mkdir(parents=True, exist_ok=True)
|
||||||
|
assets_src = Path(".github") / "assets"
|
||||||
|
for name, dest_name in [("logo.png", "logo.png"), ("favicon.png", "favicon.png")]:
|
||||||
|
src = assets_src / name
|
||||||
|
if src.exists():
|
||||||
|
shutil.copy2(src, images_dest / dest_name)
|
||||||
|
|
||||||
registry_path = Path(args.platforms_dir) / "_registry.yml"
|
registry_path = Path(args.platforms_dir) / "_registry.yml"
|
||||||
registry = {}
|
registry = {}
|
||||||
if registry_path.exists():
|
if registry_path.exists():
|
||||||
@@ -2370,6 +2504,10 @@ def main():
|
|||||||
str(wiki_dest / "data-model.md"), generate_wiki_data_model(db, profiles)
|
str(wiki_dest / "data-model.md"), generate_wiki_data_model(db, profiles)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Generate which-pack page
|
||||||
|
print("Generating which-pack page...")
|
||||||
|
write_if_changed(str(docs / "which-pack.md"), generate_which_pack())
|
||||||
|
|
||||||
# Generate contributing
|
# Generate contributing
|
||||||
print("Generating contributing page...")
|
print("Generating contributing page...")
|
||||||
write_if_changed(str(docs / "contributing.md"), generate_contributing())
|
write_if_changed(str(docs / "contributing.md"), generate_contributing())
|
||||||
@@ -2405,6 +2543,8 @@ theme:
|
|||||||
icon: material/brightness-4
|
icon: material/brightness-4
|
||||||
name: Switch to auto
|
name: Switch to auto
|
||||||
font: false
|
font: false
|
||||||
|
logo: assets/images/logo.png
|
||||||
|
favicon: assets/images/favicon.png
|
||||||
icon:
|
icon:
|
||||||
logo: material/chip
|
logo: material/chip
|
||||||
features:
|
features:
|
||||||
|
|||||||
Reference in New Issue
Block a user