Add MiSTer FPGA platform support#50
Open
Takiiiiiiii wants to merge 2 commits into
Open
Conversation
Adds platforms/misterfpga.yml mapping 17 MiSTer cores (31 BIOS files) to canonical retrobios entries by MD5, sourced from the live ajgowans/BiosDB_MiSTer community database.
eb5c4b8 to
7da8d2f
Compare
Author
|
Any progress on this PR review? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add MiSTer FPGA as a supported platform
What is MiSTer FPGA?
MiSTer FPGA is an open-source, FPGA-based hardware platform that faithfully recreates vintage consoles, arcade hardware, and computers at the gate level. Unlike software emulation, MiSTer cores reproduce the original hardware's behavior cycle-accurately on reconfigurable logic.
The MiSTer community maintains 100+ console, arcade, and computer cores. Many cores require the original system's BIOS ROM to boot. Today, MiSTer users rely on ajgowans/BiosDB_MiSTer (consumed via MiSTer Downloader / Update_All_MiSTer) to fetch BIOS from archive.org — a single point of failure.
What this PR adds
platforms/misterfpga.yml— a MiSTer FPGA platform definition following retrobios's existing schema, cross-referencing 31 BIOS files across 17 MiSTer cores to canonical retrobios entries by MD5.Systems covered (17):
3do)atari-lynx)philips-cdi)coco3)game-boy)game-boy-advance)intellivision)msx)sega-cd)neo-geo)nes-fds)neo-geo-cd)playstation)pokemon-mini)super-game-boy)snes)sega-saturn)Gap analysis — what's not yet mapped (and where to find it)
The following BIOS files are required by MiSTer cores but aren't matchable against retrobios's current database by MD5. Each is listed with its known archive.org source (from ajgowans/BiosDB_MiSTer) so retrobios maintainers can evaluate adding them. Three root causes:
(A) Systems not in retrobios at all — 14 cores
These cores have zero files in retrobios. Most are obscure handhelds / Japan-only computers that mainstream emulator databases don't cover. BIOS sources:
games/Astrocade/boot.rom7d25a26e5c4841b364cfe6b1735eaf03games/Casio_PV-2000/boot0.rom558540c5c6f776d88a897f2f3b8fec8fgames/CreatiVision/boot.rom4dfadfb1158f84e2df2b85b13f303986games/Gamate/boot.romef67993a94503c4b7798b5901c7dda52games/Interact/boot.romaa9fb0e9697a009dfb9d876351dd8f48games/Jaguar/boot.rom6e844759720226e58d55ecaf33608a13games/Jaguar/boot1.rom948447d009b89b51e72b17e80c470b81games/Jaguar/boot2.rom4af00f1c26898cf04585e1693d25fabagames/N64/boot.rom5c124e7948ada85da603a522782940d0games/N64/boot1.romd4232dc935cad0650ac2664d52281f3agames/PC8801/boot.romf1ce4d5f83717093982e5f75516b8f3cgames/PocketChallengeV2/boot.rom54b915694731cc22e07d3fb8a00ee2dbgames/PocketChallengeV2/boot1.rom880893bd5a7d53fff826bd76a83d566egames/SCV/boot.romb596975be2e0360232bbeb1e492ab873games/TGFX16-CD/cd_bios.rom98d43a097a165b03df170fd5c2ad2c2fgames/TI-99_4A/boot0.roma75bb208176c0aed1b6a04b2dcf4770cgames/WonderSwan/boot.rom54b915694731cc22e07d3fb8a00ee2dbgames/WonderSwan/boot1.rom880893bd5a7d53fff826bd76a83d566egames/WonderSwanColor/boot.rom54b915694731cc22e07d3fb8a00ee2dbgames/WonderSwanColor/boot1.rom880893bd5a7d53fff826bd76a83d566e(B) Partial cores — specific files missing
retrobios has some of these systems' BIOS files but not all of them. The YAML already includes whatever is matchable; these rows are the ones still missing:
games/CD-i/boot2.rom9694c466f9b65c1990a81b7a6280546bgames/MegaCD/boot.rom14db9657bbaa6fbb9249752424dc0ce4games/NEOGEO/neo-epo.sp1b11751ad42879c461d64ad2b7b2b0129games/NEOGEO/sfix.sfixaa2b5d0eae4158ffc0d7d63481c7830bgames/NEOGEO/sp-s2.sp12968f59f44bf328639aa79391aeeeab4games/NEOGEO/uni-bios.rom4f0aeda8d2d145f596826b62d563c4efgames/PSX/sbi.zip706d60ab2dfdbfdd53be2069cb85a1fe(C) Hash mismatch — same system, different dump/format
retrobios has entries for these systems, but with different BIOS revisions or file formats than MiSTer expects:
cd_bios.rom): retrobios hassyscard3.pceat 262,656 bytes; MiSTer expects 262,144 bytes — identical content, but retrobios's version has a 512-byte header prefix that changes the MD5. Could be resolved by adding a headerless variant.bioscv.rom(2KB); MiSTer wantsboot.rom(16KB) — different revision entirely.[BIOS] Atari Jaguar (World).j64(131KB single file); MiSTer has three separate boot*.rom files with different hashes from different source dumps.Schema choices
base_destination: games— MiSTer stores BIOS at/media/fat/games/<Core>/<file>on the SD card. Thegamesbase is relative to the MiSTer SD card root.hash_type: md5/verification_mode: md5— MiSTer's BiosDB uses MD5 as its canonical hash. This matches BiosDB's verification behavior.boot.rom,boot0.rom,cd_bios.rom, etc.) rather than the BIOS's native filenames — these are what each MiSTer core actually looks for.docs:field points to the corresponding MiSTer-devel GitHub core repo.How this was generated
Programmatically from the live BiosDB database cross-referenced with retrobios's
database.jsonby MD5 hash. Source: Takiiiiiii/MiSTerFPGA-BIOS. Every file entry has been verified to exist in retrobios with matching MD5, SHA1, CRC32, and size.Generated: 2026-04-06T05:49:05Z
Testing