Xata
Start fresh or branch an existing Postgres in seconds, and scale to zero when it is idle.
AI translation
A simple database of BIOS file details such as Device, FileName, Region/Version and File Hashes.
Translation pending
DataPython · ShellGitHub @biosdbOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A static, searchable website hosted on GitHub Pages that provides MD5, SHA1, and SHA256 hashes for game console and computer BIOS files.
This has been "vibe coded" with human verification, the initial datasets were generated using AI to cross-reference mulitple datasets.
The aim is to have a simple front-end for users to reference to aid searching/validating; as I found this information being sporadic with things being based on release groups etc
The side effect is that the json datasets should be nice for automated tooling to parse too.Read the full README ↗A static, searchable website hosted on GitHub Pages that provides MD5, SHA1, and SHA256 hashes for game console and computer BIOS files.
This has been "vibe coded" with human verification, the initial datasets were generated using AI to cross-reference mulitple datasets.
The aim is to have a simple front-end for users to reference to aid searching/validating; as I found this information being sporadic with things being based on release groups etc
The side effect is that the json datasets should be nice for automated tooling to parse too.
data/<manufacturer>.json — one file per manufacturer, with BIOSes nested under their consoles. Human-readable, edited via git pull requests.build.py reads every data/*.json file and generates:
index.html — a searchable card grid of manufacturers (small payload, loads fast).m/<slug>.html — one page per manufacturer, holding only that manufacturer's BIOS entries.main.Per-manufacturer files keep PRs tiny, avoid merge conflicts when multiple people contribute at once, and eliminate the need for contributors to coordinate on integer IDs. Per-manufacturer HTML pages keep each page's client-side dataset small, so search stays snappy even as the database grows.
Each data/<manufacturer>.json file looks like this:
{
"manufacturer": "Sony",
"consoles": [
{
"shortName": "PS1",
"longName": "PlayStation",
"bioses": [
{
"name": "SCPH-1001",
"altName": "PlayStation NTSC-U BIOS",
"region": "NTSC-U",
"version": "2.2",
"size": 524288,
"md5": "8dd7d5296a650fac7319bce665a6a53c",
"sha1": "10155d8d6e6e832d6ea66db9bc098321fb5e8ebf",
"sha256": null,
"crc32": null,
"notes": "Original US BIOS, released 1995"
}
]
}
]
}
BIOS fields: name (required), plus optional altName, region, version, size, md5, sha1, sha256, crc32, notes. Use null for any optional field that isn't known. The size field is a raw byte count (integer), which the site formats as B, KiB, MiB, GiB, or TiB automatically. crc32 is stored for contributors who cross-reference DAT-based tools (No-Intro, Redump, clrmamepro) but is not displayed on the site.
data/<manufacturer>.json (or create a new file if the manufacturer doesn't exist yet).bioses array — or add a new console object if needed.null.The filename determines the manufacturer's page URL — e.g. data/sony.json → m/sony.html. Keep filenames lowercase and use hyphens for spaces.
pip install -r requirements.txt
python build.py
# then open index.html in your browser
# or serve locally so relative links to m/*.html work everywhere:
python -m http.server 8000
Freeform Markdown notes and external links can be added alongside the hash data, kept in a separate notes/ directory so the JSON stays clean for automated tooling. These are always supplementary — rendered after the primary content (the manufacturer grid, or the BIOS table), not before it:
notes/_index.md — shown at the bottom of the site's index page.notes/<manufacturer-slug>.md — shown at the bottom of that manufacturer's page.notes/<manufacturer-slug>/<console-slug>.md — shown inside that console's card, below its BIOS table.All three are entirely optional — add one only where you have something worth saying (background, links to further reading, expected filenames for emulators, etc). Slugs must match the manufacturer name / console longName the same way data/<manufacturer>.json filenames do; python validate.py will flag a note file that doesn't match anything. See notes/_index.md, notes/sony.md, and notes/sony/playstation.md for examples.
check_hashes.py looks up one or more hashes against data/*.json without needing a build. Hash type (MD5/SHA1/SHA256/CRC32) is auto-detected by length, so you can pass them in any order:
python check_hashes.py a860e8c0b6d573d191e4ec7db1b1e4f6 300c20df6731a33952ded8c436f7f186d25d3492
If any given hash matches a known entry, the rest are cross-checked against that entry's recorded values, and a mismatch is flagged as a warning. If nothing matches this site's data, it falls back to checking libretro-database's dat/System.dat (fetched over the network and cached in .cache/) before reporting the hashes as entirely unknown. Pass --offline to skip that fallback, or --refresh-dats to force re-downloading the cached copy.
hash_files.py (or the equivalent hash_files.sh, for systems without Python handy) computes MD5, SHA1, SHA256, and CRC32 for one or more local files:
python hash_files.py dmg_boot.bin mgb_boot.bin
Pass --json to get a ready-to-paste array of BIOS entry objects instead — the name, size, and hash fields are filled in, and everything else (altName, region, version, notes) is left null for you to fill in before adding it to the matching console's bioses array:
python hash_files.py --json dmg_boot.bin > entry.json
main — the workflow will build and deploy the site.