32 Commits

Author SHA1 Message Date
Abdessamad Derraz e1410ef4a6 fix: exclusion reasons from YAML, not hardcoded in Python
Added exclusion_note field to emulator profiles. verify.py reads
this field instead of parsing notes text with fragile keywords.

desmume2015: explains .info vs code discrepancy
dolphin_launcher: explains standalone BIOS management

All exclusion messages now come from YAML data, not Python strings.
2026-03-19 13:17:55 +01:00
Abdessamad Derraz eb21d214ab chore: regenerate database with updated profiles 2026-03-19 13:16:18 +01:00
Abdessamad Derraz 114732dc6d feat: intentional exclusion notes in verify report
New section "Intentional exclusions" explains why certain emulator
files are NOT in the pack:
- [frozen_snapshot]: code doesn't load .info firmware (desmume2015)
- [launcher]: BIOS managed by standalone emulator (dolphin_launcher)
- [standalone_only]: files for standalone mode, not libretro

Makes it clear that omissions are by design, not bugs.
2026-03-19 13:15:26 +01:00
Abdessamad Derraz 2509c61ffe feat: detailed core gap categories in verify report 2026-03-19 13:12:14 +01:00
Abdessamad Derraz 98afc86d0c feat: separate frozen snapshot profiles, fix shared cores
Created desmume2015.yml with files: [] (code doesn't load BIOS).
Removed desmume2015 from desmume.yml cores list.
Removed cdi2015 from same_cdi.yml (separate profile exists).

Frozen snapshots must have their own profiles because their
firmware behavior differs from the current version.
2026-03-19 13:11:25 +01:00
Abdessamad Derraz 316d2467eb refactor: replace emulator extras with cross-reference discovery
_collect_emulator_extras() now uses find_undeclared_files() from
verify.py instead of manual emulator name lists. This gives:
- System-overlap matching (automatic, no manual config needed)
- mode: standalone filtering (no standalone files in libretro packs)
- type: launcher filtering (no launcher BIOS in system_dir)
- data_directories coverage (no false gaps)
- hle_fallback propagation
- Works for ANY platform (same logic for RetroArch, Batocera, etc.)

RetroArch --include-extras now discovers 91 extra files from
emulator profiles automatically.
2026-03-19 13:10:36 +01:00
Abdessamad Derraz de1940d57c feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:

- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
  noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
  picodrive (3), quasi88 (4), gambatte (2)

Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00
Abdessamad Derraz 69ac957a3c feat: add hle_fallback to 9 emulator profiles
Marked files with HLE fallback based on source code analysis:
- desmume: 3 files (NDSSystem.cpp fake BIOS generation)
- dolphin: 31 files (HLE for IPL, DSP, fonts, Wii system)
- pcsx_rearmed: 7 files (psxbios.c full HLE replacement)
- easyrpg: 4 files (RTP and soundfonts optional)
- dosbox_core: all MT-32/soundfont/BASS files
- dosbox_pure: all MT-32/soundfont files
- boytacean: 8 boot ROMs (open-source embedded in binary)
- citra: shared_font.bin only (HLE for font rendering)
- azahar: shared_font.bin only

Not modified (no HLE): beetle_psx, duckstation, ecwolf, emuscv.
2026-03-19 12:55:03 +01:00
Abdessamad Derraz d5daf98e5e feat: hle_fallback field + launcher filtering in verify
Added hle_fallback: true/false per file in emulator profiles.
When a core has HLE and the file is missing, severity downgrades
to INFO instead of CRITICAL — core works without it.

verify.py builds an HLE index from emulator profiles and applies
it during severity computation. Cross-reference now skips launcher
profiles (type: launcher) and includes hle_fallback in undeclared
file reports.

33 E2E tests (4 new: HLE severity, HLE index, launcher skip,
cross-ref HLE). 0 regressions.

Based on source code analysis:
- RetroArch core_info.c:2233 — existence check only, no blocking
- PCSX ReARMed psxbios.c:28 — full HLE BIOS replacement
- Dolphin CommonPaths.h — all files optional with HLE
- snes9x — DSP HLE built-in, coprocessor files optional
2026-03-19 12:51:52 +01:00
Abdessamad Derraz 13e5dd37f4 chore: remove redundant tests, keep E2E only (29 tests)
Removed 7 test files (135 tests) fully covered by test_e2e.py.
The E2E creates all fixtures in setUp, exercises every code path
with real files and real functions. Single source of regression.
2026-03-19 12:22:56 +01:00
Abdessamad Derraz eb270a030f feat: E2E regression test with unified YAML fixtures (164 total)
Single test class with shared setUp creating all synthetic fixtures:
- bios files with known hashes (present/missing/wrong/alias/variants)
- ZIPs with inner ROMs (correct/wrong/missing inner)
- platform YAMLs (existence, md5, inherited, shared groups)
- emulator profiles (aliases, standalone mode, data_directories)

29 E2E tests covering: resolution (9), verification (5), severity (2),
platform config (2), cross-reference (4), grouping (2), storage (2),
md5_composite (1), check_inside_zip (4).

One fixture set, all scenarios, easy to maintain.
2026-03-19 11:37:11 +01:00
Abdessamad Derraz c8861192e6 feat: advanced tests — md5_composite, storage tiers, data dirs (135 total)
17 new tests covering remaining scenarios:
- md5_composite: manual calc, dirs excluded, compression-independent,
  used in resolve_local_file
- storage tiers: external, user_provided, embedded, fetch_large_file
  with cache hit and hash rejection
- data_directories: suppress cross-ref gaps when matched, show gaps
  when unmatched
- shared groups: _shared.yml includes injection, empty group safe
- YAML inheritance: systems inherited, verification_mode override
- platform grouping: identical merged, different base_dest separated
2026-03-19 11:34:30 +01:00
Abdessamad Derraz 06d39cedad feat: YAML integration tests with fixtures (35 new, 118 total)
tests/fixtures/ with synthetic platforms, emulators, bios files:
- test_existence.yml: required/optional present/missing
- test_md5.yml: correct/wrong hash, zipped_file (3 cases),
  multi-hash Recalbox, truncated MD5 Batocera, dedup
- test_inherit.yml: YAML inheritance
- _shared.yml: shared groups
- emulator profiles with aliases, standalone mode, alias type

tests/test_integration.py covers:
- existence/md5 mode severity counts
- zipped_file inner ROM verification (3 cases)
- Recalbox multi-hash + Batocera truncated MD5
- worst-status aggregation per destination
- YAML inheritance
- cross-reference: undeclared, standalone skipped, alias skipped
- alias resolution
- pack consistency (verify == pack counts)
- shared groups parsing

All tests use real files, real hashes, real functions, no mocking.
2026-03-19 11:29:00 +01:00
Abdessamad Derraz 6d9edc5110 fix: review findings — hoist constants, cache emu profiles, renumber steps
- Hoist sev_order/sev_prio dicts to module-level constants (was rebuilt
  every loop iteration)
- Cache emulator profiles across platforms in verify main() (was loading
  260 YAMLs per platform, now loaded once)
- Renumber resolve_local_file steps 1-5 (was 1,2,3,5,6 after removal)
- Pass emu_profiles through verify_platform → find_undeclared_files
2026-03-19 11:22:58 +01:00
Abdessamad Derraz b9cdda07ee refactor: DRY consolidation + 83 unit tests
Moved shared functions to common.py (single source of truth):
- check_inside_zip (was in verify.py, imported by generate_pack)
- build_zip_contents_index (was duplicated in verify + generate_pack)
- load_emulator_profiles (was in verify, cross_reference, generate_site)
- group_identical_platforms (was in verify + generate_pack)

Added tests/ with 83 unit tests covering:
- resolve_local_file: SHA1, MD5, name, alias, truncated, zip_contents
- verify: existence, md5, zipped_file, multi-hash, severity mapping
- aliases: field parsing, by_name indexing, beetle_psx field rename
- pack: dedup, file_status, zipped_file inner check, EmuDeck entries
- severity: all 12 combinations, platform-native behavior

0 regressions: pipeline.py --all produces identical results.
2026-03-19 11:19:50 +01:00
Abdessamad Derraz 011d0f9441 chore: regenerate database with alias indexes 2026-03-19 11:04:01 +01:00
Abdessamad Derraz e240c70126 feat: complete platform-native verification with cross-reference
verify.py output now uses platform-native terminology:
- md5 platforms: X/Y OK, N untested, M missing
- existence platforms: X/Y present, M missing

Each problem shows (required/optional) from platform YAML.

Core gaps section summarizes undeclared files by severity:
- required NOT in repo: critical gaps needing sourcing
- required in repo: can be added to platform config
- optional: informational

Consistency check in pipeline.py updated to match new format.
All 7 platforms verified, consistency OK across verify and pack.
2026-03-19 10:44:17 +01:00
Abdessamad Derraz 5fd3b148df feat: platform-native verification with severity and cross-reference
verify.py now simulates each platform's exact BIOS check behavior:
- RetroArch: existence only (core_info.c path_is_valid)
- Batocera: MD5 + checkInsideZip, no required distinction
- Recalbox: MD5 + mandatory/hashMatchMandatory, 3-level severity

Per-file required/optional from platform YAMLs now affects severity:
- CRITICAL: required file missing or bad hash (md5 platforms)
- WARNING: optional missing or hash mismatch
- INFO: optional missing on existence-only platforms
- OK: verified

Cross-references emulator profiles to list undeclared files used by
cores available on each platform (420 for Batocera, 465 for RetroArch).

Verified against source code:
- Batocera: batocera-systems:967-1091 (BiosStatus, checkBios, checkInsideZip)
- Recalbox: Bios.cpp:109-130 (mandatory, hashMatchMandatory, Green/Yellow/Red)
- RetroArch: .info firmware_opt (existence check only)
2026-03-19 10:11:39 +01:00
Abdessamad Derraz 1bde934c45 chore: regenerate database.json with emulator aliases 2026-03-19 09:56:20 +01:00
Abdessamad Derraz be5937d514 fix: align status terminology with Batocera source code
Batocera uses exactly 2 statuses (batocera-systems:967-969):
- MISSING: file not found on disk
- UNTESTED: file present but hash not confirmed

Removed the wrong_hash/untested split — both are UNTESTED per
Batocera's design (file accepted by emulator, just not guaranteed
correct). Fixed duplicate count bug from rename. Reason detail
(MD5 mismatch vs inner file not found) preserved in the message.

Verified against Batocera source: checkBios() lines 1062-1091,
checkInsideZip() lines 978-1009, BiosStatus class lines 967-969.
2026-03-19 09:49:16 +01:00
Abdessamad Derraz c27720d710 feat: unified pipeline script with consistency check
scripts/pipeline.py runs the full retrobios pipeline in one command:
1. generate_db --force (rebuild database.json)
2. refresh_data_dirs (update data directories, skippable with --offline)
3. verify --all (check all platforms)
4. generate_pack --all (build ZIP packs)
5. consistency check (verify counts == pack counts per platform)

Flags: --offline, --skip-packs, --include-archived, --include-extras.
Summary table shows OK/FAILED per step with total elapsed time.
2026-03-19 09:33:50 +01:00
Abdessamad Derraz 6e421f6d84 fix: verify uses list_platforms for --all, add --include-archived
verify.py now uses the same platform listing as generate_pack.py:
--all shows active platforms, --include-archived adds archived ones.
Before, verify --all listed all .yml files without filtering.
2026-03-19 09:23:33 +01:00
Abdessamad Derraz cfe2b1ff3d refactor: group identical platforms in verify output
Platforms sharing the same pack (same files + base_destination)
are grouped on one line: "Lakka / RetroArch: 449/449 files OK".
RetroPie stays separate (different base_destination BIOS/ vs system/).
Archived platforms (RetroPie) excluded from --all, available via
--platform retropie. Grouping matches generate_pack behavior.
2026-03-19 09:15:29 +01:00
Abdessamad Derraz a88a452469 refactor: clear, consistent output for verify and generate_pack
Both tools now count by unique destination (what the user sees on
disk), not by YAML entry or internal check. Same file shared by
multiple systems = counted once. Same file checked for multiple
inner ROMs = counted once with worst-case status.

Output format:
  verify:  "Platform: X/Y files OK, N wrong hash, M missing [mode]"
  pack:    "pack.zip: P files packed, X/Y files OK, N wrong hash [mode]"

X/Y is the same number in both tools for the same platform.
"files packed" differs from "files OK" when data_directories or
EmuDeck MD5-only entries are involved — this is expected and clear
from the numbers (e.g. 34 packed but 161 verified for EmuDeck).
2026-03-19 09:06:00 +01:00
Abdessamad Derraz 866ee40209 feat: harmonize verify and pack output format
Both tools now report: X files, Y/Z checks verified (N duplicate/inner
checks), with the same check counts for the same platform. The
duplicate/inner detail explains why checks > files (multiple YAML
entries per ZIP for inner ROM verification, EmuDeck MD5 whitelists).

File counts differ legitimately (verify counts resolved files on disk,
pack counts files in the ZIP including data_directories).
2026-03-19 08:57:45 +01:00
Abdessamad Derraz 0f84bc2417 feat: harmonize check counts between verify and generate_pack
generate_pack now reports both file count and verification check
count, matching verify.py's accounting. All YAML entries are counted
as checks, including duplicate destinations (verified but not packed
twice) and EmuDeck-style no-filename entries (verified by MD5 in DB).

Before: verify 679/680 vs pack 358/359 (confusing discrepancy)
After:  verify 679/680 vs pack 679/680 checks (consistent)
2026-03-19 08:52:58 +01:00
Abdessamad Derraz 8a9dea91c2 fix: verify and pack report consistent untested counts
generate_pack.py skipped duplicate destination entries before
running verification, hiding untested files that verify.py caught.
Now all entries are verified even when the file is already packed,
ensuring both tools report the same untested count.

Batocera: verify 679/680 (1 untested), pack 358/359 (1 untested).
Both report sc3000.zip as the single untested file.
2026-03-19 08:43:07 +01:00
Abdessamad Derraz 6f82b5520d fix: zipped_file hash_mismatch handling in pack generation
resolve_local_file returns hash_mismatch for zipped_file entries
because container MD5 differs from inner ROM MD5. This is expected.

Reverted the flawed deferral approach in common.py that resolved
to wrong ZIPs via zip_contents flat index (electron64.zip instead
of bbcb.zip when inner ROMs share the same MD5).

Fixed generate_pack.py to verify inner ZIP content via
check_inside_zip before marking as untested, matching verify.py
behavior. pc6001/bbcb/fm7 ZIPs now correctly verified.

verify.py: 679/680 Batocera (1 untested: sc3000 true mismatch)
generate_pack.py: 359/359 Batocera (0 untested)
2026-03-19 08:30:03 +01:00
Abdessamad Derraz f3db61162c feat: aliases support in resolve and db generation
generate_db.py now reads aliases from emulator YAMLs and indexes
them in database.json by_name. resolve_local_file in common.py
tries all alias names when the primary name fails to match.

beetle_psx alt_names renamed to aliases (was not indexed before).
snes9x BS-X.bios, np2kai FONT.ROM/ide.rom/pci.rom fallbacks,
all now formally declared as aliases and indexed.

verify --all and generate_pack --all pass with 0 regressions.
2026-03-19 08:15:13 +01:00
Abdessamad Derraz 71b127efb5 feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.

New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.

Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
Abdessamad Derraz 86dbdf28e5 feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.

_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.

cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.

refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.

scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
Abdessamad Derraz fbb2079f9b feat: complete 81 profile, archive 27 standalone ROMs 2026-03-18 17:52:12 +01:00
118 changed files with 4540 additions and 737 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+562 -3
View File
@@ -1,7 +1,7 @@
{
"generated_at": "2026-03-18T16:37:01Z",
"total_files": 5567,
"total_size": 4908292673,
"generated_at": "2026-03-19T12:13:36Z",
"total_files": 5593,
"total_size": 4909044289,
"files": {
"520d3d1b5897800af47f92efd2444a26b7a7dead": {
"path": "bios/3DO Company/3DO/3do_arcade_saot.bin",
@@ -15159,6 +15159,33 @@
"sha256": "5349560b6f2526a49aa3a2751f3287897fbfd53fb14f685ed661bd1242a3a1ee",
"crc32": "1690ba5c"
},
"597ba8a15a292688333c84dc9fd35172abe5e7e6": {
"path": "bios/Jupiter/ACE/jupiterace.rom",
"name": "jupiterace.rom",
"size": 8192,
"sha1": "597ba8a15a292688333c84dc9fd35172abe5e7e6",
"md5": "db6efdfd82cebdfbb493d85b1a5efc3c",
"sha256": "6c898799cd9782f24e98dfb4302d01984daabb9cffe353a2d491212bea0b6d2d",
"crc32": "e5b1f5f6"
},
"c875db1bb5d338c814cad868b3282c767d59c4f5": {
"path": "bios/Lambda/8300/lambda8300.rom",
"name": "lambda8300.rom",
"size": 8192,
"sha1": "c875db1bb5d338c814cad868b3282c767d59c4f5",
"md5": "e232dfce1dcae65953583f66af146232",
"sha256": "9291e86e5a89086d8278621528853c6169797264d2c5bd0dc5fc95c27e32014f",
"crc32": "8fe1a1b7"
},
"9b22daf2f3a991aa6a358ef95b091654c3ca1bdf": {
"path": "bios/Lambda/8300/lambda8300colour.rom",
"name": "lambda8300colour.rom",
"size": 8192,
"sha1": "9b22daf2f3a991aa6a358ef95b091654c3ca1bdf",
"md5": "03aeea3abc7b1ca5f241935477ce71be",
"sha256": "abc908e96b3c4a43b69c400424b027bf07b0b79eb8d6b89f39adfe7bd6326b02",
"crc32": "8a49b2c3"
},
"b2e1955d957a475de2411770452eff4ea19f4cee": {
"path": "bios/Magnavox/Odyssey2/o2rom.bin",
"name": "o2rom.bin",
@@ -15276,6 +15303,15 @@
"sha256": "67dfa3f5a8a683ef0c972a4329ba6fea283586b0e52247b4e64dc183c3e7d92c",
"crc32": "7ff336f4"
},
"7b961a1733fc047eb682150a32e17bca10a018d2": {
"path": "bios/Microdigital/TK85/tk85.rom",
"name": "tk85.rom",
"size": 10240,
"sha1": "7b961a1733fc047eb682150a32e17bca10a018d2",
"md5": "b301cdad72448d92598197b45bead8fe",
"sha256": "3f32a40c0a309bb511a749ac93f93d73f64096cbfade162c06c2ec8dd1a317e8",
"crc32": "8972d756"
},
"5996972d3e033f6c525c1988c563b4ffe4c58f22": {
"path": "bios/Microsoft/Chihiro/cerbios.bin",
"name": "cerbios.bin",
@@ -43608,6 +43644,15 @@
"sha256": "0cc333aa339e76f6c5673b1da3334de582443caf3388b457baf785c2ae3040d2",
"crc32": "1184b3e8"
},
"191c4994adfffe4f83b98dc3959dde2724b1dbac": {
"path": "bios/Ringo/R470/ringo470.rom",
"name": "ringo470.rom",
"size": 8192,
"sha1": "191c4994adfffe4f83b98dc3959dde2724b1dbac",
"md5": "a70bbb0dfe4bb8556e74258062766f5d",
"sha256": "1b7b0a05f72134f93346d2e83307a4e3a8ff67909c12b5f9b68a5bd42db8e7e2",
"crc32": "b9c5abec"
},
"12b54bf6bf277791445c2618065ec88e0302957c": {
"path": "bios/SNK/Neo Geo/.variants/aes.zip",
"name": "aes.zip",
@@ -47127,6 +47172,15 @@
"sha256": "8a39aae2b2eb3c9fff09dc0d80bca9ffcb981f1665d9067ea1131129f3353b2b",
"crc32": "37f87fac"
},
"b6769a3197c77009e0933e038c15b43cf4c98c7a": {
"path": "bios/Sinclair/ZX 80/zx80.rom",
"name": "zx80.rom",
"size": 4096,
"sha1": "b6769a3197c77009e0933e038c15b43cf4c98c7a",
"md5": "e03bd725f98be45aac39c85f7fd41ce4",
"sha256": "9374711cb6a5fd53c1c98d1d20ecb444d01d621a322f3d066ef216d515ac5161",
"crc32": "4c7fc597"
},
"04e352ab6d6ca7f50109f67c850d9dc0f467de77": {
"path": "bios/Sinclair/ZX 81/dkchr.rom",
"name": "dkchr.rom",
@@ -47136,6 +47190,24 @@
"sha256": "079ad784af12e6bf0b5c52a7b4d92da5ae4acddd0b13d73ec4221b49636a6c51",
"crc32": "761137d7"
},
"a0ade36540561cc1691bb6f0c42ceae12484a102": {
"path": "bios/Sinclair/ZX 81/zx81.edition1.rom",
"name": "zx81.edition1.rom",
"size": 8192,
"sha1": "a0ade36540561cc1691bb6f0c42ceae12484a102",
"md5": "56efa70bbaf311915c56cfdc70584e96",
"sha256": "dae1906d2ef01acb3fffd0994b0cd5d551b5b354ae6bede0f16c6fb4ee2a2177",
"crc32": "fcbbd617"
},
"c6d8e06cb936989f6e1cc7a56d1f092da854a515": {
"path": "bios/Sinclair/ZX 81/zx81.edition2.rom",
"name": "zx81.edition2.rom",
"size": 8192,
"sha1": "c6d8e06cb936989f6e1cc7a56d1f092da854a515",
"md5": "b9fd58d324b6297f2a696d40722f95dc",
"sha256": "eadcbff4479cd88013286ef3111312333112fcd8895c23138bc2d1ca495269f8",
"crc32": "522c37b8"
},
"7b143ee964e9ada89d1f9e88f0bd48d919184cfc": {
"path": "bios/Sinclair/ZX 81/zx81.rom",
"name": "zx81.rom",
@@ -47145,6 +47217,15 @@
"sha256": "14ad84f4243efcd41587ff46ab932d11087043e8d455a1ed2a227b9657828dfa",
"crc32": "4b1dd6eb"
},
"b2a486efdc7b2bc3dc8e5a441ea5532bfa3207bd": {
"path": "bios/Sinclair/ZX 81/zx97.rom",
"name": "zx97.rom",
"size": 32768,
"sha1": "b2a486efdc7b2bc3dc8e5a441ea5532bfa3207bd",
"md5": "cc69fdd6195acdfd1e533b2eb4c2a632",
"sha256": "4b6cbacd196b76bed097b00ca1d07e2a428d8afec22649eaab5dde7086d32722",
"crc32": "5cf49744"
},
"4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5": {
"path": "bios/Sinclair/ZX Spectrum/128-0.rom",
"name": "128-0.rom",
@@ -47397,6 +47478,132 @@
"sha256": "d6156f2a392b3259514f107814349f23dc0c5d56780008fa438dbeae8b8f0b66",
"crc32": "37c591b2"
},
"8a5be00921afd4e2c74059c217b31b9fb51c3d41": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+2.french.rom",
"name": "spectrum+2.french.rom",
"size": 32768,
"sha1": "8a5be00921afd4e2c74059c217b31b9fb51c3d41",
"md5": "1fff14aeca8e1dd3670142982cc6bb36",
"sha256": "6842c2f29d81af85a87b75c77c01330473ae7d903944222d0f910afb8a36e983",
"crc32": "8f769de7"
},
"8cafb292af58617907b9e6b9093d3588a75849b8": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+2.rom",
"name": "spectrum+2.rom",
"size": 32768,
"sha1": "8cafb292af58617907b9e6b9093d3588a75849b8",
"md5": "238f77692156a5c49d20c0aa2862e8bb",
"sha256": "dae0690d8b433ea22b76b62520341f784071dbde0d02f50af0e3fd20fc6bca4a",
"crc32": "e7a517dc"
},
"baca5d798b3e786078feded19486d9fc29dbd4b7": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+2.spanish.rom",
"name": "spectrum+2.spanish.rom",
"size": 32768,
"sha1": "baca5d798b3e786078feded19486d9fc29dbd4b7",
"md5": "43cf648e27efc9be8186bb7049505d79",
"sha256": "02f9cd74a3f768e60709287999d9c251288afffd796a3985f1cf840045d31f68",
"crc32": "5660f4b4"
},
"89695fd69dfcaf1969913c4a9d5d6f95defadd33": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+3.arabic3-a.english4-0.rom",
"name": "spectrum+3.arabic3-a.english4-0.rom",
"size": 131072,
"sha1": "89695fd69dfcaf1969913c4a9d5d6f95defadd33",
"md5": "30316fa0ed7ee6682933960e11b48d60",
"sha256": "ae8b9f7fa8014e71d701d9eff5ccf1f75ca9f5272102b919e0445aaef7a89c44",
"crc32": "55c960eb"
},
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+3.version4-0.rom",
"name": "spectrum+3.version4-0.rom",
"size": 65536,
"sha1": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"md5": "05de80a055b5e7866f55769db0584d6e",
"sha256": "ee8218fa43ecb672ed45370114294228213a82318c6d1b007ec86bee3293d1f2",
"crc32": "96e3c17a"
},
"0606d615cfadcbf32e0a894e9733534bc7b66982": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+3.version4-0.spanish.rom",
"name": "spectrum+3.version4-0.spanish.rom",
"size": 65536,
"sha1": "0606d615cfadcbf32e0a894e9733534bc7b66982",
"md5": "990dfe9d37b48595f5befe0e4ff4b7c6",
"sha256": "c266b543f8170d2402f40ae8ab7015e2cccb428132f88459df3d29c902225de3",
"crc32": "bcd3924e"
},
"500c0945760abeefcbd08bc22c0d07b14b336cf0": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+3.version4-1.rom",
"name": "spectrum+3.version4-1.rom",
"size": 65536,
"sha1": "500c0945760abeefcbd08bc22c0d07b14b336cf0",
"md5": "7e00ed3562abfd188d0d4da03e80bc0a",
"sha256": "5e7d9b3355ca76f4a99cbcc0bc1c90118ecda6a1549c2cb0f02e98af17694f3e",
"crc32": "be0d9ec4"
},
"a4b311135ccbe010318dcb872dae2c8f078c7447": {
"path": "bios/Sinclair/ZX Spectrum/spectrum+3.version4-1.spanish.rom",
"name": "spectrum+3.version4-1.spanish.rom",
"size": 65536,
"sha1": "a4b311135ccbe010318dcb872dae2c8f078c7447",
"md5": "52d130178c1106fef765b5f119fb43bc",
"sha256": "3bf9a1741c64a1cff3f1a1c144a34f30345114b01fb2fbccdb9eefa2c884328a",
"crc32": "0ade13f8"
},
"57c0b6681224378ce1d279fde13d644478423783": {
"path": "bios/Sinclair/ZX Spectrum/spectrum128.spanish.rom",
"name": "spectrum128.spanish.rom",
"size": 32768,
"sha1": "57c0b6681224378ce1d279fde13d644478423783",
"md5": "84aef735da122d55e41a33455c7c3506",
"sha256": "51d291fb08a0d4461b714114ef991e996784ec7ee6be8789382dc0781121e08e",
"crc32": "0437b160"
},
"72c428b0768f92b3621f4e21847ceb712023b356": {
"path": "bios/Sinclair/ZX Spectrum/spectrum48.arabic.rom",
"name": "spectrum48.arabic.rom",
"size": 16384,
"sha1": "72c428b0768f92b3621f4e21847ceb712023b356",
"md5": "9f6f56003307b9d55be96f406fdbf2b1",
"sha256": "34c24c37f78aaceb3a52f17556a1f445e9b145f3c1651c6bafec1410abc2cb2e",
"crc32": "15b166ba"
},
"2a3a549b4fc9f8c296502e5184d61f26675e2395": {
"path": "bios/Sinclair/ZX Spectrum/spectrum48.arabic.version1.rom",
"name": "spectrum48.arabic.version1.rom",
"size": 16384,
"sha1": "2a3a549b4fc9f8c296502e5184d61f26675e2395",
"md5": "a6a1e3a68bb5523997103c3925a46fe4",
"sha256": "dc5a994fb193eaf1e1b5770c56bfbda4720fc06ff7ac3361a49695da35ce874a",
"crc32": "5a0bdc95"
},
"c2de5a9fd9c429fd3b9a2074af831100505a4fec": {
"path": "bios/Sinclair/ZX Spectrum/spectrum48.arabic.version2.rom",
"name": "spectrum48.arabic.version2.rom",
"size": 16384,
"sha1": "c2de5a9fd9c429fd3b9a2074af831100505a4fec",
"md5": "fac3d08455328c34f0d06344d89cec0e",
"sha256": "fdb50ff25af8a211943dd4ce3d287009c0253f9ef0d18d3fd2788f7d6781febd",
"crc32": "de97b571"
},
"b1abc2ef2101aeef628d978dae682aaaa7b5a896": {
"path": "bios/Sinclair/ZX Spectrum/spectrum48.nordic.rom",
"name": "spectrum48.nordic.rom",
"size": 16384,
"sha1": "b1abc2ef2101aeef628d978dae682aaaa7b5a896",
"md5": "f058f27ae61af225fe5baacc1d89adfc",
"sha256": "a0bba33d21b60509e507a9bd5db5ed0673af45cfd3886234d6349d5f446a10a9",
"crc32": "a8a41da5"
},
"9e535e2e24231ccb65e33d107f6d0ceb23e99477": {
"path": "bios/Sinclair/ZX Spectrum/spectrum48.spanish.rom",
"name": "spectrum48.spanish.rom",
"size": 16384,
"sha1": "9e535e2e24231ccb65e33d107f6d0ceb23e99477",
"md5": "60e1bd8b4d59b55e5b2175126239517f",
"sha256": "e56896c14377d17a736f7a6e6fef7180e67847ec253d9ecb5c73e4f3ffc4890c",
"crc32": "f051746e"
},
"3b1287bfc6fec9c7dd838f6ea1706698cb96fd16": {
"path": "bios/Sinclair/ZX Spectrum/tape_128.szx",
"name": "tape_128.szx",
@@ -47541,6 +47748,15 @@
"sha256": "e52e861bd30c144f174a596233c6f3e5804cff170fdc50d44ba61a1683b8174c",
"crc32": "ae16233a"
},
"94edc401d43b0e9a9cdc1d35de4b6462dc414ab3": {
"path": "bios/Sinclair/ZX Spectrum/tk90.rom",
"name": "tk90.rom",
"size": 16384,
"sha1": "94edc401d43b0e9a9cdc1d35de4b6462dc414ab3",
"md5": "b7893ad25728fbf6410f08eddd4a1cad",
"sha256": "c0f7c0a7b2dd838488189cda052e414cd3474f3a718c1fde0a6cef3e8e0f4776",
"crc32": "17368e07"
},
"21695e3f2a8f796386ce66eea8a246b0ac44810c": {
"path": "bios/Sinclair/ZX Spectrum/trdos.rom",
"name": "trdos.rom",
@@ -49890,6 +50106,24 @@
"sha256": "e646d6e7ca7345e5058836db8a4f4db08dc5c9911bee34d061372a2883c39536",
"crc32": "9ed23a12"
},
"3eb437359221b4406d236085ec66fa02278e7495": {
"path": "bios/Timex/TS1500/ts1500.rom",
"name": "ts1500.rom",
"size": 8192,
"sha1": "3eb437359221b4406d236085ec66fa02278e7495",
"md5": "dea07eb23c5768ddf3ed90740eab85cb",
"sha256": "427a70cd996262af5aabc24afe0de75b89237bf561364387ca8fe2d7f4828156",
"crc32": "7dd19c48"
},
"34cd8113bf75b65a4da6eea355f9d46ad635f7e4": {
"path": "bios/Timex/TS2068/ts2068.rom",
"name": "ts2068.rom",
"size": 24576,
"sha1": "34cd8113bf75b65a4da6eea355f9d46ad635f7e4",
"md5": "9194283503a105f3f3dfba13e61e993f",
"sha256": "278e515f8816ea048fa0f167e664a4a09660d8fa17bfce8cfa99f70ebbe208e0",
"crc32": "48004230"
},
"8bbe175a406e2e38227d8bdca1a820c727f80c03": {
"path": "bios/Tomy/Tutor/.variants/tutor.zip",
"name": "tutor.zip",
@@ -51793,6 +52027,9 @@
"d36f149116250913fd1554ab9a5ebae3": "d49e71637d0356ec1f3d1407b6b2ff32ab998fa9",
"cf849d4b36cd8b7782de7887d318182a": "6933bbe1fc29f58581a7f64f859f756db9ef78a7",
"8e98b0c8e5c96c191a8b2a9d29d0454b": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"db6efdfd82cebdfbb493d85b1a5efc3c": "597ba8a15a292688333c84dc9fd35172abe5e7e6",
"e232dfce1dcae65953583f66af146232": "c875db1bb5d338c814cad868b3282c767d59c4f5",
"03aeea3abc7b1ca5f241935477ce71be": "9b22daf2f3a991aa6a358ef95b091654c3ca1bdf",
"562d5ebf9e030a40d6fabfc2f33139fd": "b2e1955d957a475de2411770452eff4ea19f4cee",
"924ee89b84fd73e6547f38c1188b1a54": "e549c95af34bae7652ce270ca065e81cbef1ecc7",
"7a5f90f6af3939305b77b4f365eda7f5": "27aa76a6b4a1c9b659689c7d9c9a43874150507b",
@@ -51806,6 +52043,7 @@
"ecd0a5a83fca19ea860fe565fad4b061": "04a1f062cf73c3931c038434e3f299482b6bf613",
"0e4c4b1638a23fd26796816cf2f83961": "752555fdd0ff23abc9f35c6e03d9d9b4c0e9677b",
"9bc4cc42958a2a120670e5bc0bfc1d5e": "41184f5240b4b54f3804f5a22b4d78bbba52ed1d",
"b301cdad72448d92598197b45bead8fe": "7b961a1733fc047eb682150a32e17bca10a018d2",
"f23d7e00ae8fbf88908ed1f9165f35eb": "5996972d3e033f6c525c1988c563b4ffe4c58f22",
"74b0f217fa0e2b8bb5a2f8e2ecc69da3": "bf5fb954db868e523febccc68549ed9187961076",
"364a1a579fe5cb8dba54519bcfcdac0d": "e998f0c441f4f1800ef44e42cd1659150206cf79",
@@ -54954,6 +55192,7 @@
"92f6e9a57545d15cd4b03dcb1d9c367d": "86eb7336a49f22201ef10c71ccf6650d2db453eb",
"94dd9f75005cdc7236a0b400b71920fd": "2ecc186ac26d73dc3e184febcc64c1735d0b237c",
"927ed8f4d8394a4eca03cf7791ff3d6b": "b77432504698d3b01ab2034b5fa1d613a77f2fe2",
"a70bbb0dfe4bb8556e74258062766f5d": "191c4994adfffe4f83b98dc3959dde2724b1dbac",
"b95fde264333c05a8e2e2754cdc8accc": "12b54bf6bf277791445c2618065ec88e0302957c",
"67682655fa5fb32831e28429643e26c7": "cdbde4e73d49ed3a682b99f66c231eb3dfd90dc7",
"dffb72f116d36d025068b23970a4f6df": "fc398ab4e13ca6bfef3366ed3391b1050e0eb5e8",
@@ -55345,8 +55584,12 @@
"cc78d4f4900f622bd6de1aed7f52592f": "77511fc58798404701f66b6bbc9cbde06596eba7",
"0617321daa182c3f3d6f41fd02fb3275": "e33cdcdb69cd257b0b211ef46e7a8b144637db57",
"27fbde30ffc81dbf909d4287be7c0f28": "cede52455ac2a92607b4a16b59a9296f9be3b78e",
"e03bd725f98be45aac39c85f7fd41ce4": "b6769a3197c77009e0933e038c15b43cf4c98c7a",
"5cba3a306fbb94454811ba262b27c958": "04e352ab6d6ca7f50109f67c850d9dc0f467de77",
"56efa70bbaf311915c56cfdc70584e96": "a0ade36540561cc1691bb6f0c42ceae12484a102",
"b9fd58d324b6297f2a696d40722f95dc": "c6d8e06cb936989f6e1cc7a56d1f092da854a515",
"db398d4e4e93a6d4dee3bfe146918219": "7b143ee964e9ada89d1f9e88f0bd48d919184cfc",
"cc69fdd6195acdfd1e533b2eb4c2a632": "b2a486efdc7b2bc3dc8e5a441ea5532bfa3207bd",
"b4d2692115a9f2924df92a3cbfb358fb": "4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5",
"6e09e5d3c4aef166601669feaaadc01c": "80080644289ed93d71a1103992a154cc9802b2fa",
"c1231a70b8129311216acb7479b031d5": "968937b1c750f0ef6205f01c6db4148da4cca4e3",
@@ -55375,6 +55618,20 @@
"fb3f86eb1e5a695d9c50c124e7cfb875": "8608328d7dd66602a4846f046b24fed500f7d828",
"88de4a3129086f34bb9ca559acc51e6c": "3be5de57dd3bd0a9d15c57cabe9179afe2906a52",
"c54aa8f374b0971f51546c29d5d1eba1": "16af6f052b38a027dd49ba6e96e3a59d16b62672",
"1fff14aeca8e1dd3670142982cc6bb36": "8a5be00921afd4e2c74059c217b31b9fb51c3d41",
"238f77692156a5c49d20c0aa2862e8bb": "8cafb292af58617907b9e6b9093d3588a75849b8",
"43cf648e27efc9be8186bb7049505d79": "baca5d798b3e786078feded19486d9fc29dbd4b7",
"30316fa0ed7ee6682933960e11b48d60": "89695fd69dfcaf1969913c4a9d5d6f95defadd33",
"05de80a055b5e7866f55769db0584d6e": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"990dfe9d37b48595f5befe0e4ff4b7c6": "0606d615cfadcbf32e0a894e9733534bc7b66982",
"7e00ed3562abfd188d0d4da03e80bc0a": "500c0945760abeefcbd08bc22c0d07b14b336cf0",
"52d130178c1106fef765b5f119fb43bc": "a4b311135ccbe010318dcb872dae2c8f078c7447",
"84aef735da122d55e41a33455c7c3506": "57c0b6681224378ce1d279fde13d644478423783",
"9f6f56003307b9d55be96f406fdbf2b1": "72c428b0768f92b3621f4e21847ceb712023b356",
"a6a1e3a68bb5523997103c3925a46fe4": "2a3a549b4fc9f8c296502e5184d61f26675e2395",
"fac3d08455328c34f0d06344d89cec0e": "c2de5a9fd9c429fd3b9a2074af831100505a4fec",
"f058f27ae61af225fe5baacc1d89adfc": "b1abc2ef2101aeef628d978dae682aaaa7b5a896",
"60e1bd8b4d59b55e5b2175126239517f": "9e535e2e24231ccb65e33d107f6d0ceb23e99477",
"8942b43b73ed4eb7f32bd1741709a4dc": "3b1287bfc6fec9c7dd838f6ea1706698cb96fd16",
"fec97eb9ea1b017cae84de78508feb4a": "ec9e5607ce7faf2d6a5d71e5e21188ca86e963a1",
"116f732bbae4e49d625aaf2f311474d0": "f2d2227dce697df8aac78883eaf966e71435caa3",
@@ -55391,6 +55648,7 @@
"9dd7ecf784a6c04265c073c236f5fadb": "febb2d495b6eda7cdcb4074935d6e9d9f328972d",
"55d462fccc6c536037404ef4ced08bec": "1446cb2780a9dedf640404a639fa3ae518b2d8aa",
"575d203c6e15e679fba0b73f854ec7a2": "7e265a2c1f621ed365ea23bdcafdedbc79c1299c",
"b7893ad25728fbf6410f08eddd4a1cad": "94edc401d43b0e9a9cdc1d35de4b6462dc414ab3",
"0da70a5d2a0e733398e005b96b7e4ba6": "21695e3f2a8f796386ce66eea8a246b0ac44810c",
"85fede415f4294cc777517d7eada482e": "16375d42ea109b47edded7a16028de7fdb3013a1",
"fbb5f59ec332451debccf1e377017237": "48f6a9e001e2cb002217107c46fb0459069d1a42",
@@ -55652,6 +55910,8 @@
"3df4d280ad76edc0662c2e89ad4f2f74": "e05575b630bea7ff98b9ca1f083d745abb3110b6",
"01770fde15c34ff88bb49526d38cb1f6": "a11d1801594fa3d1f95d37bbcc2e0faa1ad013c6",
"f2087ed09f7fa8d8856cfafb20dd00dc": "e0f5e2eced447abf9948342b2facc40179f0f527",
"dea07eb23c5768ddf3ed90740eab85cb": "3eb437359221b4406d236085ec66fa02278e7495",
"9194283503a105f3f3dfba13e61e993f": "34cd8113bf75b65a4da6eea355f9d46ad635f7e4",
"37c052c1388be33bac2fac88a439322c": "8bbe175a406e2e38227d8bdca1a820c727f80c03",
"4f0e9736c6ff1671459b1f3c80f74f98": "273dbb7a93eb0ab83c2e13e9db51b897cc18f838",
"3b1ef759d8e3fb4071582efd33dd05f9": "5ac620c529e4965efb5560fe824854a44c983757",
@@ -60437,6 +60697,15 @@
"squirreljme.sqc": [
"8a2ddc37df2366d4e205e9904cd8bac22db2afd5"
],
"jupiterace.rom": [
"597ba8a15a292688333c84dc9fd35172abe5e7e6"
],
"lambda8300.rom": [
"c875db1bb5d338c814cad868b3282c767d59c4f5"
],
"lambda8300colour.rom": [
"9b22daf2f3a991aa6a358ef95b091654c3ca1bdf"
],
"o2rom.bin": [
"b2e1955d957a475de2411770452eff4ea19f4cee"
],
@@ -60476,6 +60745,9 @@
"level4P.rom": [
"41184f5240b4b54f3804f5a22b4d78bbba52ed1d"
],
"tk85.rom": [
"7b961a1733fc047eb682150a32e17bca10a018d2"
],
"cerbios.bin": [
"5996972d3e033f6c525c1988c563b4ffe4c58f22"
],
@@ -68765,6 +69037,9 @@
"001-Blue01.png": [
"b77432504698d3b01ab2034b5fa1d613a77f2fe2"
],
"ringo470.rom": [
"191c4994adfffe4f83b98dc3959dde2724b1dbac"
],
"aes.zip": [
"12b54bf6bf277791445c2618065ec88e0302957c",
"23c66caa80b93199914fae246a5ea6e84db1be29"
@@ -69809,12 +70084,24 @@
"sram.dat": [
"cede52455ac2a92607b4a16b59a9296f9be3b78e"
],
"zx80.rom": [
"b6769a3197c77009e0933e038c15b43cf4c98c7a"
],
"dkchr.rom": [
"04e352ab6d6ca7f50109f67c850d9dc0f467de77"
],
"zx81.edition1.rom": [
"a0ade36540561cc1691bb6f0c42ceae12484a102"
],
"zx81.edition2.rom": [
"c6d8e06cb936989f6e1cc7a56d1f092da854a515"
],
"zx81.rom": [
"7b143ee964e9ada89d1f9e88f0bd48d919184cfc"
],
"zx97.rom": [
"b2a486efdc7b2bc3dc8e5a441ea5532bfa3207bd"
],
"128-0.rom": [
"4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5"
],
@@ -69899,6 +70186,48 @@
"speccyboot-1.4.rom": [
"16af6f052b38a027dd49ba6e96e3a59d16b62672"
],
"spectrum+2.french.rom": [
"8a5be00921afd4e2c74059c217b31b9fb51c3d41"
],
"spectrum+2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"spectrum+2.spanish.rom": [
"baca5d798b3e786078feded19486d9fc29dbd4b7"
],
"spectrum+3.arabic3-a.english4-0.rom": [
"89695fd69dfcaf1969913c4a9d5d6f95defadd33"
],
"spectrum+3.version4-0.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"spectrum+3.version4-0.spanish.rom": [
"0606d615cfadcbf32e0a894e9733534bc7b66982"
],
"spectrum+3.version4-1.rom": [
"500c0945760abeefcbd08bc22c0d07b14b336cf0"
],
"spectrum+3.version4-1.spanish.rom": [
"a4b311135ccbe010318dcb872dae2c8f078c7447"
],
"spectrum128.spanish.rom": [
"57c0b6681224378ce1d279fde13d644478423783"
],
"spectrum48.arabic.rom": [
"72c428b0768f92b3621f4e21847ceb712023b356"
],
"spectrum48.arabic.version1.rom": [
"2a3a549b4fc9f8c296502e5184d61f26675e2395"
],
"spectrum48.arabic.version2.rom": [
"c2de5a9fd9c429fd3b9a2074af831100505a4fec"
],
"spectrum48.nordic.rom": [
"b1abc2ef2101aeef628d978dae682aaaa7b5a896"
],
"spectrum48.spanish.rom": [
"9e535e2e24231ccb65e33d107f6d0ceb23e99477"
],
"tape_128.szx": [
"3b1287bfc6fec9c7dd838f6ea1706698cb96fd16"
],
@@ -69947,6 +70276,9 @@
"tc2068-1.rom": [
"7e265a2c1f621ed365ea23bdcafdedbc79c1299c"
],
"tk90.rom": [
"94edc401d43b0e9a9cdc1d35de4b6462dc414ab3"
],
"trdos.rom": [
"21695e3f2a8f796386ce66eea8a246b0ac44810c"
],
@@ -70699,6 +71031,12 @@
"gamecom.zip": [
"e0f5e2eced447abf9948342b2facc40179f0f527"
],
"ts1500.rom": [
"3eb437359221b4406d236085ec66fa02278e7495"
],
"ts2068.rom": [
"34cd8113bf75b65a4da6eea355f9d46ad635f7e4"
],
"tutor.zip": [
"8bbe175a406e2e38227d8bdca1a820c727f80c03",
"273dbb7a93eb0ab83c2e13e9db51b897cc18f838"
@@ -71290,6 +71628,9 @@
"128p-1.rom": [
"80080644289ed93d71a1103992a154cc9802b2fa"
],
"tk95.rom": [
"94edc401d43b0e9a9cdc1d35de4b6462dc414ab3"
],
"SCPH-70004_BIOS_V12_EUR_200.BIN": [
"434bc0b4eb4827da0773ec0795aadc5162569a07"
],
@@ -71350,18 +71691,57 @@
"sony-playstation:8dd7d5296a650fac7319bce665a6a53c": [
"b05def971d8ec59f346f2d9ac21fb742e3eb6917"
],
"SCPH5500.bin": [
"b05def971d8ec59f346f2d9ac21fb742e3eb6917"
],
"SCPH-5500.bin": [
"b05def971d8ec59f346f2d9ac21fb742e3eb6917"
],
"sony-playstation:490f666e1afb15b7362b406ed1cea246": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"scph7003.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH5501.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH-5501.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"scph5503.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH5503.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH-5503.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH7003.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"SCPH-7003.bin": [
"0555c6fae8906f3f09baf5988f00e55f88e9f30b"
],
"sony-playstation:32736f17079d0b2b7024407c39bd3050": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"scph5552.bin": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"SCPH5502.bin": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"SCPH-5502.bin": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"SCPH5552.bin": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"SCPH-5552.bin": [
"f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
],
"sony-playstation:8e4c14f567745eff2f0408c8129f72a6": [
"77b10118d21ac7ffa9b35f9c4fd814da240eb3e9"
],
@@ -71401,6 +71781,9 @@
"sony-playstation:c53ca5908936d412331790f4426c6c33": [
"96880d1ca92a016ff054be5159bb06fe03cb4e14"
],
"PSXONPSP660.bin": [
"96880d1ca92a016ff054be5159bb06fe03cb4e14"
],
"sony-playstation:476d68a94ccec3b9c8303bbd1daf2810": [
"7082bd57141fa0007b3adcd031f7ba23a20108a0"
],
@@ -71413,6 +71796,9 @@
"sony-playstation:81bbe60ba7a3d1cea1d48c14cbcc647b": [
"c40146361eb8cf670b19fdc9759190257803cab7"
],
"PS1_ROM.bin": [
"c40146361eb8cf670b19fdc9759190257803cab7"
],
"sony-playstation-2:32f2e4d5ff5ee11072a6bc45530f5765": [
"5b33170323ed6344e2363fed8115dc3918bb96a4"
],
@@ -71772,33 +72158,87 @@
"amiga-os-120.rom": [
"11f9e62cf299f72184835b7b2a70a16333fc0d88"
],
"Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A2000)[!].rom": [
"11f9e62cf299f72184835b7b2a70a16333fc0d88"
],
"Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom": [
"11f9e62cf299f72184835b7b2a70a16333fc0d88"
],
"amiga-os-130.rom": [
"891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
],
"Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom": [
"891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
],
"Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom": [
"891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
],
"amiga-os-204.rom": [
"c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
],
"Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+)[!].rom": [
"c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
],
"Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom": [
"c5839f5cb98a7a8947065c3ed2f14f5f42e334a1"
],
"amiga-os-310-a600.rom": [
"3b7f1493b27e212830f989f26ca76c02049f09ca"
],
"Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom": [
"3b7f1493b27e212830f989f26ca76c02049f09ca"
],
"Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000).rom": [
"3b7f1493b27e212830f989f26ca76c02049f09ca"
],
"amiga-ext-130-cdtv.rom": [
"7ba40ffa17e500ed9fed041f3424bd81d9c907be"
],
"amiga-os-130-cdtv-ext.rom": [
"7ba40ffa17e500ed9fed041f3424bd81d9c907be"
],
"CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom": [
"7ba40ffa17e500ed9fed041f3424bd81d9c907be"
],
"CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom": [
"7ba40ffa17e500ed9fed041f3424bd81d9c907be"
],
"amiga-os-300-a1200.rom": [
"70033828182fffc7ed106e5373a8b89dda76faa5"
],
"Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom": [
"70033828182fffc7ed106e5373a8b89dda76faa5"
],
"amiga-os-310-a1200.rom": [
"e21545723fe8374e91342617604f1b3d703094f1"
],
"Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200)[!].rom": [
"e21545723fe8374e91342617604f1b3d703094f1"
],
"Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom": [
"e21545723fe8374e91342617604f1b3d703094f1"
],
"amiga-os-310-a4000.rom": [
"5fe04842d04a489720f0f4bb0e46948199406f49"
],
"Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom": [
"5fe04842d04a489720f0f4bb0e46948199406f49"
],
"amiga-os-310-cd32.rom": [
"3525be8887f79b5929e017b42380a79edfee542d"
],
"Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom": [
"3525be8887f79b5929e017b42380a79edfee542d"
],
"amiga-ext-310-cd32.rom": [
"5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
],
"amiga-os-310-cd32-ext.rom": [
"5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
],
"CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom": [
"5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f"
],
"custom0.sf2": [
"286b2e1fb21cc79851da01666db6c0b0e88f25e3"
],
@@ -71904,6 +72344,99 @@
"zx48.rom": [
"5ea7c2b824672e914525d1d5c419d71b84a426a2"
],
"amiga-os-300-a4000.rom": [
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7"
],
"Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom": [
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7"
],
"monit10.rom": [
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae"
],
"focal10.rom": [
"6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f"
],
"disk_327.rom": [
"28eefbb63047b26e4aec104aeeca74e2f9d0276c"
],
"b11m_bos.rom": [
"7e9a30e38d7b78981999821640a68a201bb6df01"
],
"b11m_ext.rom": [
"f087af69044432a1ef2431a72ac06946e32f2dd3"
],
"bas11m_0.rom": [
"9d76f3eefd64e032c763fa1ebf9cd3d9bd22317a"
],
"bas11m_1.rom": [
"34fa37599f2f9eb607390ef2458a3c22d87f09a9"
],
"terak.rom": [
"273a9933b68a290c5aedcd6d69faa7b1d22c0344"
],
"upd7801g.bin": [
"6e89d1227581c76441a53d605f9e324185f1da33"
],
"upd7801g.bios": [
"6e89d1227581c76441a53d605f9e324185f1da33"
],
"BS-X.bios": [
"604556b2e62860af18db5a77f2956ebc75450020"
],
"N88_0.ROM": [
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
],
"n88ext0.rom": [
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
],
"N88_1.ROM": [
"4ae4d37409ff99411a623da9f6a44192170a854e"
],
"n88ext1.rom": [
"4ae4d37409ff99411a623da9f6a44192170a854e"
],
"N88_2.ROM": [
"e94278682ef9e9bbb82201f72c50382748dcea2a"
],
"n88ext2.rom": [
"e94278682ef9e9bbb82201f72c50382748dcea2a"
],
"N88_3.ROM": [
"af452aed79b072c4d17985830b7c5dca64d4b412"
],
"n88ext3.rom": [
"af452aed79b072c4d17985830b7c5dca64d4b412"
],
"N80.ROM": [
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
"n80.rom": [
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
"n88sub.rom": [
"8063185d4dd653dd75a68855148c9ee15b71164c"
],
"KANJI2.ROM": [
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"kanji2.rom": [
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"N88JISHO.ROM": [
"deef0cc2a9734ba891a6d6c022aa70ffc66f783e"
],
"JISYO.ROM": [
"deef0cc2a9734ba891a6d6c022aa70ffc66f783e"
],
"jisyo.rom": [
"deef0cc2a9734ba891a6d6c022aa70ffc66f783e"
],
"FONT.BMP": [
"b4f14e58030ed40fff2dc312b58ea4440bdf8cc5"
],
"2608_RYM.WAV": [
"c65592330c9dd84011151daed52f9aec926b7e56"
],
"dmg0_rom.bin": [
"1db57a1e8b6e4096f811587f9eab0c6675fd9755"
],
@@ -73635,6 +74168,9 @@
"1bd22497": "d49e71637d0356ec1f3d1407b6b2ff32ab998fa9",
"c3e532d3": "6933bbe1fc29f58581a7f64f859f756db9ef78a7",
"1690ba5c": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"e5b1f5f6": "597ba8a15a292688333c84dc9fd35172abe5e7e6",
"8fe1a1b7": "c875db1bb5d338c814cad868b3282c767d59c4f5",
"8a49b2c3": "9b22daf2f3a991aa6a358ef95b091654c3ca1bdf",
"8016a315": "b2e1955d957a475de2411770452eff4ea19f4cee",
"efdb45a1": "e549c95af34bae7652ce270ca065e81cbef1ecc7",
"0605a050": "27aa76a6b4a1c9b659689c7d9c9a43874150507b",
@@ -73648,6 +74184,7 @@
"bddbf843": "04a1f062cf73c3931c038434e3f299482b6bf613",
"1a92d54d": "752555fdd0ff23abc9f35c6e03d9d9b4c0e9677b",
"7ff336f4": "41184f5240b4b54f3804f5a22b4d78bbba52ed1d",
"8972d756": "7b961a1733fc047eb682150a32e17bca10a018d2",
"a73a4d20": "5996972d3e033f6c525c1988c563b4ffe4c58f22",
"d42f4444": "bf5fb954db868e523febccc68549ed9187961076",
"a317e6b4": "e998f0c441f4f1800ef44e42cd1659150206cf79",
@@ -76796,6 +77333,7 @@
"fe7eff14": "86eb7336a49f22201ef10c71ccf6650d2db453eb",
"888ee3a3": "2ecc186ac26d73dc3e184febcc64c1735d0b237c",
"1184b3e8": "b77432504698d3b01ab2034b5fa1d613a77f2fe2",
"b9c5abec": "191c4994adfffe4f83b98dc3959dde2724b1dbac",
"9e5ee4a2": "12b54bf6bf277791445c2618065ec88e0302957c",
"3a1b0586": "cdbde4e73d49ed3a682b99f66c231eb3dfd90dc7",
"362e948d": "fc398ab4e13ca6bfef3366ed3391b1050e0eb5e8",
@@ -77187,8 +77725,12 @@
"6c7ef608": "77511fc58798404701f66b6bbc9cbde06596eba7",
"00eeb408": "e33cdcdb69cd257b0b211ef46e7a8b144637db57",
"37f87fac": "cede52455ac2a92607b4a16b59a9296f9be3b78e",
"4c7fc597": "b6769a3197c77009e0933e038c15b43cf4c98c7a",
"761137d7": "04e352ab6d6ca7f50109f67c850d9dc0f467de77",
"fcbbd617": "a0ade36540561cc1691bb6f0c42ceae12484a102",
"522c37b8": "c6d8e06cb936989f6e1cc7a56d1f092da854a515",
"4b1dd6eb": "7b143ee964e9ada89d1f9e88f0bd48d919184cfc",
"5cf49744": "b2a486efdc7b2bc3dc8e5a441ea5532bfa3207bd",
"e76799d2": "4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5",
"b96a36be": "80080644289ed93d71a1103992a154cc9802b2fa",
"453d86b2": "968937b1c750f0ef6205f01c6db4148da4cca4e3",
@@ -77217,6 +77759,20 @@
"8f1047d2": "8608328d7dd66602a4846f046b24fed500f7d828",
"16ed3a9b": "3be5de57dd3bd0a9d15c57cabe9179afe2906a52",
"37c591b2": "16af6f052b38a027dd49ba6e96e3a59d16b62672",
"8f769de7": "8a5be00921afd4e2c74059c217b31b9fb51c3d41",
"e7a517dc": "8cafb292af58617907b9e6b9093d3588a75849b8",
"5660f4b4": "baca5d798b3e786078feded19486d9fc29dbd4b7",
"55c960eb": "89695fd69dfcaf1969913c4a9d5d6f95defadd33",
"96e3c17a": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"bcd3924e": "0606d615cfadcbf32e0a894e9733534bc7b66982",
"be0d9ec4": "500c0945760abeefcbd08bc22c0d07b14b336cf0",
"0ade13f8": "a4b311135ccbe010318dcb872dae2c8f078c7447",
"0437b160": "57c0b6681224378ce1d279fde13d644478423783",
"15b166ba": "72c428b0768f92b3621f4e21847ceb712023b356",
"5a0bdc95": "2a3a549b4fc9f8c296502e5184d61f26675e2395",
"de97b571": "c2de5a9fd9c429fd3b9a2074af831100505a4fec",
"a8a41da5": "b1abc2ef2101aeef628d978dae682aaaa7b5a896",
"f051746e": "9e535e2e24231ccb65e33d107f6d0ceb23e99477",
"8d1c41f4": "3b1287bfc6fec9c7dd838f6ea1706698cb96fd16",
"ccda9cc2": "ec9e5607ce7faf2d6a5d71e5e21188ca86e963a1",
"dbc1a386": "f2d2227dce697df8aac78883eaf966e71435caa3",
@@ -77233,6 +77789,7 @@
"f1b5fa67": "febb2d495b6eda7cdcb4074935d6e9d9f328972d",
"bf44ec3f": "1446cb2780a9dedf640404a639fa3ae518b2d8aa",
"ae16233a": "7e265a2c1f621ed365ea23bdcafdedbc79c1299c",
"17368e07": "94edc401d43b0e9a9cdc1d35de4b6462dc414ab3",
"10751aba": "21695e3f2a8f796386ce66eea8a246b0ac44810c",
"2cbe8995": "16375d42ea109b47edded7a16028de7fdb3013a1",
"d5ff6273": "48f6a9e001e2cb002217107c46fb0459069d1a42",
@@ -77494,6 +78051,8 @@
"f93bd9f7": "e05575b630bea7ff98b9ca1f083d745abb3110b6",
"71879a28": "a11d1801594fa3d1f95d37bbcc2e0faa1ad013c6",
"9ed23a12": "e0f5e2eced447abf9948342b2facc40179f0f527",
"7dd19c48": "3eb437359221b4406d236085ec66fa02278e7495",
"48004230": "34cd8113bf75b65a4da6eea355f9d46ad635f7e4",
"dc569ae7": "8bbe175a406e2e38227d8bdca1a820c727f80c03",
"0d9fbdbb": "273dbb7a93eb0ab83c2e13e9db51b897cc18f838",
"c3c590c6": "5ac620c529e4965efb5560fe824854a44c983757",
+250 -17
View File
@@ -5,40 +5,273 @@ upstream: "https://github.com/charlierobson/EightyOne"
profiled_date: "2026-03-18"
core_version: "1.0a"
display_name: "Sinclair - ZX 81 (EightyOne)"
cores:
- 81
cores: [81]
systems:
- sinclair-zx81
- sinclair-zx80
- jupiter-ace
- timex-ts1500
- timex-ts2068
- lambda-8300
- ringo-r470
- microdigital-tk85
notes: |
Libretro core embeds zx81.rom and dkchr.rom as C arrays (xxd -i at build).
Core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
Standalone EightyOne loads ROMs from filesystem (cwd/ROM/<filename>).
Libretro port embeds zx81.rom and dkchr.rom as C arrays (xxd -i).
Core never accesses filesystem for ROMs. Hardcodes MACHINEZX81.
ref: 81-libretro/81/zx81/snap.c:37-38, 487-508
Original emulator supports ~15 machines (ZX80, ZX81, Jupiter ACE, TS1500,
Lambda, R470, TK85, ZX97LE, Spectrum variants). Libretro port hardcodes
MACHINEZX81 — only zx81.rom and dkchr.rom are embedded.
Original EightyOne supports 15+ machines, loads ROMs from ROM/ directory.
ref: EightyOne/Source/zx81/snap.cpp:1219-1279 — open(cwd/ROM/filename)
ref: EightyOne/Source/HW_.cpp:2734 — LoadRomBox() per-machine ROM list
No platform currently requires these files (libretro core embeds them).
Archived for museum preservation and future standalone platform use.
files:
# mode: standalone = only needed when running as standalone emulator
# mode: libretro = only needed when running as libretro core
# mode: both (default if absent) = needed in both modes
# --- libretro core: embedded, no external files needed ---
# mode: standalone = needed only for standalone emulator
# mode: libretro = needed only for libretro core
# mode: both = needed in both modes (default if absent)
# ref: 81-libretro/81/zx81/snap.c:37,489-496 — embedded as bin_ROM_zx81_rom
# ref: EightyOne/Source/zx81/snap.cpp:1219-1279 — open(cwd/ROM/zx81.rom)
# ZX81 (default machine for libretro port)
- name: zx81.rom
system: sinclair-zx81
required: true
mode: standalone
size: 8192
note: "ZX81 8K BASIC ROM. Embedded in libretro core, external for standalone."
source_ref: "EightyOne/Source/zx81/snap.cpp:1264, 81-libretro/81/zx81/snap.c:489"
# ref: 81-libretro/81/zx81/snap.c:38,499-508 — embedded as bin_ROM_dkchr_rom
md5: db398d4e4e93a6d4dee3bfe146918219
note: "ZX81 8K BASIC ROM (edition 3). Embedded in libretro core."
source_ref: "81-libretro/81/zx81/snap.c:489, EightyOne/Source/HW_.cpp:2744"
- name: zx81.edition1.rom
system: sinclair-zx81
required: false
mode: standalone
size: 8192
md5: 56efa70bbaf311915c56cfdc70584e96
note: "ZX81 ROM edition 1"
source_ref: "EightyOne/Source/HW_.cpp:2742"
- name: zx81.edition2.rom
system: sinclair-zx81
required: false
mode: standalone
size: 8192
md5: b9fd58d324b6297f2a696d40722f95dc
note: "ZX81 ROM edition 2"
source_ref: "EightyOne/Source/HW_.cpp:2743"
- name: dkchr.rom
system: sinclair-zx81
required: false
mode: standalone
size: 4096
md5: ""
note: "dK'tronics character ROM. Embedded in libretro core."
source_ref: "81-libretro/81/zx81/snap.c:499"
# ZX80
- name: zx80.rom
system: sinclair-zx80
required: true
mode: standalone
size: 4096
md5: e03bd725f98be45aac39c85f7fd41ce4
note: "ZX80 4K ROM"
source_ref: "EightyOne/Source/HW_.cpp:2737"
# ZX97LE
- name: zx97.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: cc69fdd6195acdfd1e533b2eb4c2a632
note: "ZX97LE 32K ROM"
source_ref: "EightyOne/Source/HW_.cpp:2789"
# Jupiter ACE
- name: jupiterace.rom
system: jupiter-ace
required: true
mode: standalone
size: 8192
md5: db6efdfd82cebdfbb493d85b1a5efc3c
note: "Jupiter ACE Forth ROM"
source_ref: "EightyOne/Source/HW_.cpp:2753"
# Timex TS1500
- name: ts1500.rom
system: timex-ts1500
required: true
mode: standalone
size: 8192
md5: dea07eb23c5768ddf3ed90740eab85cb
source_ref: "EightyOne/Source/HW_.cpp:2757"
# Timex TS2068
- name: ts2068.rom
system: timex-ts2068
required: true
mode: standalone
size: 24576
md5: 9194283503a105f3f3dfba13e61e993f
source_ref: "EightyOne/Source/ROMs/ts2068.rom"
# Lambda 8300
- name: lambda8300.rom
system: lambda-8300
required: true
mode: standalone
size: 8192
md5: e232dfce1dcae65953583f66af146232
source_ref: "EightyOne/Source/HW_.cpp:2773"
- name: lambda8300colour.rom
system: lambda-8300
required: false
mode: standalone
size: 8192
md5: 03aeea3abc7b1ca5f241935477ce71be
source_ref: "EightyOne/Source/ROMs/lambda8300colour.rom"
# Ringo R470
- name: ringo470.rom
system: ringo-r470
required: true
mode: standalone
size: 8192
md5: a70bbb0dfe4bb8556e74258062766f5d
source_ref: "EightyOne/Source/HW_.cpp:2769"
# Microdigital TK85
- name: tk85.rom
system: microdigital-tk85
required: true
mode: standalone
size: 10240
md5: b301cdad72448d92598197b45bead8fe
source_ref: "EightyOne/Source/HW_.cpp:2777"
# Timex TC2048
- name: tc2048.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: 9dd7ecf784a6c04265c073c236f5fadb
source_ref: "EightyOne/Source/ROMs/tc2048.rom"
# ZX Spectrum variants (standalone mode, multiple localizations)
- name: spectrum48.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: 4c42a2f075212361c3117015b107ff68
note: "Spectrum 48K"
source_ref: "EightyOne/Source/HW_.cpp:2802"
- name: spectrum48.spanish.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: 60e1bd8b4d59b55e5b2175126239517f
- name: spectrum48.arabic.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: 9f6f56003307b9d55be96f406fdbf2b1
- name: spectrum48.arabic.version1.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: a6a1e3a68bb5523997103c3925a46fe4
- name: spectrum48.arabic.version2.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: fac3d08455328c34f0d06344d89cec0e
- name: spectrum48.nordic.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: f058f27ae61af225fe5baacc1d89adfc
- name: spectrum128.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: 85fede415f4294cc777517d7eada482e
note: "Spectrum 128K"
- name: spectrum128.spanish.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: 84aef735da122d55e41a33455c7c3506
- name: spectrum+2.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: 238f77692156a5c49d20c0aa2862e8bb
note: "Spectrum +2"
- name: spectrum+2.french.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: 1fff14aeca8e1dd3670142982cc6bb36
- name: spectrum+2.spanish.rom
system: sinclair-zx81
required: false
mode: standalone
size: 32768
md5: 43cf648e27efc9be8186bb7049505d79
- name: spectrum+3.version4-0.rom
system: sinclair-zx81
required: false
mode: standalone
size: 65536
md5: 05de80a055b5e7866f55769db0584d6e
note: "Spectrum +3"
- name: spectrum+3.version4-0.spanish.rom
system: sinclair-zx81
required: false
mode: standalone
size: 65536
md5: 990dfe9d37b48595f5befe0e4ff4b7c6
- name: spectrum+3.version4-1.rom
system: sinclair-zx81
required: false
mode: standalone
size: 65536
md5: 7e00ed3562abfd188d0d4da03e80bc0a
- name: spectrum+3.version4-1.spanish.rom
system: sinclair-zx81
required: false
mode: standalone
size: 65536
md5: 52d130178c1106fef765b5f119fb43bc
- name: spectrum+3.arabic3-a.english4-0.rom
system: sinclair-zx81
required: false
mode: standalone
size: 131072
md5: 30316fa0ed7ee6682933960e11b48d60
- name: tk90.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK90X"
- name: tk95.rom
system: sinclair-zx81
required: false
mode: standalone
size: 16384
md5: b7893ad25728fbf6410f08eddd4a1cad
note: "Microdigital TK95"
+1
View File
@@ -32,6 +32,7 @@ files:
path: "5200.rom"
size: 2048
required: false
hle_fallback: true
note: >
Atari 5200 OS ROM. Provides the built-in OS routines used by all 5200
cartridges. Without it, the core uses the Altirra open-source replacement
+5 -1
View File
@@ -35,4 +35,8 @@ notes: |
No BIOS files required. The emulator has no external firmware dependencies.
Game ROMs are identified by CRC32 for automatic machine configuration.
bios_files: []
files: []
# closed-source core — cannot verify via source code scan.
# firmware_count=0 in .info and docs confirm no BIOS needed.
# signetics 2636/2637 systems have no separate system ROM.
+122
View File
@@ -0,0 +1,122 @@
emulator: Amiberry
type: standalone + libretro
source: "https://github.com/BlitterStudio/amiberry"
upstream: "https://github.com/tonioni/WinUAE"
profiled_date: "2026-03-18"
core_version: "v6.3.4"
display_name: "Commodore - Amiga (Amiberry)"
cores: [amiberry]
systems:
- commodore-amiga
- commodore-cd32
- commodore-cdtv
notes: |
Amiberry is an Amiga emulator based on WinUAE, available as both
standalone and libretro core. No built-in kickstart fallback — a real
Kickstart ROM is required.
Core option "amiberry_kickstart" selects the ROM file:
auto, kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom,
kick40068.A1200, kick40068.A4000, cd32.rom, cdtv.rom.
"auto" selects based on the model option.
ref: BlitterStudio/amiberry/libretro/libretro.cpp:558,621-634
Standalone mode ships with data/ directory (UI icons, virtual keyboards,
floppy sounds, AmigaTopaz.ttf font, gamecontrollerdb.txt). These are
compiled into the standalone binary but the libretro core may look for
them in the system directory.
files:
# --- Required Kickstart ROMs (from .info) ---
# ref: BlitterStudio/amiberry/libretro/libretro.cpp:558
# ref: WinUAE rommgr.cpp for ROM identification
- name: kick34005.A500
system: commodore-amiga
required: true
size: 262144
crc32: c4f0f55f
note: "A500 Kickstart v1.3 rev 34.5"
source_ref: "libretro-super/dist/info/amiberry_libretro.info firmware0"
- name: kick37350.A600
system: commodore-amiga
required: true
size: 524288
crc32: 43b0df7b
note: "A600 Kickstart v2.05 rev 37.350"
source_ref: "amiberry_libretro.info firmware1"
- name: kick40068.A1200
system: commodore-amiga
required: true
size: 524288
crc32: 1483a091
note: "A1200 Kickstart v3.1 rev 40.68"
source_ref: "amiberry_libretro.info firmware2"
# --- Optional Kickstart ROMs ---
- name: kick33180.A500
system: commodore-amiga
required: false
size: 262144
crc32: a6ce1636
note: "A500 Kickstart v1.2 rev 33.180"
source_ref: "amiberry_libretro.info firmware3"
- name: kick40068.A4000
system: commodore-amiga
required: false
size: 524288
crc32: d6bae334
note: "A4000 Kickstart v3.1 rev 40.68"
source_ref: "amiberry_libretro.info firmware4"
- name: kick40060.CD32
system: commodore-cd32
required: false
size: 524288
crc32: 1e62d4a5
note: "CD32 Kickstart v3.1 rev 40.60"
source_ref: "amiberry_libretro.info firmware5"
- name: kick40060.CD32.ext
system: commodore-cd32
required: false
size: 524288
crc32: 87746be2
note: "CD32 Extended ROM rev 40.60"
source_ref: "amiberry_libretro.info firmware6"
# --- Alternative names accepted by core option ---
# these are common user-facing names, same ROMs as above
- name: kick13.rom
system: commodore-amiga
required: false
note: "alias for kick34005.A500 (v1.3)"
source_ref: "libretro.cpp:630"
- name: kick34005.CDTV
system: commodore-cdtv
required: false
note: "CDTV extended ROM"
source_ref: "libretro.cpp:558 cdtv.rom option"
# --- Standalone data files ---
- name: AmigaTopaz.ttf
system: commodore-amiga
required: false
mode: standalone
note: "Amiga Topaz font for UI rendering"
source_ref: "BlitterStudio/amiberry/data/AmigaTopaz.ttf"
- name: gamecontrollerdb.txt
system: commodore-amiga
required: false
mode: standalone
note: "SDL gamepad mapping database"
source_ref: "BlitterStudio/amiberry/controllers/gamecontrollerdb.txt"
+14 -2
View File
@@ -1,6 +1,7 @@
emulator: Atari800
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/libretro-atari800"
upstream: "https://github.com/atari800/atari800"
profiled_date: "2026-03-18"
core_version: "3.1.0"
display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)"
@@ -32,6 +33,7 @@ files:
- name: "5200.rom"
path: "5200.rom"
required: false
hle_fallback: true
size: 2048
md5: 281f20ea4320404ec820fb7ec0693b38
note: >
@@ -49,6 +51,7 @@ files:
- name: "ATARIBAS.ROM"
path: "ATARIBAS.ROM"
required: false
hle_fallback: true
size: 8192
md5: 0bac0c6a50104045d902df4503a4c30b
note: >
@@ -64,6 +67,7 @@ files:
- name: "ATARIOSA.ROM"
path: "ATARIOSA.ROM"
required: false
hle_fallback: true
size: 10240
md5: eb1f32f5d9f382db1bbfb8d7f9cb343a
note: >
@@ -78,10 +82,16 @@ files:
- name: "ATARIOSB.ROM"
path: "ATARIOSB.ROM"
required: false
hle_fallback: true
size: 10240
md5: 4177f386a3bac989a981d3fe3388cb6c
crc32: 0e86d61d
note: >
Atari 400/800 OS Rev B (NTSC). Preferred over Rev A for 400/800 mode.
Atari 400/800 OS Rev B (NTSC). CRC32 0x0e86d61d matches sysrom.c
SYSROM_B_NTSC. Preferred over Rev A for 400/800 mode.
Note: .info lists md5 a3e8d617c95d08031fe1b20d541434b2 which is a
different dump (crc32 3e28a1fe) — both in repo, the CRC32-matched
version is the one sysrom.c auto-detects.
source_ref: "atari800/src/sysrom.c:89, libretro info firmware3"
# -- Atari XL/XE OS --
@@ -95,6 +105,7 @@ files:
- name: "ATARIXL.ROM"
path: "ATARIXL.ROM"
required: false
hle_fallback: true
size: 16384
md5: 06daac977823773a3eea3422fd26a703
note: >
@@ -109,6 +120,7 @@ files:
- name: "BB01R4_OS.ROM"
path: "BB01R4_OS.ROM"
required: false
hle_fallback: true
size: 16384
md5: b7a2a04677d34f069eeb643d5238bf86
note: >
+88 -5
View File
@@ -1,8 +1,91 @@
emulator: "azahar"
type: alias
alias_of: "citra"
emulator: Azahar
type: standalone + libretro
source: "https://github.com/azahar-emu/azahar"
upstream: "https://github.com/azahar-emu/azahar"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Nintendo - 3DS (Azahar)"
note: "This core uses the same BIOS/firmware as citra. See emulators/citra.yml for details."
files: []
cores: [azahar]
systems:
- nintendo-3ds
notes: |
Azahar is the successor to Citra (via Lime3DS). Different codebase
from libretro/citra — has additional files not in the old Citra.
Data dir: azahar-emu (legacy: citra-emu, lime3ds-emu).
ref: src/common/common_paths.h:41-47
Key file: keys.txt (NOT aes_keys.txt like libretro/citra).
ref: src/common/common_paths.h:83
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
ref: src/citra_libretro/environment.cpp:194
.info has firmware_count=0 but core uses system_dir for files.
files:
# --- sysdata/ ---
- name: keys.txt
path: sysdata/keys.txt
system: nintendo-3ds
required: false
note: "AES keys (named keys.txt in Azahar, aes_keys.txt in old Citra)"
source_ref: "src/common/common_paths.h:83, src/core/hw/aes/key.cpp:291"
- name: boot9.bin
path: sysdata/boot9.bin
system: nintendo-3ds
required: false
source_ref: "src/common/common_paths.h:84"
- name: sector0x96.bin
path: sysdata/sector0x96.bin
system: nintendo-3ds
required: false
source_ref: "src/common/common_paths.h:85"
- name: shared_font.bin
path: sysdata/shared_font.bin
system: nintendo-3ds
required: false
hle_fallback: true
note: "HLE fallback if missing"
source_ref: "src/common/common_paths.h:82"
- name: seeddb.bin
path: sysdata/seeddb.bin
system: nintendo-3ds
required: false
note: "game seed database for 9.6+ titles"
source_ref: "src/core/file_sys/seed_db.cpp:15"
# --- Azahar-only (not in libretro/citra) ---
# These require src/core/hw/unique_data.cpp which only exists in Azahar
- name: otp.bin
path: sysdata/otp.bin
system: nintendo-3ds
required: false
note: "OTP data for key derivation. Azahar-only."
source_ref: "src/core/hw/unique_data.cpp:214"
- name: movable.sed
path: nand/private/movable.sed
system: nintendo-3ds
required: false
note: "console-unique key seed. Azahar-only."
source_ref: "src/core/hw/unique_data.cpp:218"
- name: SecureInfo_A
path: nand/rw/sys/SecureInfo_A
system: nintendo-3ds
required: false
note: "console serial/region. Azahar-only."
source_ref: "src/core/hw/unique_data.cpp:206"
- name: LocalFriendCodeSeed_B
path: nand/rw/sys/LocalFriendCodeSeed_B
system: nintendo-3ds
required: false
note: "friend code generation. Azahar-only."
source_ref: "src/core/hw/unique_data.cpp:210"
+33 -94
View File
@@ -1,106 +1,45 @@
emulator: b2
type: standalone
source: "https://github.com/tom-seddon/b2"
type: standalone + libretro
source: "https://github.com/zoltanvb/b2-libretro"
upstream: "https://github.com/tom-seddon/b2"
profiled_date: "2026-03-18"
core_version: "v0.1"
display_name: "Acorn - BBC Micro (b2)"
cores: []
cores: [b2]
systems:
- bbc-micro-b
- bbc-micro-bplus
- bbc-master-128
- bbc-master-compact
# b2 is a standalone BBC Micro emulator by Tom Seddon. It is NOT a libretro
# core -- there is no libretro port. The emulator uses SDL2 and Dear ImGui.
#
# Emulated models (src/b2/BeebConfig.cpp:211-433):
# - BBC Model B (with various disc interfaces: Acorn 1770, Watford, Opus)
# - BBC Model B+ / B+128
# - BBC Master 128 (MOS 3.20 and 3.50)
# - BBC Master Turbo (MOS 3.20 and 3.50, with 65C102 parasite)
# - BBC Model B + 6502 second processor
# - BBC Master Compact (MOS 5.00, 5.10, I5.10C)
# - Olivetti PC 128 S (Master Compact variant)
#
# ROM handling:
# All ROMs ship in the repo under etc/roms/. The emulator loads them via
# GetAssetPath("roms", path) at runtime. No external BIOS files needed.
# ROM paths are defined in src/b2/roms.cpp as BeebROM structs with
# {filename, display_name, StandardROM_enum}.
#
# ROM inventory (etc/roms/):
#
# BBC Model B:
# OS12.ROM 16384 md5:0a59a5ba15fe8557b5f7fee32bbd393a OS 1.20
# BASIC2.ROM 16384 md5:2cc67be4624df4dc66617742571a8e3d BASIC II
#
# BBC Model B+:
# B+MOS.rom 16384 md5:47a1eff6c7fbb47be780c87dfd50ece1 B+ MOS
# BASIC2.ROM 16384 (shared with Model B)
#
# Disc interfaces (sideways ROMs, slot 14):
# acorn/DFS-2.26.rom 16384 md5:f083f49d6fe66344c650d7e74249cb96 Acorn 1770 DFS
# watford/DDFS-1.53.rom 16384 md5:d2b71fa664f6cdf8c24b9b304777998c Watford DDFS (DDB2)
# watford/DDFS-1.54T.rom 16384 md5:e73a0417278504a6dfac2ccd9a73e9a9 Watford DDFS (DDB3)
# opus/OPUS-DDOS-3.45.rom 16384 md5:d98316eaff56ceab4fe3bfe54d2f92b2 Opus DDOS
# opus/challenger-1.01.rom 16384 md5:67e086a11834f8cc69175b601c4e5a5f Opus Challenger
#
# BBC Master 128 MOS 3.20 (M128/3.20/):
# mos.rom 16384 md5:9087f772447038a00178488b3591347b MOS 3.20 OS
# terminal.rom 16384 md5:7e053353b78b4631c274280931d96f02 Terminal (slot f)
# view.rom 16384 md5:178d09285727d596f8863f94a2fc8dad View (slot e)
# adfs.rom 16384 md5:10f08b255d6a6e3e888631946b628f1a ADFS (slot d)
# basic4.rom 16384 md5:63a6f43cbf491533cb03ceca2d2728d4 BASIC IV (slot c)
# edit.rom 16384 md5:cb3d762eaab6130d1360e1ac575589de Edit (slot b)
# viewsht.rom 16384 md5:7d5a80a8ce929d0a0f6ca8626cb9f436 Viewsheet (slot a)
# dfs.rom 16384 md5:865a0f7a5d6f10f48798801bf514d761 DFS (slot 9)
#
# BBC Master 128 MOS 3.50 (M128/3.50/):
# mos.rom 16384 md5:d7a046b1e6a9991748cee05332f1e258 MOS 3.50 OS
# terminal.rom 16384 md5:b1fa51fd49d31224ecb7e10e6908ec01 Terminal (slot f)
# view.rom 16384 md5:1566fab2f1827fb7ba61b283b828731d View (slot e)
# adfs.rom 16384 md5:fb8ceb72c5fbd9dd80eedd10d076b1a2 ADFS (slot d)
# basic4.rom 16384 md5:e11eed95d1caba8aa9772e9001590585 BASIC IV (slot c)
# edit.rom 16384 md5:8c72c7f24567cb4a2fb15eb0b0aeb55b Edit (slot b)
# viewsht.rom 16384 md5:1bc68b7c5eba6a2de2a43c9d1d9d983b Viewsheet (slot a)
# dfs.rom 16384 md5:22c2b7f14f244da21d630a7828541c79 DFS (slot 9)
#
# Parasite processors:
# MasterTurboParasite.rom 2048 md5:83d73e0e78693bb4b43e7cb18e58d556 65C102 TUBE 1.20
# TUBE110.rom 2048 md5:a77c7946128ca0b2c5e5a66b17c99dae 6502 TUBE 1.10
#
# BBC Master Compact MOS 5.00 (MCompact/5.00/):
# mos.rom 16384 md5:5d1b635e39aa461f17db2344870dda36 MOS 5.00 OS
# utils.rom 16384 md5:4f9ded16f44278a4ca0ef4e66822e316 UTILS (slot f)
# basic4.rom 16384 md5:64b3cd52e36b5262ac6ca3a9823c6ee2 BASIC IV (slot e)
# adfs.rom 16384 md5:bfbd0a7dbbfb1f1f4ba5ac0343c1f8ce ADFS (slot d)
#
# BBC Master Compact MOS 5.10 (MCompact/5.10/):
# mos.rom 16384 md5:f65eb89c7044e328b79f2ef8e51b7fd8 MOS 5.10 OS
# utils.rom 16384 md5:48a197850113b00a1eb141fb6d3ea135 UTILS (slot f)
# basic4.rom 16384 md5:64b3cd52e36b5262ac6ca3a9823c6ee2 BASIC IV (slot e, same as 5.00)
# adfs.rom 16384 md5:c2afc1cabb135e6f2254bcf9300a9b83 ADFS (slot d)
#
# Olivetti PC 128 S / MOS I5.10C (MCompact/I5.10C/):
# mos.rom 16384 md5:5e16a38bd7fd6f07f26b5a64826e4ec6 MOS I5.10C OS
# utils.rom 16384 md5:75364aa6fd5e134a40051d9ee772df37 UTILS (slot f)
# basic4.rom 16384 md5:717df34edae5b6bf5bbd8879c0d13022 BASIC IV (slot e)
# adfs.rom 16384 md5:10f23a239dde39b7fe09d72083709e93 ADFS (slot d)
#
# ROM type system (src/beeb/include/beeb/roms.inl):
# Sideways ROMs support banked mappers: 16KB (standard), CCIWORD (32KB),
# CCIBASE (64KB), CCISPELL (128KB), PALQST/PALWAP/PALTED, ABEP, ABE,
# Trilogy (64KB), MO2 (128KB). OS ROM types: 16KB, Compact (64KB),
# MegaROM (128KB), Multi-OS (512KB with 4 banks).
#
# Memory map (src/beeb/include/beeb/type.h):
# OS ROM mapped at $C000-$FFFF (MOS big pages). Sideways ROMs in 16 banks
# at $8000-$BFFF, selected via ROMSEL register at $FE30.
notes: |
b2 is a standalone BBC Micro emulator (SDL2 + Dear ImGui). Not a libretro core.
All required ROMs are bundled in the repository under etc/roms/.
No external BIOS files need to be provided by the user.
b2 is a BBC Micro emulator by Tom Seddon. Libretro port by Zoltan Balogh.
ref: zoltanvb/b2-libretro, tom-seddon/b2
bios_files: []
Standalone: loads ROMs from etc/roms/ via GetAssetPath().
ref: tom-seddon/b2/src/b2/roms.cpp:9-10
Libretro port (experimental): GetAssetPath stubbed in
src/libretro/adapters.cpp to return relative paths. LoadFile also
stubbed (returns false). ROM loading mechanism unclear — the 256 ROM
files are in the repo but the stub suggests they may not load at runtime.
is_experimental=true in .info.
ref: zoltanvb/b2-libretro/src/libretro/adapters.cpp
256 ROM files in etc/roms/ cover: BBC Model B (OS 1.20, BASIC II),
Model B+ (B+MOS), Master 128 (MOS 3.20, 3.50), Master Compact
(MOS 5.00, 5.10, I5.10C/Olivetti), parasite processors (65C102 TUBE,
6502 TUBE), disc interfaces (Acorn 1770, Watford, Opus).
All ROMs ship with both standalone and libretro repos.
No external BIOS files needed by the user for either mode.
files: []
# 256 ROMs bundled in repo etc/roms/ — not loaded from system dir
# standalone loads via GetAssetPath("roms", path) -> etc/roms/
# libretro port has LoadFile stubbed — ROM loading mechanism TBD
# is_experimental=true, core may not fully function
# closed-source analysis note: core binary on buildbot contains
# "Retro ROM DIRECTORY" and "system_dir" strings but LoadFile stub
# returns false. needs further investigation when port matures.
+5 -5
View File
@@ -26,7 +26,7 @@ files:
sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917"
md5: "8dd7d5296a650fac7319bce665a6a53c"
source_ref: "libretro.cpp:252-256"
alt_names: ["SCPH5500.bin", "SCPH-5500.bin"]
aliases: ["SCPH5500.bin", "SCPH-5500.bin"]
# -- Region: North America (REGION_NA) --
@@ -37,7 +37,7 @@ files:
sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b"
md5: "490f666e1afb15b7362b406ed1cea246"
source_ref: "libretro.cpp:258-270"
alt_names:
aliases:
- "SCPH5501.bin"
- "SCPH-5501.bin"
- "scph5503.bin"
@@ -56,7 +56,7 @@ files:
sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0"
md5: "32736f17079d0b2b7024407c39bd3050"
source_ref: "libretro.cpp:272-282"
alt_names:
aliases:
- "SCPH5502.bin"
- "SCPH-5502.bin"
- "scph5552.bin"
@@ -72,7 +72,7 @@ files:
sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14"
md5: "c53ca5908936d412331790f4426c6c33"
source_ref: "libretro.cpp:190-196"
alt_names: ["PSXONPSP660.bin"]
aliases: ["PSXONPSP660.bin"]
notes: "override_bios=1 (psxonpsp option). Falls back to region BIOS if not found."
- name: "ps1_rom.bin"
@@ -82,5 +82,5 @@ files:
sha1: "c40146361eb8cf670b19fdc9759190257803cab7"
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
source_ref: "libretro.cpp:198-204"
alt_names: ["PS1_ROM.bin"]
aliases: ["PS1_ROM.bin"]
notes: "override_bios=2 (ps1_rom option). Falls back to region BIOS if not found."
+4 -4
View File
@@ -19,16 +19,16 @@ systems:
# Slow BK-0011M (model 4) - same ROMs as model 3
# Terak 8510/a (model 9)
#
# ROM loading (boot.c:83-116):
# ROM loading (boot.c:84-117):
# BK-0010 models use load_rom() which maps ROM into emulated memory at
# specific addresses: monitor at 0100000 (8 KB), BASIC/FOCAL at 0120000
# (24448-24576 bytes), disk controller at 0160000 (4 KB).
# BK-0011M uses load_rom11() which loads into separate ROM buffer arrays.
#
# ROM file resolution (libretro.c:1051-1108):
# Files are loaded from {system_dir}/bk/{filename} (libretro.c:724-726).
# ROM file resolution (libretro.c:1051-1094):
# Files are loaded from {system_dir}/bk/{filename} (libretro.c:720-728).
# If not found with original casing, the loader retries with lowercase
# filename (libretro.c:1074-1079).
# filename (libretro.c:1071-1081).
#
# All ROM files are required for their respective model. The core calls
# environ_cb(RETRO_ENVIRONMENT_SHUTDOWN) if any ROM file is missing.
+25 -2
View File
@@ -1,6 +1,7 @@
emulator: BlastEm
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/blastem"
upstream: "https://www.retrodev.com/blastem/"
profiled_date: "2026-03-18"
core_version: "v0.6.3-pre"
display_name: "Sega - Mega Drive - Genesis (BlastEm)"
@@ -28,7 +29,29 @@ notes: |
Sega CD / Mega CD is not supported (only a TODO comment in system.c:16).
No BIOS files are required or loaded by the libretro core.
files: []
files:
# rom.db is embedded in the libretro binary (libblastem.c:532-540,
# extern const char rom_db_data[]). The external file is an optional
# override — .info lists it as firmware0_opt=true.
# .info sha1 E5414FB1C4CC7D7F5101C07E4547316779BA3D97 does not match
# the version in our repo (sha1 02c287d1...) — rom.db changes between
# BlastEm releases.
- name: rom.db
system: sega-megadrive
required: false
hle_fallback: true
note: "ROM feature database (game-specific mapper/save config). Embedded in core, external is optional override."
source_ref: "libblastem.c:532-540 read_bundled_file()"
# TMSS ROM — only used in standalone mode with tmss-enabled model
# libretro build returns NULL for tmss.md (libblastem.c:541)
- name: tmss.md
system: sega-megadrive
required: false
mode: standalone
size: 2048
note: "TMSS startup ROM. Standalone only (models md1va6, md2va1+). Libretro core uses md1va3 (tmss off), no way to change."
source_ref: "genesis.c:1910-1923"
analysis:
tmss:
+9 -1
View File
@@ -1,6 +1,7 @@
emulator: blueMSX
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/blueMSX-libretro"
upstream: "http://bluemsx.msxblue.com/"
profiled_date: "2026-03-18"
core_version: "SVN"
display_name: "MSX/SVI/ColecoVision/SG-1000 (blueMSX)"
@@ -52,6 +53,13 @@ notes: |
C-BIOS machines work for cartridge-based games without any copyrighted BIOS.
For disk/tape support, real BIOS ROMs are required.
data_directories:
# 302 files: 296 in Machines/ (200 machine configs + ROMs) + 6 in Databases/
# buildbot source: https://buildbot.libretro.com/assets/system/blueMSX.zip
# ref: libretro.c:1118-1119 — system_dir/Machines/ + system_dir/Databases/
- ref: bluemsx
source_ref: "libretro.c:1118-1119"
files:
# ============================================================
# Shared ROMs (Machines/Shared Roms/)
+14 -13
View File
@@ -14,16 +14,17 @@ notes: |
to libretro by Ryphecha. It is a lightweight, accuracy-focused NES core.
The core loads cartridge data entirely through retro_load_game with
need_fullpath=false (libretro.cpp:129). ROM data is passed as a memory
buffer and parsed by Cartridge::load (cartridge.cpp:18-31), which detects
iNES headers (16-byte offset) and delegates to Board::load for mapper setup.
need_fullpath=false (libretro/libretro.cpp:129). ROM data is passed as a
memory buffer and parsed by Cartridge::load (nes/cartridge/cartridge.cpp:18-31),
which detects iNES headers (16-byte offset) and delegates to Board::load.
The PPU generates its palette from a hardcoded color table in libretro.cpp
(lines 20-37) with emphasis factor tables. No external palette file is loaded.
The PPU generates its palette from a hardcoded color table in
libretro/libretro.cpp:20-37 with emphasis factor tables. No external
palette file is loaded.
System::init (system.cpp:62-66) only sets up the interface pointer and
default input devices. No system ROM, BIOS, or firmware is loaded at any
stage of initialization or cartridge loading.
System::init (nes/system/system.cpp:62-66) only sets up the interface
pointer and default input devices. No system ROM, BIOS, or firmware is
loaded at any stage of initialization or cartridge loading.
The core does not call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and has no
file I/O for BIOS or firmware. FDS (Famicom Disk System) is not supported,
@@ -35,11 +36,11 @@ files: []
analysis:
bios_search:
retro_load_game: "libretro.cpp:181-211 - loads cartridge data only, no BIOS"
cartridge_load: "cartridge.cpp:18-31 - parses iNES header + ROM data"
system_init: "system.cpp:62-66 - sets interface pointer, no ROM loading"
system_power: "system.cpp:43-50 - powers subsystems, no file I/O"
interface_init: "interface.cpp:17-20 - stores derived pointer, calls system.init"
retro_load_game: "libretro/libretro.cpp:181-211 - loads cartridge data only, no BIOS"
cartridge_load: "nes/cartridge/cartridge.cpp:18-31 - parses iNES header + ROM data"
system_init: "nes/system/system.cpp:62-66 - sets interface pointer, no ROM loading"
system_power: "nes/system/system.cpp:43-50 - powers subsystems, no file I/O"
interface_init: "nes/interface/interface.cpp - stores derived pointer, calls system.init"
supported_mappers:
- NROM
- SxROM (MMC1)
+81 -56
View File
@@ -1,6 +1,7 @@
emulator: Boytacean
type: libretro
type: standalone + libretro
source: "https://github.com/joamag/boytacean"
upstream: "https://github.com/joamag/boytacean"
profiled_date: "2026-03-18"
core_version: "0.10.13"
display_name: "Nintendo - Game Boy / Color (Boytacean)"
@@ -11,65 +12,89 @@ systems:
- nintendo-gbc
notes: |
Boytacean is a Game Boy / Game Boy Color emulator written in Rust by Joao Magalhaes.
No external BIOS or boot ROM files are needed.
Boytacean is a Game Boy / Game Boy Color emulator written in Rust.
The core ships with multiple boot ROMs compiled directly into the binary as static
byte arrays in src/data.rs. For DMG mode the default is "DMG Bootix" (an open-source
boot ROM forked from SameBoy's Bootix project, 256 bytes). For CGB mode the default
is "CGB Boytacean" (a custom open-source CGB boot ROM, 2304 bytes). The original
Nintendo DMG, SGB, and CGB boot ROMs are also embedded as static arrays (DMG_BOOT,
SGB_BOOT, CGB_BOOT) but the defaults use the open-source replacements.
Libretro: boot ROMs compiled into binary as static byte arrays in
src/data.rs. load_boot_static() copies from arrays. No filesystem
access, no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. No external files.
ref: frontends/libretro/src/core.rs:402 instance.load(true)
The libretro frontend (frontends/libretro/src/core.rs) calls instance.load(true) in
retro_load_game(), which routes through load_dmg() or load_cgb() depending on the
cartridge header. These call load_boot_static() which copies one of the embedded byte
arrays into MMU memory. There is no RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY call, no
filesystem access for boot ROMs, and no core option to load external boot ROM files.
Standalone (SDL): loads boot ROMs from ./res/boot/*.bin via
load_boot_path() at gb.rs:1363-1368. 8 boot ROM files shipped in repo.
ref: frontends/sdl/src/main.rs, src/gb.rs:1341
The .info file (boytacean_libretro.info) lists no firmware entries.
Boot ROM defaults:
- DMG: BootRom::DmgBootix (gb.rs:1352) - open-source, 256 bytes
- CGB: BootRom::CgbBoytacean (gb.rs:1355) - open-source, 2304 bytes
Boot ROM selection defaults:
- DMG: BootRom::DmgBootix (gb.rs:1389) - open-source, 256 bytes
- CGB: BootRom::CgbBoytacean (gb.rs:1398) - open-source, 2304 bytes
files:
# Standalone mode loads from res/boot/ — libretro embeds all as arrays
- name: dmg_boot.bin
system: nintendo-gb
required: false
hle_fallback: true
mode: standalone
size: 256
note: "Original Nintendo DMG boot ROM"
source_ref: "gb.rs:1363, data.rs:14 (embedded as DMG_BOOT)"
All boot ROM source code lives in src/boot/, forked from SameBoy and assembled
with rgbds. The compiled binaries are then converted to Rust const arrays in data.rs.
- name: sgb_boot.bin
system: nintendo-gb
required: false
hle_fallback: true
mode: standalone
size: 256
note: "Super Game Boy boot ROM"
source_ref: "gb.rs:1364, data.rs:29 (embedded as SGB_BOOT)"
files: []
- name: dmg_bootix.bin
system: nintendo-gb
required: false
hle_fallback: true
mode: standalone
size: 256
note: "Open-source DMG boot ROM from Bootix (default)"
source_ref: "gb.rs:1365, data.rs:44 (embedded as DMG_BOOTIX)"
analysis:
embedded_boot_roms:
dmg_boot:
constant: DMG_BOOT
size: 256
description: "Original Nintendo DMG boot ROM (embedded, not default)"
source_ref: "data.rs:14-27"
sgb_boot:
constant: SGB_BOOT
size: 256
description: "Super Game Boy boot ROM (embedded, not default)"
source_ref: "data.rs:29-42"
dmg_bootix:
constant: DMG_BOOTIX
size: 256
description: "Open-source DMG boot ROM from Bootix project (default for DMG)"
source_ref: "data.rs:44-57"
mgb_bootix:
constant: MGB_BOOTIX
size: 256
description: "Open-source MGB (Game Boy Pocket) boot ROM from Bootix project"
source_ref: "data.rs:59-72"
cgb_boot:
constant: CGB_BOOT
size: 2304
description: "Original Nintendo CGB boot ROM (embedded, not default)"
source_ref: "data.rs:74-175"
cgb_boytacean:
constant: CGB_BOYTACEAN
size: 2304
description: "Custom open-source CGB boot ROM (default for CGB)"
source_ref: "data.rs:177-275"
filesystem_access: false
system_directory_used: false
boot_rom_source: "src/boot/ (assembly, forked from SameBoy)"
- name: mgb_bootix.bin
system: nintendo-gb
required: false
hle_fallback: true
mode: standalone
size: 256
note: "Open-source MGB (Pocket) boot ROM from Bootix"
source_ref: "gb.rs:1366, data.rs:59 (embedded as MGB_BOOTIX)"
- name: cgb_boot.bin
system: nintendo-gbc
required: false
hle_fallback: true
mode: standalone
size: 2304
note: "Original Nintendo CGB boot ROM"
source_ref: "gb.rs:1367, data.rs:74 (embedded as CGB_BOOT)"
- name: cgb_boytacean.bin
system: nintendo-gbc
required: false
hle_fallback: true
mode: standalone
size: 2304
note: "Custom open-source CGB boot ROM (default)"
source_ref: "gb.rs:1368, data.rs:177 (embedded as CGB_BOYTACEAN)"
- name: dmg_pyboy.bin
system: nintendo-gb
required: false
hle_fallback: true
mode: standalone
note: "PyBoy DMG boot ROM variant (in res/boot/, not embedded in data.rs)"
source_ref: "res/boot/dmg_pyboy.bin"
- name: cgb_pyboy.bin
system: nintendo-gbc
required: false
hle_fallback: true
mode: standalone
note: "PyBoy CGB boot ROM variant (in res/boot/, not embedded in data.rs)"
source_ref: "res/boot/cgb_pyboy.bin"
+120
View File
@@ -0,0 +1,120 @@
emulator: bsnes-jg
type: libretro
source: "https://github.com/libretro/bsnes-jg"
upstream: "https://github.com/libretro/bsnes-jg"
profiled_date: "2026-03-18"
core_version: "2.0.0"
display_name: "Nintendo - SNES / SFC (bsnes-jg)"
cores: [bsnes-jg]
systems:
- nintendo-snes
- nintendo-sgb
- nintendo-satellaview
- nintendo-sufami-turbo
notes: |
bsnes-jg is a fork of bsnes v115 by Rupert Carmichael, rewritten for
C++ standard library. Coprocessor firmware loaded from system_dir via
openFileCallback. SGB boot ROMs and CX4/HitachiDSP data ROM embedded.
BML game databases embedded as C++ string literals.
ref: libretro/libretro.cpp:722 RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
ref: libretro/libretro.cpp:428-470 firmware path construction (sysdir + filename)
ref: src/cartridge.cpp:774-786 openFileCallback for DSP/ST .program.rom/.data.rom
ref: src/coprocessor/icd.cpp:249,260 SGB1/SGB2 boot ROMs embedded
ref: src/cartridge.cpp:62 HitachiDSP static data ROM embedded (3072 bytes)
ref: libretro/libretro.cpp:30-33,410-416 BML databases embedded
files:
# SNES coprocessor firmware — loaded from system_dir, all optional
# Games using these coprocessors won't work without the firmware
# but most SNES games don't use coprocessors
- name: dsp1.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:428-429"
- name: dsp1.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:431-432"
- name: dsp1b.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:434-435"
- name: dsp1b.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:437-438"
- name: dsp2.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:440-441"
- name: dsp2.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:443-444"
- name: dsp3.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:446-447"
- name: dsp3.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:450-451"
- name: dsp4.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp:455"
- name: dsp4.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st010.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st010.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st011.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st011.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st018.program.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
- name: st018.data.rom
system: nintendo-snes
required: false
source_ref: "libretro/libretro.cpp"
# Embedded (no external file needed):
# SGB1BootROM[256] — src/coprocessor/icd.cpp:249
# SGB2BootROM[256] — src/coprocessor/icd.cpp:260
# hitachidspStaticDataROM[3072] — src/cartridge.cpp:62
# boards_bml — libretro/boards_bml.hpp
# SuperFamicom_bml — libretro/SuperFamicom_bml.hpp
# BSMemory_bml — libretro/BSMemory_bml.hpp
# SufamiTurbo_bml — libretro/SufamiTurbo_bml.hpp
+14 -2
View File
@@ -28,36 +28,42 @@ files:
- name: "dsp1.program.rom"
size: 6144 # 0x1800
required: false
hle_fallback: true
note: "NEC uPD7725 program ROM for DSP1. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:490-494, heuristics/super-famicom.cpp:601"
- name: "dsp1.data.rom"
size: 2048 # 0x800
required: false
hle_fallback: true
note: "NEC uPD7725 data ROM for DSP1. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
- name: "dsp1b.program.rom"
size: 6144 # 0x1800
required: false
hle_fallback: true
note: "NEC uPD7725 program ROM for DSP1B (default NEC identifier). HLE fallback available"
source_ref: "heuristics/super-famicom.cpp:606"
- name: "dsp1b.data.rom"
size: 2048 # 0x800
required: false
hle_fallback: true
note: "NEC uPD7725 data ROM for DSP1B. HLE fallback available"
source_ref: "heuristics/super-famicom.cpp:606"
- name: "dsp2.program.rom"
size: 6144 # 0x1800
required: false
hle_fallback: true
note: "NEC uPD7725 program ROM for DSP2 (Dungeon Master). HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:515-520, heuristics/super-famicom.cpp:602"
- name: "dsp2.data.rom"
size: 2048 # 0x800
required: false
hle_fallback: true
note: "NEC uPD7725 data ROM for DSP2. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
@@ -76,12 +82,14 @@ files:
- name: "dsp4.program.rom"
size: 6144 # 0x1800
required: false
hle_fallback: true
note: "NEC uPD7725 program ROM for DSP4 (Top Gear 3000). HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:522-528, heuristics/super-famicom.cpp:604-605"
- name: "dsp4.data.rom"
size: 2048 # 0x800
required: false
hle_fallback: true
note: "NEC uPD7725 data ROM for DSP4. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:498-503"
@@ -92,12 +100,14 @@ files:
- name: "st010.program.rom"
size: 49152 # 0xC000
required: false
hle_fallback: true
note: "NEC uPD96050 program ROM for ST010. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:570-574, heuristics/super-famicom.cpp:583-587"
- name: "st010.data.rom"
size: 4096 # 0x1000
required: false
hle_fallback: true
note: "NEC uPD96050 data ROM for ST010. HLE fallback available"
source_ref: "sfc/cartridge/load.cpp:578-583"
@@ -137,6 +147,7 @@ files:
- name: "cx4.data.rom"
size: 3072 # 0xC00
required: false
hle_fallback: true
note: "Hitachi HG51BS169 data ROM for Cx4 (Mega Man X2/X3). HLE fallback and built-in static ROM available"
source_ref: "sfc/cartridge/load.cpp:444-456, hitachidsp/hitachidsp.hpp:49, heuristics/super-famicom.cpp:597"
@@ -161,8 +172,9 @@ files:
- name: "BS-X.bin"
required: true
note: "BS-X Satellaview BIOS ROM. Required for .bs format Satellaview games"
source_ref: "target-libretro/libretro.cpp:948, target-libretro/program.cpp:790-799"
md5: fed4d8242cfbed61343d53d48432aced
note: "BS-X Satellaview BIOS ROM. Required for .bs games. .info md5=fed4d824, repo has 96cf17bf (Rev 1 vs original)"
source_ref: "target-libretro/libretro.cpp:948"
notes:
hle_available: true
+122
View File
@@ -0,0 +1,122 @@
emulator: bsnes 2014
type: libretro
source: "https://github.com/libretro/bsnes2014"
upstream: "https://github.com/bsnes-emu/bsnes"
profiled_date: "2026-03-18"
core_version: "v094"
display_name: "Nintendo - SNES / SFC (bsnes 2014)"
cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance]
systems:
- nintendo-snes
- nintendo-sgb
- nintendo-satellaview
- nintendo-sufami-turbo
notes: |
bsnes 2014 is based on bsnes v094. Three build profiles:
accuracy (dot-based PPU), balanced, performance (scanline PPU).
All 3 profiles use the same 18 firmware files. Profiles differ only
in PPU implementation (sfc/profile-*.hpp: CPU/SMP/DSP/PPU alternates),
not in coprocessor support. CX4/Hitachi compiled in all profiles.
.info says performance has 17 (no cx4) — this is wrong, verified in
sfc/profile-performance.hpp which only changes CPU/SMP/DSP/PPU.
Unlike modern bsnes (v115+), v094 does NOT have HLE fallback for
coprocessors. CX4 is NOT embedded — cx4.data.rom is required
externally. SGB boot ROM is NOT embedded — sgb.boot.rom required.
Firmware loaded from system_dir via file::exists() + mmapstream.
ref: target-libretro/libretro.cpp — penviron(RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY)
ref: ananke/heuristics/super-famicom.hpp — firmware name definitions
ref: ananke/super-famicom.cpp:120 — sgb.boot.rom copy
files:
# DSP coprocessor split ROMs (program + data)
- name: dsp1.program.rom
system: nintendo-snes
required: false
source_ref: "ananke/heuristics/super-famicom.hpp:381"
- name: dsp1.data.rom
system: nintendo-snes
required: false
source_ref: "ananke/heuristics/super-famicom.hpp:382"
- name: dsp1b.program.rom
system: nintendo-snes
required: false
source_ref: "ananke/heuristics/super-famicom.hpp:381"
- name: dsp1b.data.rom
system: nintendo-snes
required: false
source_ref: "ananke/heuristics/super-famicom.hpp:382"
- name: dsp2.program.rom
system: nintendo-snes
required: false
- name: dsp2.data.rom
system: nintendo-snes
required: false
- name: dsp3.program.rom
system: nintendo-snes
required: false
note: "no HLE fallback in v094 — required for SD Gundam GX"
- name: dsp3.data.rom
system: nintendo-snes
required: false
- name: dsp4.program.rom
system: nintendo-snes
required: false
- name: dsp4.data.rom
system: nintendo-snes
required: false
# CX4 (Hitachi) — NOT embedded in v094 unlike bsnes v115+
- name: cx4.data.rom
system: nintendo-snes
required: false
size: 3072
note: "Capcom CX4 coprocessor data. Required for Mega Man X2/X3. Used in all 3 profiles (.info performance is wrong). NOT embedded in v094."
source_ref: "ananke/heuristics/super-famicom.hpp:146"
# Seta coprocessors
- name: st010.program.rom
system: nintendo-snes
required: false
- name: st010.data.rom
system: nintendo-snes
required: false
- name: st011.program.rom
system: nintendo-snes
required: false
note: "no HLE fallback — required for Hayazashi Nidan Morita Shougi"
- name: st011.data.rom
system: nintendo-snes
required: false
- name: st018.program.rom
system: nintendo-snes
required: false
note: "ARM coprocessor. Required for Hayazashi Nidan Morita Shougi 2"
source_ref: "ananke/heuristics/super-famicom.hpp:475-476"
- name: st018.data.rom
system: nintendo-snes
required: false
# SGB boot ROM — NOT embedded in v094 unlike bsnes-jg/v115+
- name: sgb.boot.rom
system: nintendo-sgb
required: false
size: 256
note: "SGB boot ROM (256 bytes). NOT embedded in v094. Present in all 3 profiles."
source_ref: "ananke/heuristics/super-famicom.hpp:133, ananke/super-famicom.cpp:120"
+36
View File
@@ -0,0 +1,36 @@
emulator: bsnes C++98
type: libretro
source: "https://github.com/libretro/bsnes-libretro-cplusplus98"
upstream: "https://github.com/bsnes-emu/bsnes"
profiled_date: "2026-03-18"
core_version: "v085 (Performance)"
display_name: "Nintendo - SNES / SFC (bsnes C++98 (v085))"
cores: [bsnes_cplusplus98]
systems:
- nintendo-snes
notes: |
bsnes C++98 is bsnes v085 downgraded to C++98 for old compilers.
Performance profile only. is_experimental=true.
Firmware loading differs from newer bsnes versions:
- NEC DSP (dsp1/2/3/4) and Hitachi DSP (cx4) firmware loaded from
the SAME DIRECTORY as the ROM, not from system_dir.
- Path: dir(interface->path(Slot::Base, ".dsp")) + firmware_name
ref: snes/cartridge/markup.cpp:231
- interface->path() returns basename + hint
ref: snes/libretro/libretro.cpp path() method
- Firmware name comes from the game's XML/BML markup (root["firmware"])
NOT fixed names like dsp1.program.rom
- Files are COMBINED (program+data in one file), not split
ref: snes/cartridge/markup.cpp:243-244 reads promsize*3 + dromsize*2
.info has firmware_count=0 because firmware is loaded from ROM dir,
not from system_dir — RetroArch can't pre-populate them.
The core warns "NEC DSP firmware X is missing" if not found but
continues without the coprocessor (games using it won't work).
files: []
# firmware loaded from ROM directory, not system directory
# no files to declare for system_dir placement
+125
View File
@@ -0,0 +1,125 @@
emulator: bsnes-hd beta
type: libretro
source: "https://github.com/DerKoun/bsnes-hd"
upstream: "https://github.com/bsnes-emu/bsnes"
profiled_date: "2026-03-18"
core_version: "v10.6"
# .info says v112.v12 but repo shows Version = "10.6", SerializerVersion = "114.2"
display_name: "Nintendo - SNES / SFC (bsnes-hd beta)"
cores: [bsnes_hd_beta]
systems:
- nintendo-snes
- nintendo-sgb
- nintendo-satellaview
- nintendo-sufami-turbo
notes: |
bsnes-hd beta is bsnes ~v114 by DerKoun with widescreen and
increased color depth. Same firmware as bsnes v115.
repo Version="10.6", SerializerVersion="114.2"
ref: bsnes/emulator/emulator.hpp:34,40
SGB boot ROMs embedded in binary (icd/boot-roms.cpp:1,12).
SGB1.sfc/SGB2.sfc are SGB cartridge ROMs (not boot ROMs).
HLE available for DSP1/2/4, ST010, CX4 — LLE firmware optional.
DSP3, ST011, ST018 have no HLE — LLE firmware required for those.
ref: bsnes/sfc/coprocessor/icd/boot-roms.cpp:1,12
ref: bsnes/sfc/coprocessor/icd/icd.cpp:87,90
ref: bsnes/heuristics/super-famicom.cpp:115
files:
# Split DSP coprocessor firmware
- name: dsp1.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1b.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1b.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp2.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp2.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp3.program.rom
system: nintendo-snes
required: false
note: "no HLE — required for SD Gundam GX"
- name: dsp3.data.rom
system: nintendo-snes
required: false
- name: dsp4.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp4.data.rom
system: nintendo-snes
required: false
hle_fallback: true
# CX4 (Hitachi)
- name: cx4.data.rom
system: nintendo-snes
required: false
hle_fallback: true
size: 3072
note: "HLE available — LLE optional for Mega Man X2/X3"
# Seta coprocessors
- name: st010.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: st010.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: st011.program.rom
system: nintendo-snes
required: false
note: "no HLE — required for Hayazashi Nidan Morita Shougi"
- name: st011.data.rom
system: nintendo-snes
required: false
- name: st018.program.rom
system: nintendo-snes
required: false
note: "no HLE — required for Hayazashi Nidan Morita Shougi 2"
- name: st018.data.rom
system: nintendo-snes
required: false
# SGB cartridge ROMs (NOT boot ROMs — boot ROMs are embedded)
# sgb_bios variable set by core option bsnes_sgb_bios (libretro.cpp:280-285)
- name: SGB1.sfc
system: nintendo-sgb
required: false
md5: b15ddb15721c657d82c5bab6db982ee9
note: "SGB1 cartridge ROM. Boot ROM embedded in icd/boot-roms.cpp:1"
source_ref: "libretro.cpp:1022,1040"
- name: SGB2.sfc
system: nintendo-sgb
required: false
md5: 8ecd73eb4edf7ed7e81aef1be80031d5
note: "SGB2 cartridge ROM. Boot ROM embedded in icd/boot-roms.cpp:12"
source_ref: "libretro.cpp:1022,1040"
# Satellaview BIOS — required for .bs files
- name: BS-X.bin
system: nintendo-satellaview
required: false
note: "Satellaview BIOS. Required when loading .bs files. Core returns false if missing."
source_ref: "libretro.cpp:1054-1060"
+112
View File
@@ -0,0 +1,112 @@
emulator: bsnes-mercury
type: libretro
source: "https://github.com/libretro/bsnes-mercury"
upstream: "https://github.com/bsnes-emu/bsnes"
profiled_date: "2026-03-18"
core_version: "v094 (Mercury)"
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
systems:
- nintendo-snes
- nintendo-sgb
- nintendo-satellaview
- nintendo-sufami-turbo
notes: |
bsnes-mercury is bsnes v094 with Mercury optimizations: HLE for DSP
and Hitachi coprocessors, firmware_appended support, overclocking.
Three profiles: accuracy, balanced, performance (PPU differs, not firmware).
.info says performance has 17 fw (no cx4) but the code compiles CX4 LLE
in all profiles — cx4.data.rom works in performance too. The .info is wrong.
Core option bsnes_chip_hle (default LLE) controls HLE/LLE at runtime.
ref: target-libretro/libretro.cpp altImplementation(), "bsnes_chip_hle"
Same firmware loading as bsnes2014: system_dir via file::exists +
mmapstream. No BS-X auto-load from system_dir (subsystem only).
ref: target-libretro/libretro.cpp:245-254
HLE fallback for DSP1/1B/2/4, Hitachi/CX4, ST010.
ref: sfc/cartridge/markup.cpp:351,404,618
firmware_appended: firmware can be appended to end of ROM file.
ref: ananke/heuristics/super-famicom.hpp:83
SGB boot ROM NOT embedded (sgb.boot.rom from system_dir).
CX4 NOT embedded (cx4.data.rom from system_dir).
files:
# Same 18 files as bsnes2014 accuracy — see bsnes2014.yml for details
# DSP1-4 split (program+data), CX4, ST010-018, sgb.boot.rom
- name: dsp1.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1b.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp1b.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp2.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp2.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp3.program.rom
system: nintendo-snes
required: false
note: "no HLE — required for SD Gundam GX"
- name: dsp3.data.rom
system: nintendo-snes
required: false
- name: dsp4.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: dsp4.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: cx4.data.rom
system: nintendo-snes
required: false
hle_fallback: true
size: 3072
note: "HLE available via Mercury — LLE optional"
source_ref: "ananke/heuristics/super-famicom.hpp:146"
- name: st010.program.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: st010.data.rom
system: nintendo-snes
required: false
hle_fallback: true
- name: st011.program.rom
system: nintendo-snes
required: false
note: "no HLE — required for Hayazashi Nidan Morita Shougi"
- name: st011.data.rom
system: nintendo-snes
required: false
- name: st018.program.rom
system: nintendo-snes
required: false
- name: st018.data.rom
system: nintendo-snes
required: false
- name: sgb.boot.rom
system: nintendo-sgb
required: false
size: 256
note: "SGB boot ROM. NOT embedded in v094."
source_ref: "ananke/heuristics/super-famicom.hpp:133"
+2 -1
View File
@@ -1,6 +1,7 @@
emulator: Cannonball
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/cannonball"
upstream: "https://github.com/djyt/cannonball"
profiled_date: "2026-03-18"
core_version: "1.0"
display_name: "Cannonball"
+45 -2
View File
@@ -1,6 +1,7 @@
emulator: Caprice32
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/libretro-cap32"
upstream: "https://github.com/ColinPitrat/caprice32"
profiled_date: "2026-03-18"
core_version: "v4.2.0"
display_name: "Amstrad - CPC/GX4000 (Caprice32)"
@@ -42,7 +43,49 @@ notes: |
CP/M support loads a pre-built snapshot (cpm.h) into memory via
snapshot_load_mem() in slots.c:87.
files: []
files:
# Standalone loads from rom_path/ — libretro embeds all as C arrays
# ref: ColinPitrat/caprice32/src/cap32.cpp:1006-1007,1159-1171
- name: cpc464.rom
system: amstrad-cpc
required: true
mode: standalone
size: 32768
note: "CPC 464 OS + BASIC 1.0"
source_ref: "caprice32/src/cap32.cpp:1006, rom/cpc464.rom"
- name: cpc664.rom
system: amstrad-cpc
required: false
mode: standalone
size: 32768
note: "CPC 664 OS + BASIC 1.0"
source_ref: "caprice32/rom/cpc664.rom"
- name: cpc6128.rom
system: amstrad-cpc
required: false
mode: standalone
size: 32768
note: "CPC 6128 OS + BASIC 1.1"
source_ref: "caprice32/rom/cpc6128.rom"
- name: amsdos.rom
system: amstrad-cpc
required: false
mode: standalone
size: 16384
note: "AMSDOS disc ROM (sideways slot 7)"
source_ref: "caprice32/src/cap32.cpp:1166"
- name: system.cpr
system: amstrad-cpc
required: false
mode: standalone
note: "CPC+ system cartridge"
source_ref: "caprice32/rom/system.cpr"
- name: MF2.rom
system: amstrad-cpc
required: false
mode: standalone
note: "Multiface 2 ROM"
source_ref: "caprice32/rom/MF2.rom"
platform_details:
bios_mapping:
+32 -5
View File
@@ -1,8 +1,35 @@
emulator: "cdi2015"
type: alias
alias_of: "same_cdi"
emulator: CDi 2015
type: libretro
source: "https://github.com/libretro/mame2015-libretro"
upstream: "https://github.com/mamedev/mame"
profiled_date: "2026-03-18"
core_version: "0.160"
display_name: "Philips CDi (CDi 2015)"
note: "This core uses the same BIOS/firmware as same_cdi. See emulators/same_cdi.yml for details."
files: []
cores: [cdi2015]
systems:
- philips-cdi
notes: |
MAME 0.160 compiled with SUBTARGET=cdi (CDi driver only).
ref: libretro-super/rules.d/core-rules.sh — SUBTARGET=cdi
source: libretro/mame2015-libretro
Loads cdimono1.zip from system_dir.
ref: src/osd/retro/retromain.c:1989 —
sprintf(tmp_dir, "%s%ccdimono1.zip", retro_system_directory, slash)
If not found as ZIP, falls back to system_dir as rompath.
ref: src/osd/retro/retromain.c:1991
ROM_START(cdimono1) in src/mame/drivers/cdi.c:421 defines:
cdi200.rom (0x80000, CRC 279683ca, SHA1 53360a1f21ddac952e95306ced64186a3fc0b93e)
cdic.bin (MCU, undumped)
slave.bin (MCU, undumped)
The ZIP contains the MAME romset for cdimono1 — user provides it.
files:
- name: cdimono1.zip
system: philips-cdi
required: true
note: "MAME cdimono1 romset ZIP. Contains cdi200.rom + MCU dumps."
source_ref: "src/osd/retro/retromain.c:1989, src/mame/drivers/cdi.c:421"
+26 -6
View File
@@ -1,9 +1,29 @@
emulator: "chimerasnes"
type: alias
alias_of: "snes9x"
emulator: ChimeraSNES
type: libretro
source: "https://github.com/jamsilva/chimerasnes"
upstream: "https://github.com/snes9xgit/snes9x"
profiled_date: "2026-03-18"
core_version: ""
display_name: "Nintendo - SNES / SFC (ChimeraSNES)"
profiled_date: "2026-03-18"
display_name: "Nintendo - SNES / SFC (ChimeraSNES)"
note: "This core uses the same BIOS/firmware as snes9x. See emulators/snes9x.yml for details."
cores: [chimerasnes]
systems:
- nintendo-snes
notes: |
Fork of Snes9x ~2005, optimized for slow hardware.
NOT identical to snes9x — different firmware behavior.
All coprocessor data is HLE with static ROM tables embedded:
DSP1: DSP1ROM[1024] in source/dsp1.c:6
DSP3: DSP3_DataROM[1024] in source/dsp3.c:7
No external DSP/ST/CX4 firmware files needed.
BS-X: path constructed in source/bsx.c:873 as romdir/BS-X.bios
(relative to ROM directory, NOT system_dir). No
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY for firmware loading.
firmware_count absent in .info (= 0). Confirmed in source.
files: []
# all coprocessors HLE with embedded data
# BS-X.bios loaded from ROM directory, not system_dir
+27 -46
View File
@@ -1,49 +1,54 @@
emulator: Citra / Lime3DS / Azahar
emulator: Citra
type: standalone + libretro
source: "https://github.com/azahar-emu/azahar"
logo: "https://raw.githubusercontent.com/wheremyfoodat/citra/master/dist/citra.svg"
source: "https://github.com/libretro/citra"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra)"
cores: [citra]
systems: [nintendo-3ds]
notes: |
Citra (now Azahar, formerly Lime3DS) uses HLE for most system services,
so many files are optional. AES keys are the most important for decrypting
games and system data. Shared font has a built-in fallback.
File locations relative to user dir: sysdata/ for keys/boot/font/otp/seeddb,
Citra 3DS emulator (pre-Azahar). Data dir: citra-emu.
HLE for most services — files optional. AES keys most important.
File locations: sysdata/ for keys/boot/font/seeddb,
nand/ for NAND filesystem, nand/private/ for movable.sed.
Legacy data dirs: citra-emu, lime3ds-emu -> azahar-emu.
ref: src/common/common_paths.h:67-70
Key file: aes_keys.txt (NOT keys.txt — that's Azahar).
ref: src/common/common_paths.h:68
Azahar fork: see emulators/azahar.yml (uses keys.txt, data dir azahar-emu).
citra_canary: same repo, see emulators/citra_canary.yml.
files:
# --- sysdata/ directory ---
- name: "keys.txt"
path: "sysdata/keys.txt"
- name: "aes_keys.txt"
path: "sysdata/aes_keys.txt"
description: "AES encryption keys"
required: false
source_ref: "src/common/common_paths.h:83, src/core/hw/aes/key.cpp:291"
notes: "Contains AES key slots (X/Y/N types) for game decryption; has built-in encrypted fallback keys (key.cpp:300-306)"
source_ref: "src/common/common_paths.h:68, src/core/hw/aes/key.cpp LoadPresetKeys()"
notes: "Named aes_keys.txt in libretro/citra (keys.txt in Azahar)"
- name: "boot9.bin"
path: "sysdata/boot9.bin"
description: "ARM9 bootrom"
required: false
source_ref: "src/common/common_paths.h:84"
notes: "3DS ARM9 boot ROM; used for hardware key derivation"
source_ref: "src/common/common_paths.h:69"
- name: "sector0x96.bin"
path: "sysdata/sector0x96.bin"
description: "Secret sector from NAND"
required: false
source_ref: "src/common/common_paths.h:85"
notes: "OTP-encrypted sector 0x96 from 3DS NAND; used for key derivation"
source_ref: "src/common/common_paths.h:70"
- name: "shared_font.bin"
path: "sysdata/shared_font.bin"
description: "System shared font"
required: false
source_ref: "src/common/common_paths.h:82, src/core/hle/service/apt/apt.cpp:284"
notes: "Fallback if NAND system archive not available; built-in font data also exists (archive_ncch.cpp:28,189)"
hle_fallback: true
source_ref: "src/common/common_paths.h:67"
notes: "HLE fallback if missing"
- name: "seeddb.bin"
path: "sysdata/seeddb.bin"
@@ -52,34 +57,10 @@ files:
source_ref: "src/core/file_sys/seed_db.cpp:15"
notes: "Required for some seed-encrypted games (9.6+ titles)"
- name: "otp.bin"
path: "sysdata/otp.bin"
description: "One-time programmable memory dump"
required: false
source_ref: "src/core/hw/unique_data.cpp:214"
notes: "Console-unique OTP data; used for hardware key derivation"
# --- nand/ directory ---
- name: "movable.sed"
path: "nand/private/movable.sed"
description: "Movable unique key"
required: false
source_ref: "src/core/hw/unique_data.cpp:218"
notes: "Console-unique key seed for SD/NAND encryption; signature verified at load (unique_data.cpp:197)"
- name: "SecureInfo_A"
path: "nand/rw/sys/SecureInfo_A"
description: "Console serial and region info"
required: false
source_ref: "src/core/hw/unique_data.cpp:206"
notes: "Contains console serial number and region data"
- name: "LocalFriendCodeSeed_B"
path: "nand/rw/sys/LocalFriendCodeSeed_B"
description: "Friend code seed"
required: false
source_ref: "src/core/hw/unique_data.cpp:210"
notes: "Used for friend code generation"
# otp.bin, movable.sed, SecureInfo_A, LocalFriendCodeSeed_B
# do NOT exist in libretro/citra — they are Azahar-only features
# (src/core/hw/unique_data.cpp exists in azahar, not in libretro/citra)
# See emulators/azahar.yml for those files.
# --- NAND system archives (installed titles) ---
- name: "shared font (system archive)"
+44
View File
@@ -0,0 +1,44 @@
emulator: Citra 2018
type: libretro
source: "https://github.com/libretro/citra2018"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra 2018)"
cores: [citra2018]
systems:
- nintendo-3ds
notes: |
Citra 2018 is a 2018 snapshot of the Citra 3DS emulator.
Older than current Azahar/Citra — fewer firmware files.
Data dir: citra-emu (not azahar-emu).
ref: src/common/common_paths.h:24
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
ref: src/citra_libretro/environment.cpp:107
Loads from sysdata/:
aes_keys.txt (not keys.txt like current Citra)
shared_font.bin
ref: src/core/hw/aes/key.cpp:72-73, src/core/hle/service/apt/apt.cpp:174
Does NOT load (added in later versions):
boot9.bin, sector0x96.bin, seeddb.bin, otp.bin,
movable.sed, SecureInfo_A, LocalFriendCodeSeed_B
firmware_count absent in .info (= 0). Files are optional (HLE).
files:
- name: aes_keys.txt
system: nintendo-3ds
required: false
note: "AES encryption keys (named aes_keys.txt, not keys.txt like current Citra)"
source_ref: "src/core/hw/aes/key.cpp:72-73"
- name: shared_font.bin
system: nintendo-3ds
required: false
hle_fallback: true
note: "system shared font, HLE fallback if missing"
source_ref: "src/core/hle/service/apt/apt.cpp:174"
+63
View File
@@ -0,0 +1,63 @@
emulator: Citra Canary
type: libretro
source: "https://github.com/libretro/citra"
upstream: "https://github.com/citra-emu/citra"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Nintendo - 3DS (Citra Canary/Experimental)"
cores: [citra_canary]
systems:
- nintendo-3ds
notes: |
Same repo as citra (libretro/citra master branch). Canary = experimental.
Data dir: citra-emu (not azahar-emu — this is pre-Azahar Citra).
ref: src/common/common_paths.h
Key file: aes_keys.txt (NOT keys.txt like Azahar).
ref: src/common/common_paths.h:68
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
ref: src/citra_libretro/environment.cpp:149
Files in sysdata/:
aes_keys.txt — AES encryption keys (common_paths.h:68)
boot9.bin — ARM9 bootrom (common_paths.h:69)
sector0x96.bin — secret NAND sector (common_paths.h:70)
shared_font.bin — system shared font, HLE fallback (common_paths.h:67)
seeddb.bin — game seed database (file_sys/seed_db.cpp:15)
NOTE: citra.yml profiles Azahar which uses keys.txt (not aes_keys.txt).
This core uses the pre-Azahar naming convention.
files:
- name: aes_keys.txt
system: nintendo-3ds
required: false
note: "AES keys (named aes_keys.txt in pre-Azahar Citra)"
source_ref: "src/common/common_paths.h:68, src/core/hw/aes/key.cpp"
- name: boot9.bin
system: nintendo-3ds
required: false
note: "ARM9 bootrom for key derivation"
source_ref: "src/common/common_paths.h:69"
- name: sector0x96.bin
system: nintendo-3ds
required: false
note: "OTP-encrypted NAND sector for key derivation"
source_ref: "src/common/common_paths.h:70"
- name: shared_font.bin
system: nintendo-3ds
required: false
hle_fallback: true
note: "system shared font, HLE fallback if missing"
source_ref: "src/common/common_paths.h:67"
- name: seeddb.bin
system: nintendo-3ds
required: false
note: "game seed database for seed-encrypted games (9.6+ titles)"
source_ref: "src/core/file_sys/seed_db.cpp:15"
+3 -2
View File
@@ -1,6 +1,7 @@
emulator: ClownMDEmu
type: libretro
source: "https://github.com/libretro/clownmdemu-libretro"
type: standalone + libretro
source: "https://github.com/Clownacy/clownmdemu-libretro"
upstream: "https://github.com/Clownacy/clownmdemu"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Sega - MD/CD (ClownMDEmu)"
+2 -1
View File
@@ -1,6 +1,7 @@
emulator: Daphne
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/daphne"
upstream: "https://github.com/DirtBagXon/hypseus-singe"
profiled_date: "2026-03-18"
core_version: "Git"
display_name: "Arcade (Daphne)"
+4 -1
View File
@@ -4,7 +4,7 @@ source: "https://github.com/libretro/desmume"
profiled_date: "2026-03-18"
core_version: "SVN"
display_name: "Nintendo - DS (DeSmuME)"
cores: [desmume, desmume2015]
cores: [desmume]
systems: [nintendo-ds]
notes: |
@@ -24,6 +24,7 @@ files:
system: nintendo-ds
description: "ARM7 BIOS"
required: false
hle_fallback: true
size: 16384
source_ref: "desmume/src/NDSSystem.cpp:2178-2182, frontend/libretro/libretro.cpp:763"
notes: "HLE fallback covers all SWI calls; native file needed for firmware boot and SWI-from-BIOS accuracy"
@@ -32,6 +33,7 @@ files:
system: nintendo-ds
description: "ARM9 BIOS"
required: false
hle_fallback: true
size: 4096
source_ref: "desmume/src/NDSSystem.cpp:2236-2239, frontend/libretro/libretro.cpp:764"
notes: "HLE fallback covers all SWI calls; native file needed for firmware boot and logo comparison (Pal Park)"
@@ -40,5 +42,6 @@ files:
system: nintendo-ds
description: "NDS firmware image"
required: false
hle_fallback: true
source_ref: "desmume/src/NDSSystem.cpp:2653-2655, frontend/libretro/libretro.cpp:765"
notes: "Dummy firmware generated when absent; native firmware needed for boot animation, wifi config, user settings"
+17
View File
@@ -0,0 +1,17 @@
emulator: DeSmuME 2015
type: libretro
source: "https://github.com/libretro/desmume2015"
profiled_date: "2026-03-19"
core_version: "SVN (2015 snapshot)"
display_name: "Nintendo - DS (DeSmuME 2015)"
cores: [desmume2015]
systems: [nintendo-ds]
exclusion_note: ".info declares firmware_count=3 but code never loads external BIOS (desmume_use_external_bios absent)"
notes: |
Frozen 2015 snapshot of DeSmuME. The external BIOS loading feature
(desmume_use_external_bios) does NOT exist in this version.
Verified: libretro.cpp has no bios7/bios9/firmware path construction.
ref: desmume2015/desmume/src/frontend/libretro/libretro.cpp
files: []
+20 -5
View File
@@ -6,9 +6,24 @@ core_version: "v1.0"
display_name: "Dinothawr"
cores: [dinothawr]
systems: []
notes: |
Puzzle game by the libretro team. Push blocks on ice.
Game data (TMX levels, sprites, music) needed for the core to work.
Two loading modes:
1. Load dinothawr.game as content (data in content directory)
2. supports_no_game=true: loads from system_dir/dinothawr/
ref: libretro.cpp:267-271 —
game_path_dir = join(system_dir, "/", "dinothawr")
game_path = join(game_path_dir, "/", "dinothawr.game")
Buildbot provides Dinothawr.zip via Core System Files Downloader.
ref: buildbot.libretro.com/assets/system/Dinothawr.zip
data_directories:
- ref: dinothawr
source_ref: "libretro.cpp:270-271"
files: []
notes: >
Puzzle game developed by the libretro team as a reference libretro core.
Push blocks on ice to solve puzzles. Game data (maps, sprites, music)
ships in the libretro repo and is loaded as content.
No BIOS, firmware, or system directory files required.
# no BIOS/firmware — game data loaded via data_directories or content
+38 -5
View File
@@ -1,8 +1,41 @@
emulator: "dirksimple"
type: alias
alias_of: "daphne"
profiled_date: "2026-03-18"
emulator: DirkSimple
type: standalone + libretro
source: "https://github.com/icculus/DirkSimple"
upstream: "https://github.com/icculus/DirkSimple"
profiled_date: "2026-03-19"
core_version: "0.2"
display_name: "Laserdisc arcade game (DirkSimple)"
note: "This core uses the same BIOS/firmware as daphne. See emulators/daphne.yml for details."
cores: [dirksimple]
systems:
- laserdisc-arcade
notes: |
DirkSimple by Ryan C. Gordon (icculus). Plays laserdisc arcade games
via Lua scripts + Ogg Theora video. NOT related to Daphne — completely
different architecture.
Libretro port loads from system_dir/DirkSimple/.
ref: dirksimple_libretro.c:782,795 —
sysdir from RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
basedir = sysdir + "/DirkSimple/"
DirkSimple_startup(basedir, info->path, ...) at line 798
Standalone loads from data/ in the binary's directory.
ref: README.md — "data directory must be included in same directory as binary"
Game data in data/games/<gamename>/game.lua + assets (PNG, WAV).
User provides the OGV laserdisc video as content.
Supported games: Dragon's Lair (lair), Cliff Hanger (cliff).
10 data files in the repo (game.lua scripts, sprites, sounds).
Buildbot provides DirkSimple.zip via Core System Files Downloader.
ref: buildbot.libretro.com/assets/system/DirkSimple.zip
data_directories:
- ref: dirksimple
source_ref: "dirksimple_libretro.c:795"
files: []
# no BIOS/firmware — game data via data_directories
# user provides OGV video as content
+152
View File
@@ -22,6 +22,7 @@ files:
path: "GC/USA/IPL.bin"
size: 2097152 # 0x200000 (2 MB)
required: false
hle_fallback: true
note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts"
source_ref: "Source/Core/Common/CommonPaths.h:139, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:108"
@@ -29,6 +30,7 @@ files:
path: "GC/EUR/IPL.bin"
size: 2097152
required: false
hle_fallback: true
note: "GameCube PAL boot ROM"
source_ref: "Source/Core/Core/Config/MainSettings.cpp:744-750"
@@ -36,6 +38,7 @@ files:
path: "GC/JAP/IPL.bin"
size: 2097152
required: false
hle_fallback: true
note: "GameCube NTSC-J boot ROM"
source_ref: "Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:185"
@@ -47,6 +50,7 @@ files:
path: "GC/dsp_rom.bin"
size: 8192 # 0x2000 (DSP_IROM_BYTE_SIZE)
required: false
hle_fallback: true
note: "DSP instruction ROM for LLE audio. Free replacement included with Dolphin, real dump improves accuracy"
known_hash_adler32: "0x66f334fe" # official Nintendo ROM
source_ref: "Source/Core/Common/CommonPaths.h:136, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:106-117"
@@ -55,6 +59,7 @@ files:
path: "GC/dsp_coef.bin"
size: 4096 # 0x1000 (DSP_COEF_BYTE_SIZE)
required: false
hle_fallback: true
note: "DSP coefficient ROM for LLE audio and HLE polyphase resampling. Free replacement included"
known_hash_adler32: "0xf3b93527" # official Nintendo ROM
source_ref: "Source/Core/Common/CommonPaths.h:137, Source/Core/Core/DSP/DSPCore.cpp:32-33, Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp:55-62"
@@ -67,6 +72,7 @@ files:
path: "GC/font_western.bin"
size: 9589 # 0x2575
required: false
hle_fallback: true
note: "Windows-1252 font for GC/Wii text rendering. Free alternative bundled, real one from IPL dump preferred"
source_ref: "Source/Core/Common/CommonPaths.h:133, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130,202-239"
@@ -74,6 +80,7 @@ files:
path: "GC/font_japanese.bin"
size: 303693 # 0x4A24D
required: false
hle_fallback: true
note: "Shift-JIS font for Japanese text. Free alternative bundled, real one from IPL dump preferred"
source_ref: "Source/Core/Common/CommonPaths.h:134, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:129,234"
@@ -82,6 +89,7 @@ files:
- name: "gba_bios.bin"
path: "GBA/gba_bios.bin"
required: false
hle_fallback: true
note: "GBA BIOS for GC-GBA link feature (uses integrated mGBA). Path configurable in settings"
source_ref: "Source/Core/Common/CommonPaths.h:145, Source/Core/Core/HW/GBACore.cpp:346-363"
@@ -92,6 +100,7 @@ files:
- name: "SYSCONF"
path: "Wii/shared2/sys/SYSCONF"
required: false
hle_fallback: true
note: "Wii system configuration. Auto-generated by Dolphin, can be imported from NAND backup"
source_ref: "Source/Core/Common/CommonPaths.h:118, Source/Core/Common/FileUtil.cpp:900"
@@ -99,6 +108,7 @@ files:
path: "Wii/title/00000001/00000002/data/setting.txt"
size: 256
required: false
hle_fallback: true
note: "Wii region/language settings. Auto-generated by Dolphin during Wii boot emulation"
source_ref: "Source/Core/Common/CommonPaths.h:153, Source/Core/Core/Boot/Boot_BS2Emu.cpp:384-460"
@@ -106,6 +116,7 @@ files:
- name: "nand.bin"
path: null # user-selected via file dialog
required: false
hle_fallback: true
note: "BootMii NAND backup. Can be imported to populate Wii NAND with channels, saves, system menu"
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:26-39,42-89"
@@ -113,6 +124,7 @@ files:
path: null # user-selected, or appended to nand.bin
size: 1024 # 0x400 (NAND_KEYS_SIZE)
required: false
hle_fallback: true
note: "OTP/SEEPROM dump (Wii encryption keys). Needed if not appended to nand.bin for NAND import"
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:19,76-88, Source/Core/DiscIO/NANDImporter.h:28"
@@ -120,6 +132,7 @@ files:
- name: "WiiSD.raw"
path: "Load/WiiSD.raw"
required: false
hle_fallback: true
note: "Virtual SD card image for Wii homebrew. Auto-created by Dolphin, supports SD/SDHC up to 4GB"
source_ref: "Source/Core/Common/CommonPaths.h:150"
@@ -127,6 +140,7 @@ files:
- name: "codehandler.bin"
path: null # in Sys directory, shipped with Dolphin
required: false
hle_fallback: true
note: "Gecko/Ocarina cheat code handler. Shipped with Dolphin in Sys/, not user-supplied"
source_ref: "Source/Core/Common/CommonPaths.h:155, Source/Core/Core/GeckoCode.cpp:120"
@@ -134,6 +148,7 @@ files:
- name: "Wii System Menu"
path: null # installed to NAND via WAD import
required: false
hle_fallback: true
note: "Wii System Menu WAD. Installed to NAND via Tools > Install WAD, needed for Wii Menu boot"
source_ref: "Source/Core/DolphinQt/MainWindow.cpp:1581-1583, Source/Core/DolphinQt/MenuBar.cpp:1174-1188"
@@ -141,21 +156,151 @@ files:
- name: "clientca.pem"
path: "Wii/clientca.pem"
required: false
hle_fallback: true
note: "SSL client certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:201-285"
- name: "clientcakey.pem"
path: "Wii/clientcakey.pem"
required: false
hle_fallback: true
note: "SSL client private key. Auto-extracted from IOS13 content during NAND import"
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:237"
- name: "rootca.pem"
path: "Wii/rootca.pem"
required: false
hle_fallback: true
note: "SSL root CA certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:238"
# -- Realtek Bluetooth firmware (Wiimote passthrough) --
# Required for real Wiimote connectivity via USB Bluetooth adapters with Realtek chipsets.
# Dolphin can auto-download these from gitlab.com/kernel-firmware/linux-firmware.
# Placed in Load/Firmware/rtl_bt/ (standalone) or User/Load/Firmware/rtl_bt/ (libretro save dir).
# Each device needs _fw.bin (required) and _config.bin (optional, some devices).
# ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:382-425,427-481
- name: "rtl8723a_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8723a_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8723A BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:387"
- name: "rtl8723b_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8723B BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:389"
- name: "rtl8723d_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8723d_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8723D BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:391"
- name: "rtl8761a_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8761A BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:393"
- name: "rtl8761bu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8761bu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8761BU BT firmware for Wiimote passthrough (most common USB dongle)"
source_ref: "RealtekFirmwareLoader.cpp:395"
- name: "rtl8821a_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8821a_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8821A BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:397"
- name: "rtl8821c_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8821c_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8821C BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:399"
- name: "rtl8822b_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8822B BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:403"
- name: "rtl8822cu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8822CU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:401"
- name: "rtl8851bu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8851bu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8851BU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:405"
- name: "rtl8852au_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8852au_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8852AU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:407"
- name: "rtl8852bu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8852bu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8852BU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:409"
- name: "rtl8852cu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8852cu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8852CU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:411"
- name: "rtl8852btu_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8852btu_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8852BT/8852BE-VT BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:413"
- name: "rtl8922au_fw.bin"
path: "Load/Firmware/rtl_bt/rtl8922au_fw.bin"
required: false
hle_fallback: true
mode: standalone
note: "Realtek 8922AU BT firmware for Wiimote passthrough"
source_ref: "RealtekFirmwareLoader.cpp:415"
notes:
hle_available: true
hle_note: >
@@ -184,3 +329,10 @@ notes:
Wii NAND content (channels, saves, system menu) is managed by Dolphin internally.
Users can import a BootMii NAND backup (nand.bin + optional keys.bin) to populate it.
Most Wii games do not require a real NAND dump.
bt_passthrough_note: >
Bluetooth passthrough allows connecting real Wiimotes via USB Bluetooth adapters.
Realtek chipsets (very common) require firmware files in Load/Firmware/rtl_bt/.
Dolphin can auto-download these from kernel-firmware/linux-firmware on GitLab.
15 device families supported (8723A/B/D, 8761A/BU, 8821A/C, 8822B/CU, 8851BU,
8852AU/BU/CU/BTU, 8922AU). Each needs _fw.bin (required) + _config.bin (optional).
ref: RealtekFirmwareLoader.cpp:75-179 (device IDs), 382-420 (firmware names)
+1
View File
@@ -1,5 +1,6 @@
emulator: "Dolphin Launcher"
type: launcher
exclusion_note: "stub core calls standalone Dolphin — all BIOS in Dolphin's own directory"
source: "https://github.com/RobLoach/libretro-dolphin-launcher"
profiled_date: "2026-03-18"
core_version: "1.2.0"
+183 -14
View File
@@ -1,25 +1,37 @@
emulator: DOSBox-core
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/dosbox-core"
profiled_date: "2026-03-18"
upstream: "https://github.com/dosbox-staging/dosbox-staging"
profiled_date: "2026-03-19"
core_version: "SVN"
display_name: "DOS (DOSBox-core)"
cores: [dosbox_core]
systems: [dos]
verification: sha1
notes: >
notes: |
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
Unlike DOSBox Pure, this core expects MT-32 ROMs with exact filenames
directly in the system directory (no recursive scan, no ZIP support).
The mt32.romdir config option is set to the system directory by the
libretro frontend. CM-32L is the default emulated hardware type.
FluidSynth support reads .sf2/.sf3/.dls/.gig from system/soundfonts/.
BASSMIDI support reads .sf2/.sfz from system/soundfonts/ but also
requires the BASS and BASSMIDI shared libraries (downloaded separately
from https://www.un4seen.com) placed in the system directory.
Uses bundled MUNT (mt32emu) for MT-32 emulation, bundled FluidSynth
for SF2 playback. BASSMIDI is optional and loaded at runtime via dlopen.
The .info file declares firmware_count=10 (4 ROMs + 6 BASS libs).
Libretro mode:
MT-32 ROMs loaded by exact filename from system directory.
mt32.romdir = system_dir (libretro.cpp:652). CM-32L is default type.
ref: src/gui/midi_mt32.cpp:35,51-66
FluidSynth reads .sf2/.sf3/.dls/.gig from system/soundfonts/.
ref: libretro/src/libretro.cpp:1086-1097
BASSMIDI reads .sf2/.sfz from system/soundfonts/, requires BASS +
BASSMIDI shared libs in system dir (dlopen'd at runtime).
ref: libretro/src/midi_bassmidi.cpp:232-254
.info declares firmware_count=10 (4 ROMs + 6 BASS libs).
Standalone mode (DOSBox Staging):
MT-32 ROMs identified by SHA1 hash (MUNT), not filename. Any file in
mt32-roms/ dir scanned and matched. Split ROM pairs supported (_a+_b).
ref: dosbox-staging src/midi/mt32.cpp:109-148 (ROM defs), 470-484 (dir scan)
Default dir: config_dir/mt32-roms/ (dosbox.h:173)
Models: MT-32 v1.04-1.07, BlueRidge, v2.03-2.07, CM-32L v1.00-1.02, CM-32LN v1.00
Sound Canvas (SC-55/SC-155/SC-88) emulation with soundcanvas-roms/ dir.
ref: src/midi/soundcanvas.cpp, dosbox.h:174
SoundFonts in config_dir/soundfonts/ (dosbox.h:175)
ref: src/midi/fluidsynth.cpp:68-69,211
files:
# -- MT-32 Control ROM --
@@ -29,6 +41,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.04"
required: false
hle_fallback: true
size: 65536
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
source_ref: "midi_mt32.cpp:55"
@@ -36,6 +49,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.05"
required: false
hle_fallback: true
size: 65536
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
source_ref: "midi_mt32.cpp:55"
@@ -43,6 +57,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.06"
required: false
hle_fallback: true
size: 65536
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
source_ref: "midi_mt32.cpp:55"
@@ -50,6 +65,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.07"
required: false
hle_fallback: true
size: 65536
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
source_ref: "midi_mt32.cpp:55, dosbox_core_libretro.info:firmware0"
@@ -58,6 +74,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control BlueRidge"
required: false
hle_fallback: true
size: 65536
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
source_ref: "midi_mt32.cpp:55"
@@ -67,6 +84,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.03 (new MT-32)"
required: false
hle_fallback: true
size: 131072
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
source_ref: "midi_mt32.cpp:55"
@@ -74,6 +92,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.04"
required: false
hle_fallback: true
size: 131072
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
source_ref: "midi_mt32.cpp:55"
@@ -81,6 +100,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.06"
required: false
hle_fallback: true
size: 131072
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
source_ref: "midi_mt32.cpp:55"
@@ -88,6 +108,7 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.07"
required: false
hle_fallback: true
size: 131072
sha1: "47b52adefedaec475c925e54340e37673c11707c"
source_ref: "midi_mt32.cpp:55"
@@ -98,6 +119,7 @@ files:
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
source_ref: "midi_mt32.cpp:53"
@@ -105,6 +127,7 @@ files:
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.02"
required: false
hle_fallback: true
size: 65536
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
source_ref: "midi_mt32.cpp:53, dosbox_core_libretro.info:firmware2"
@@ -115,6 +138,7 @@ files:
- name: "MT32_PCM.ROM"
description: "MT-32 PCM ROM"
required: false
hle_fallback: true
size: 524288
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
source_ref: "midi_mt32.cpp:66, dosbox_core_libretro.info:firmware1"
@@ -123,11 +147,150 @@ files:
- name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM"
required: false
hle_fallback: true
size: 1048576
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
source_ref: "midi_mt32.cpp:64, dosbox_core_libretro.info:firmware3"
notes: "pairs with MT-32 v2.x or CM-32L control ROMs (md5: 08cdcfa0ed93e9cb16afa76e6ac5f0a4)"
# -- CM-32LN / CM-500 / LAPC-N Control ROM (standalone) --
# Supported by MUNT (ROMInfo.cpp:77) but dosbox-core libretro only loads
# MT32_CONTROL.ROM or CM32L_CONTROL.ROM by exact name. Standalone DOSBox
# Staging identifies this ROM by SHA1 hash scan.
- name: "CM32LN_CONTROL.ROM"
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
mode: standalone
source_ref: "ROMInfo.cpp:77, dosbox-staging src/midi/mt32.cpp:145,242"
# -- Split ROM pairs (standalone mode) --
# MUNT supports split Control ROMs (_a + _b, 32KB each, interleaved) and
# split PCM ROMs (_l + _h, half-size each, appended).
# Only useful in standalone mode with SHA1 scan. Libretro mode needs full ROMs.
# ref: ROMInfo.cpp:56-70 (control splits), 79-84 (PCM splits)
- name: "MT-32 Control v1.04 half A"
description: "MT-32 Control v1.04 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "9cd4858014c4e8a9dff96053f784bfaac1092a2e"
mode: standalone
source_ref: "ROMInfo.cpp:56"
- name: "MT-32 Control v1.04 half B"
description: "MT-32 Control v1.04 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "fe8db469b5bfeb37edb269fd47e3ce6d91014652"
mode: standalone
source_ref: "ROMInfo.cpp:57"
- name: "MT-32 Control v1.05 half A"
description: "MT-32 Control v1.05 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "57a09d80d2f7ca5b9734edbe9645e6e700f83701"
mode: standalone
source_ref: "ROMInfo.cpp:59"
- name: "MT-32 Control v1.05 half B"
description: "MT-32 Control v1.05 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "52e3c6666db9ef962591a8ee99be0cde17f3a6b6"
mode: standalone
source_ref: "ROMInfo.cpp:60"
- name: "MT-32 Control v1.06 half A"
description: "MT-32 Control v1.06 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "cc83bf23cee533097fb4c7e2c116e43b50ebacc8"
mode: standalone
source_ref: "ROMInfo.cpp:62"
- name: "MT-32 Control v1.06 half B"
description: "MT-32 Control v1.06 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "bf4f15666bc46679579498386704893b630c1171"
mode: standalone
source_ref: "ROMInfo.cpp:63"
- name: "MT-32 Control v1.07 half A"
description: "MT-32 Control v1.07 split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "13f06b38f0d9e0fc050b6503ab777bb938603260"
mode: standalone
source_ref: "ROMInfo.cpp:65"
- name: "MT-32 Control v1.07 half B"
description: "MT-32 Control v1.07 split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "c55e165487d71fa88bd8c5e9c083bc456c1a89aa"
mode: standalone
source_ref: "ROMInfo.cpp:66"
- name: "MT-32 Control BlueRidge half A"
description: "MT-32 Control BlueRidge split (Mux0)"
required: false
hle_fallback: true
size: 32768
sha1: "11a6ae5d8b6ee328b371af7f1e40b82125aa6b4d"
mode: standalone
source_ref: "ROMInfo.cpp:68"
- name: "MT-32 Control BlueRidge half B"
description: "MT-32 Control BlueRidge split (Mux1)"
required: false
hle_fallback: true
size: 32768
sha1: "e0934320d7cbb5edfaa29e0d01ae835ef620085b"
mode: standalone
source_ref: "ROMInfo.cpp:69"
- name: "MT-32 PCM ROM low half"
description: "MT-32 PCM ROM first half (262144 bytes)"
required: false
hle_fallback: true
size: 262144
sha1: "3a1e19b0cd4036623fd1d1d11f5f25995585962b"
mode: standalone
source_ref: "ROMInfo.cpp:79"
- name: "MT-32 PCM ROM high half"
description: "MT-32 PCM ROM second half (262144 bytes)"
required: false
hle_fallback: true
size: 262144
sha1: "2cadb99d21a6a4a6f5b61b6218d16e9b43f61d01"
mode: standalone
source_ref: "ROMInfo.cpp:80"
- name: "CM-32L PCM ROM high half"
description: "CM-32L/CM-64/LAPC-I PCM upper half (524288 bytes)"
required: false
hle_fallback: true
size: 524288
sha1: "3ad889fde5db5b6437cbc2eb6e305312fec3df93"
mode: standalone
note: "lower half is identical to full MT-32 PCM ROM"
source_ref: "ROMInfo.cpp:84"
# -- BASS shared libraries (BASSMIDI driver) --
# Downloaded from https://www.un4seen.com, placed in system directory.
# Loaded at runtime via dlopen. Not redistributable ROMs.
@@ -135,36 +298,42 @@ files:
- name: "libbass.so"
description: "BASS audio library (Linux)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:238, dosbox_core_libretro.info:firmware4"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbassmidi.so"
description: "BASSMIDI addon library (Linux)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:239, dosbox_core_libretro.info:firmware5"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "bass.dll"
description: "BASS audio library (Windows)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:232, dosbox_core_libretro.info:firmware6"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "bassmidi.dll"
description: "BASSMIDI addon library (Windows)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:233, dosbox_core_libretro.info:firmware7"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbass.dylib"
description: "BASS audio library (macOS)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:235, dosbox_core_libretro.info:firmware8"
notes: "proprietary library from un4seen.com, not a ROM"
- name: "libbassmidi.dylib"
description: "BASSMIDI addon library (macOS)"
required: false
hle_fallback: true
source_ref: "midi_bassmidi.cpp:236, dosbox_core_libretro.info:firmware9"
notes: "proprietary library from un4seen.com, not a ROM"
+57 -26
View File
@@ -1,24 +1,40 @@
emulator: DOSBox Pure
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/dosbox-pure"
upstream: "https://github.com/schellingb/dosbox-pure"
logo: "https://raw.githubusercontent.com/schellingb/dosbox-pure/main/images/logo.png"
profiled_date: "2026-03-18"
profiled_date: "2026-03-19"
core_version: "0.9.9"
display_name: "DOS (DOSBox-Pure)"
cores: [dosbox_pure]
systems: [dos]
verification: sha1
notes: >
notes: |
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
The core scans the RetroArch system directory (and subdirectories) for files
ending in _CONTROL.ROM (MT-32/CM-32L) and .SF2/.SF3 (General MIDI SoundFont).
MT-32 requires a matched pair: *_CONTROL.ROM + *_PCM.ROM in the same directory.
Files can also be placed inside the game content as DOSBOX.SF2 or MT32_CONTROL.ROM
+ MT32_PCM.ROM on the mounted C: drive. ZIP archives containing both ROMs are
also supported (identified by file size, not name). A cache file
DOSBoxPureMidiCache.txt is written to system dir when scan takes >2s.
Uses bundled MUNT (mt32emu) for MT-32 emulation, TinySoundFont for SF2 playback.
No firmware entries in the .info file - all MIDI files are optional enhancements.
ROM scanning (both modes):
Recursive scan of system directory for *_CONTROL.ROM and *.SF2/*.SF3.
ref: dosbox_pure_libretro.cpp:1367-1378
MT-32 requires matched pair: *_CONTROL.ROM + *_PCM.ROM (PCM name derived
from CONTROL name by replacing CONTROL with PCM, preserving case).
ref: dosbox_pure_libretro.cpp:182-199
ZIP archives also supported — scanned for files by size (65536/131072 =
control, 524288/1048576 = PCM), not by name.
ref: midi_mt32.h:160-166
Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM).
ref: dosbox_pure_libretro.cpp:2760-2762
Cache file DOSBoxPureMidiCache.txt written when scan >2s.
ref: dosbox_pure_libretro.cpp:1393-1413
Bundled MUNT (header-only mt32emu.h) for MT-32 emulation.
SHA1-based ROM identification (mt32emu.h:5112-5127,5185).
13 full control ROMs + 2 PCM ROMs supported (no split ROMs in this MUNT).
Includes MT-32 v2.03 (not in dosbox-core's MUNT).
TinySoundFont (tsf.h) for SF2/SF3 playback.
No firmware entries in .info file — all MIDI files optional.
DBP_STANDALONE build mode exists (same MIDI logic, different I/O layer).
ref: dosbox_pure_libretro.cpp:81,1558,2270
files:
# -- MT-32 Control ROMs (64 KB) --
@@ -26,109 +42,123 @@ files:
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.04"
required: false
hle_fallback: true
size: 65536
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
source_ref: "mt32emu.h:CTRL_MT32_V1_04"
source_ref: "mt32emu.h:5112,5129"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.05"
required: false
hle_fallback: true
size: 65536
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
source_ref: "mt32emu.h:CTRL_MT32_V1_05"
source_ref: "mt32emu.h:5113,5130"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.06"
required: false
hle_fallback: true
size: 65536
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
source_ref: "mt32emu.h:CTRL_MT32_V1_06"
source_ref: "mt32emu.h:5114,5131"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v1.07"
required: false
hle_fallback: true
size: 65536
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
source_ref: "mt32emu.h:CTRL_MT32_V1_07"
source_ref: "mt32emu.h:5115,5132"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control BlueRidge"
required: false
hle_fallback: true
size: 65536
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
source_ref: "mt32emu.h:CTRL_MT32_BLUER"
source_ref: "mt32emu.h:5116,5133"
# -- MT-32 v2.x Control ROMs (128 KB) --
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.03 (new MT-32)"
required: false
hle_fallback: true
size: 131072
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
source_ref: "mt32emu.h:CTRL_MT32_V2_03"
source_ref: "mt32emu.h:5118,5135"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.04"
required: false
hle_fallback: true
size: 131072
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
source_ref: "mt32emu.h:CTRL_MT32_V2_04"
source_ref: "mt32emu.h:5119,5136"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.06"
required: false
hle_fallback: true
size: 131072
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
source_ref: "mt32emu.h:CTRL_MT32_V2_06"
source_ref: "mt32emu.h:5120,5137"
- name: "MT32_CONTROL.ROM"
description: "MT-32 Control v2.07"
required: false
hle_fallback: true
size: 131072
sha1: "47b52adefedaec475c925e54340e37673c11707c"
source_ref: "mt32emu.h:CTRL_MT32_V2_07"
source_ref: "mt32emu.h:5121,5138"
# -- CM-32L / LAPC-I Control ROMs (64 KB) --
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
source_ref: "mt32emu.h:CTRL_CM32L_V1_00"
source_ref: "mt32emu.h:5122,5139"
- name: "CM32L_CONTROL.ROM"
description: "CM-32L/LAPC-I Control v1.02"
required: false
hle_fallback: true
size: 65536
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
source_ref: "mt32emu.h:CTRL_CM32L_V1_02"
source_ref: "mt32emu.h:5123,5140"
# -- CM-32LN / CM-500 / LAPC-N Control ROM (64 KB) --
- name: "CM32LN_CONTROL.ROM"
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
required: false
hle_fallback: true
size: 65536
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
source_ref: "mt32emu.h:CTRL_CM32LN_V1_00"
source_ref: "mt32emu.h:5124,5141"
# -- PCM ROMs --
- name: "MT32_PCM.ROM"
description: "MT-32 PCM ROM"
required: false
hle_fallback: true
size: 524288
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
source_ref: "mt32emu.h:PCM_MT32"
source_ref: "mt32emu.h:5126,5143"
notes: "pairs with any MT-32 v1.x control ROM"
- name: "CM32L_PCM.ROM"
description: "CM-32L/CM-64/LAPC-I PCM ROM"
required: false
hle_fallback: true
size: 1048576
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
source_ref: "mt32emu.h:PCM_CM32L"
source_ref: "mt32emu.h:5127,5144"
notes: "pairs with MT-32 v2.x or CM-32L control ROMs. Lower half aliases MT-32 PCM."
# -- General MIDI SoundFont --
@@ -136,6 +166,7 @@ files:
- name: "DOSBOX.SF2"
description: "General MIDI SoundFont (any .sf2/.sf3 accepted)"
required: false
hle_fallback: true
source_ref: "dosbox_pure_libretro.cpp:1375,2760"
notes: >
Any .SF2 or .SF3 file in the system directory works. The core lists all
+24 -5
View File
@@ -1,8 +1,27 @@
emulator: "dosbox_svn"
type: alias
alias_of: "dosbox_core"
profiled_date: "2026-03-18"
emulator: DOSBox-SVN
type: libretro
source: "https://github.com/libretro/dosbox-svn"
upstream: "https://sourceforge.net/projects/dosbox/"
profiled_date: "2026-03-19"
core_version: "SVN"
display_name: "DOS (DOSBox-SVN)"
note: "This core uses the same BIOS/firmware as dosbox_core. See emulators/dosbox_core.yml for details."
cores: [dosbox_svn]
systems: [dos]
notes: |
DOSBox-SVN is the same codebase as dosbox_svn_ce but builds with a fake
SDL shim (WITH_FAKE_SDL=1) instead of real SDL, for broader platform compat.
ref: libretro/Makefile.libretro, libretro/fakesdl/
No MT-32 emulation — no MUNT bundled, no mt32emu, no FluidSynth, no BASS.
The src/midi/munt directory referenced in Makefile.common does not exist.
MIDI output is hardware-only via fake SDL stubs.
ref: src/gui/midi.cpp
system_directory is read (libretro.cpp:1399) but only logged, never used
to load any files.
NOT an alias of dosbox_core — completely different MIDI capabilities.
dosbox_core has MUNT + FluidSynth + BASSMIDI. This core has none.
files: []
# No BIOS, firmware, ROMs, or system files of any kind.
+26 -5
View File
@@ -1,8 +1,29 @@
emulator: "dosbox_svn_ce"
type: alias
alias_of: "dosbox_core"
profiled_date: "2026-03-18"
emulator: DOSBox-SVN CE
type: libretro
source: "https://github.com/libretro/dosbox-svn"
upstream: "https://sourceforge.net/projects/dosbox/"
profiled_date: "2026-03-19"
core_version: "SVN CE"
display_name: "DOS (DOSBox-SVN CE)"
note: "This core uses the same BIOS/firmware as dosbox_core. See emulators/dosbox_core.yml for details."
cores: [dosbox_svn_ce]
systems: [dos]
notes: |
DOSBox-SVN CE (Community Edition) is the same codebase as dosbox_svn but
builds against real SDL 1.2 + SDL_net instead of the fake SDL shim.
ref: libretro/Makefile.libretro (WITH_FAKE_SDL flag)
No MT-32 emulation — no MUNT bundled, no mt32emu, no FluidSynth, no BASS.
The src/midi/munt directory referenced in Makefile.common does not exist.
MIDI output is hardware-only (ALSA, CoreAudio, CoreMIDI, Win32, OSS).
ref: src/gui/midi.cpp, src/gui/midi_alsa.h, midi_coreaudio.h, etc.
system_directory is read (libretro.cpp:1399) but only logged, never used
to load any files.
NOT an alias of dosbox_core — completely different MIDI capabilities.
dosbox_core has MUNT + FluidSynth + BASSMIDI. This core has none.
Requires libsdl1.2 and libsdl-net1.2 at runtime (.info notes).
files: []
# No BIOS, firmware, ROMs, or system files of any kind.
+5 -4
View File
@@ -1,7 +1,8 @@
emulator: "doukutsu-rs"
type: libretro
source: "https://github.com/DrGlaucous/doukutsu-rs-libretro"
profiled_date: "2026-03-18"
emulator: doukutsu-rs
type: standalone + libretro
source: "https://github.com/DrGlaucous/doukutsu-rs-nm"
upstream: "https://github.com/doukutsu-rs/doukutsu-rs"
profiled_date: "2026-03-19"
core_version: "1.2.0 - 0.101.0"
display_name: "Cave Story (drs)"
cores:
+26 -10
View File
@@ -1,20 +1,36 @@
emulator: DuckStation
type: standalone
type: standalone + libretro
source: "https://github.com/stenzek/duckstation"
logo: "https://raw.githubusercontent.com/stenzek/duckstation/master/data/resources/images/duck.png"
profiled_date: "2026-03-18"
profiled_date: "2026-03-19"
core_version: "v0.1"
display_name: "Sony - PlayStation (DuckStation)"
cores: [duckstation]
systems: [sony-playstation]
bios_size: 524288 # 0x80000 (512 KB), also accepts PS2 (4 MB) and PS3 BIOS
bios_size: 524288 # 0x80000 (512 KB), also accepts PS2 (4 MB) and PS3 (0x3E66F0)
verification: md5
notes: >
DuckStation auto-detects BIOS by MD5 hash. It accepts PS1, PS2 and PS3 BIOS images
(only the first 512 KB are mapped). Each image has a priority score - lower is better.
Images with region_check=true enforce region matching for disc booting.
PS2 BIOS images are deprioritized (priority >= 100) due to requiring dynamic fast boot patches.
Late PAL revisions are further deprioritized due to additional regional checks.
OpenBIOS is detected by signature at offset 0x78, not by hash.
notes: |
DuckStation auto-detects BIOS by MD5 hash from a flat scan of the BIOS directory.
ref: src/core/bios.cpp:459-481 (FindBIOSImagesInDirectory — scans all files by size)
ref: src/core/bios.cpp:208 (MD5Digest::HashData identification)
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
ref: src/core/bios.h:24-26 (BIOS_SIZE, BIOS_SIZE_PS2, BIOS_SIZE_PS3)
Only the first 512 KB are mapped (bios.cpp:212).
105 known BIOS entries (24 PS1 + 80 PS2 + 1 KDL-22PX300) identified by MD5.
ref: src/core/bios.cpp:34-139 (s_image_info_by_hash)
Each image has: region, region_check, fast_boot_patch type, priority score.
Lower priority = preferred. PS2 deprioritized (>= 100) for dynamic fast boot.
Late PAL deprioritized (>= 150) due to additional regional checks.
OpenBIOS detected by signature at offset 0x78, not by hash.
ref: src/core/bios.cpp:142-147
Standalone: BIOS dir = EmuFolders::Bios (configurable, default bios/).
ref: src/core/bios.cpp:375,380
Libretro: BIOS dir = RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY (flat).
The libretro core was removed by the author (license change to non-commercial).
The .info file and buildbot builds still exist from community forks.
files:
# -- PS1 BIOS images (priority <= 20, preferred) --
+7 -2
View File
@@ -1,7 +1,8 @@
emulator: EasyRPG Player
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/easyrpg-libretro"
profiled_date: "2026-03-18"
upstream: "https://github.com/EasyRPG/Player"
profiled_date: "2026-03-19"
core_version: "0.8.1.0"
display_name: "RPG Maker 2000/2003 (EasyRPG)"
cores:
@@ -66,6 +67,7 @@ files:
- name: "easyrpg.soundfont"
path: "easyrpg.soundfont"
required: false
hle_fallback: true
source_ref: "decoder_fluidsynth.cpp:125, scene_logo.cpp:261"
note: >
General MIDI soundfont (SF2 format) for MIDI music playback. Many RPG
@@ -81,6 +83,7 @@ files:
- name: "wildmidi.cfg"
path: "wildmidi.cfg"
required: false
hle_fallback: true
source_ref: "decoder_wildmidi.cpp:103-104"
note: >
WildMidi configuration file pointing to GUS patch sets for MIDI
@@ -95,6 +98,7 @@ files:
- name: "RPG Maker 2000 RTP"
path: "rtp/2000/"
required: false
hle_fallback: true
type: directory
source_ref: "filefinder_rtp.cpp:73-74"
note: >
@@ -113,6 +117,7 @@ files:
- name: "RPG Maker 2003 RTP"
path: "rtp/2003/"
required: false
hle_fallback: true
type: directory
source_ref: "filefinder_rtp.cpp:73-74"
note: >
+25 -16
View File
@@ -1,25 +1,34 @@
emulator: ECWolf
type: libretro
type: standalone + libretro
source: "https://github.com/libretro/ecwolf"
profiled_date: "2026-03-18"
core_version: ""
display_name: "Wolfenstein 3D (ECWolf)"
upstream: "https://bitbucket.org/ecwolf/ecwolf"
profiled_date: "2026-03-19"
core_version: "1.4.1"
display_name: "Wolfenstein 3D (ECWolf)"
cores: [ecwolf]
systems: [wolfenstein3d]
verification: md5
notes: >
Wolfenstein 3D source port. Plays Wolf3D (wl6/wl1), Spear of Destiny (sod/sdm),
Super 3D Noah's Ark (n3d), and community pk3 mods. The core requires ecwolf.pk3
in the system directory - this is the engine data package built from wadsrc/static/
containing IWADINFO definitions, palettes, sprites, map configs, and lump remappers.
Game data files (vswap, gamemaps, vgagraph, audiot) are loaded from the content
directory, not the system directory. The core auto-detects the game variant by
scanning lump contents against IWADINFO MustContain rules. Spear of Destiny
mission packs (sd2/sd3) and Mac Wolfenstein variants are also supported.
Blake Stone and Rise of the Triad support is flagged as Preview.
The SelectGame path searches: content directory, system directory, BaseDataPaths
config, then platform-specific paths (Steam, GOG installs on desktop).
notes: |
Wolfenstein 3D source port by Braden Obrzut. Plays Wolf3D (wl6/wl1),
Spear of Destiny (sod/sdm), Super 3D Noah's Ark (n3d), and community pk3 mods.
Requires ecwolf.pk3 — engine data package built from wadsrc/static/.
Contains IWADINFO (game detection rules), palettes, sprites, map configs,
DECORATE actor definitions, MAPINFO, SNDINFO, fonts, and localization strings.
Without this file: "Could not open ecwolf.pk3!" fatal error.
ref: version.h:12 (MAIN_PK3), wl_iwad.cpp:642-657 (load + fatal)
Libretro: ecwolf.pk3 searched in system_dir.
ref: libretro/libretro.cpp:831-832 (sysDir passed to SelectGame)
Standalone: ecwolf.pk3 searched in progdir (binary directory).
ref: wl_main.cpp:1289 (progdir passed to SelectGame)
Also: INSTALL_PREFIX/share/ecwolf/ on Linux (wl_iwad.cpp:648)
Game data files (vswap, gamemaps, vgagraph, audiot) loaded from content
directory, not system directory. Auto-detects game variant by scanning
lump contents against IWADINFO MustContain rules.
Blake Stone and Rise of the Triad support flagged as Preview.
files:
- name: "ecwolf.pk3"
+3 -3
View File
@@ -1,10 +1,10 @@
emulator: EmuSCV
type: libretro
type: standalone + libretro
source: "https://github.com/wzcwzc/emuscv"
profiled_date: "2026-03-18"
upstream: "https://github.com/wzcwzc/emuscv"
profiled_date: "2026-03-19"
core_version: ""
display_name: "EPOCH/YENO Super Cassette Vision"
display_name: "EPOCH/YENO Super Cassette Vision"
cores:
- emuscv
systems:
+22
View File
@@ -69,6 +69,7 @@ files:
path: ep128emu/roms/exos21.rom
md5: f36f24cbb87745fbd2714e4df881db09
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "Enterprise 128 EXOS 2.1. Default OS for EP128 machines."
@@ -78,6 +79,7 @@ files:
path: ep128emu/roms/exos20.rom
md5: 5ad3baaad3b5156d6b60b34229a676fb
required: false
hle_fallback: true
system: enterprise-64
has_builtin: true
note: "Enterprise 64 EXOS 2.0. Used when EP64 machine type is selected."
@@ -87,6 +89,7 @@ files:
path: ep128emu/roms/exos24uk.rom
md5: 55af78f877a21ca45eb2df68a74fcc60
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "Enterprise 128 EXOS 2.4 (UK). Used when enhanced ROM mode is enabled. 64K, loaded across segments 0-3."
@@ -100,6 +103,7 @@ files:
path: ep128emu/roms/basic21.rom
md5: e972fe42b398c9ff1d93ff014786aec6
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "Enterprise 128 BASIC 2.1. Loaded when cartridge mode is active (default)."
@@ -109,6 +113,7 @@ files:
path: ep128emu/roms/basic20.rom
md5: 8e18edce4a7acb2c33cc0ab18f988482
required: false
hle_fallback: true
system: enterprise-64
has_builtin: true
note: "Enterprise 64 BASIC 2.0. Used with EP64 machine type."
@@ -122,6 +127,7 @@ files:
path: ep128emu/roms/exdos13.rom
md5: ddff70c014d1958dc75378b6c9aab6f8
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "EXDOS 1.3 disk controller. Loaded for EP128_DISK and EP64_DISK modes. 32K across segments 0x20-0x21."
@@ -130,6 +136,7 @@ files:
- name: exdos14isdos10uk.rom
path: ep128emu/roms/exdos14isdos10uk.rom
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "EXDOS 1.4 + IS-DOS 1.0 (UK). Used for IS-DOS disk mode instead of exdos13.rom."
@@ -143,6 +150,7 @@ files:
path: ep128emu/roms/epfileio.rom
md5: a68ebcbc73a4d2178d755b7755bf18fe
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
bundled: true
@@ -153,6 +161,7 @@ files:
path: ep128emu/roms/zt19uk.rom
md5: 228540b6be83ae2acd7569c8ff0f91d0
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "ZozoTools 1.9 (UK). Loaded for DTF (direct tape file) mode. 32K across segments 0x40-0x41."
@@ -166,6 +175,7 @@ files:
path: ep128emu/roms/hun.rom
md5: 22167938f142c222f40992839aa21a06
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "Hungarian language extension. Auto-loaded when content locale is Hungarian."
@@ -174,6 +184,7 @@ files:
- name: epdos16f.rom
path: ep128emu/roms/epdos16f.rom
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "EP-DOS 1.6f. Provides HFONT and CLKOFF for Hungarian locale. 32K across segments 0x06-0x07."
@@ -183,6 +194,7 @@ files:
path: ep128emu/roms/brd.rom
md5: 6af0402906944fd134004b85097c8524
required: false
hle_fallback: true
system: enterprise-128
has_builtin: true
note: "German (BRD) language extension. Auto-loaded when content locale is German."
@@ -216,6 +228,7 @@ files:
path: ep128emu/roms/tvc22_sys.rom
md5: 8c54285f541930cde766069942bad0f2
required: false
hle_fallback: true
system: videoton-tvc
has_builtin: true
note: "TVC system ROM v2.2. Main BIOS for all TVC modes."
@@ -225,6 +238,7 @@ files:
path: ep128emu/roms/tvc22_ext.rom
md5: 5ce95a26ceed5bec73995d83568da9cf
required: false
hle_fallback: true
system: videoton-tvc
has_builtin: true
note: "TVC extension ROM v2.2. Loaded alongside tvc22_sys.rom."
@@ -234,6 +248,7 @@ files:
path: ep128emu/roms/tvcfileio.rom
md5: a2cf86ba8e7fc58b242137fe59036832
required: false
hle_fallback: true
system: videoton-tvc
has_builtin: true
bundled: true
@@ -244,6 +259,7 @@ files:
path: ep128emu/roms/tvc_dos12d.rom
md5: 88dc7876d584f90e4106f91444ab23b7
required: false
hle_fallback: true
system: videoton-tvc
has_builtin: true
note: "TVC DOS 1.2d. Loaded for TVC64_DISK mode."
@@ -257,6 +273,7 @@ files:
path: ep128emu/roms/cpc464.rom
md5: a993f85b88ac4350cf4d41554e87fe4f
required: false
hle_fallback: true
system: amstrad-cpc
has_builtin: true
note: "CPC 464 combined ROM (OS + BASIC). 32K loaded at segments 0x10 (OS) and 0x00 (BASIC) with offset."
@@ -266,6 +283,7 @@ files:
path: ep128emu/roms/cpc664.rom
md5: 5a384a2310f472c7857888371c00ed66
required: false
hle_fallback: true
system: amstrad-cpc
has_builtin: true
note: "CPC 664 combined ROM (OS + BASIC). Used for CPC_664_DISK mode."
@@ -275,6 +293,7 @@ files:
path: ep128emu/roms/cpc6128.rom
md5: b96280dc6c95a48857b4b8eb931533ae
required: false
hle_fallback: true
system: amstrad-cpc
has_builtin: true
note: "CPC 6128 combined ROM (OS + BASIC). Default CPC machine when no specific model requested."
@@ -284,6 +303,7 @@ files:
path: ep128emu/roms/cpc_amsdos.rom
md5: 25629dfe870d097469c217b95fdc1c95
required: false
hle_fallback: true
system: amstrad-cpc
has_builtin: true
note: "AMSDOS disk controller ROM. Loaded for CPC_DISK and CPC_664_DISK modes."
@@ -297,6 +317,7 @@ files:
path: ep128emu/roms/zx128.rom
md5: 85fede415f4294cc777517d7eada482e
required: false
hle_fallback: true
system: zx-spectrum
has_builtin: true
note: "ZX Spectrum 128K ROM. 32K loaded at segments 0x00-0x01."
@@ -306,6 +327,7 @@ files:
path: ep128emu/roms/zx48.rom
md5: 4c42a2f075212361c3117015b107ff68
required: false
hle_fallback: true
system: zx-spectrum
has_builtin: true
note: "ZX Spectrum 48K ROM. Used for ZX16 and ZX48 modes."
+1
View File
@@ -38,6 +38,7 @@ files:
system: nintendo-gbc
description: "Game Boy Color (CGB-001) boot ROM"
required: false
hle_fallback: true
size: 2304
md5: "dbfce9db9deaa2567f6a84fde55f9680"
sha1: "1293d68bf9643bc4f36954c1e80e38f39864528d"
+3
View File
@@ -41,6 +41,7 @@ files:
- name: "dc_boot.bin"
system: sega-dreamcast
required: false
hle_fallback: true
size: 2097152 # 2 MB
note: "Dreamcast boot ROM. HLE BIOS (reios) used as fallback."
source_ref: "core/hw/flashrom/nvmem.cpp:287"
@@ -48,6 +49,7 @@ files:
- name: "dc_bios.bin"
system: sega-dreamcast
required: false
hle_fallback: true
size: 2097152
note: "Alternate name for Dreamcast boot ROM."
source_ref: "core/hw/flashrom/nvmem.cpp:287"
@@ -55,6 +57,7 @@ files:
- name: "dc_flash.bin"
system: sega-dreamcast
required: false
hle_fallback: true
size: 131072 # 128 KB
note: "Dreamcast flash memory (settings, saves). Created if missing."
source_ref: "core/hw/flashrom/nvmem.cpp:246"
+8 -1
View File
@@ -26,7 +26,10 @@ notes: |
ROM-specific overlays are optional 370x600 PNG files placed by the user in
system/freeintv_overlays/<rom_name>.png. These are cosmetic per-game keypad
images and are not BIOS files.
images loaded via stbi_load() (src/libretro.c:273). Core falls back to
embedded default_keypad_image.h if no per-game overlay found.
90 overlays available in Assets/Overlays.zip in the core repo.
Not on RetroArch buildbot — sourced from core repo via _data_dirs.yml.
BIOS loading is unchanged from the base FreeIntv core. retro_load_game()
(src/libretro.c:1169-1174) loads exec.bin and grom.bin from the system
@@ -34,6 +37,10 @@ notes: |
bios_identical_to: freeintv
data_directories:
- ref: freeintv-overlays
destination: freeintv_overlays
files:
- name: "exec.bin"
system: intellivision
+4
View File
@@ -57,6 +57,7 @@ files:
system: commodore-c64
description: "C64 BASIC V2 ROM"
required: false
hle_fallback: true
embedded: true
size: 8192
note: "Embedded as builtin_basic_rom[] in Basic_ROM.h. External file never loaded in practice (DATADIR is empty, path is bare filename in cwd)."
@@ -66,6 +67,7 @@ files:
system: commodore-c64
description: "C64 Kernal ROM"
required: false
hle_fallback: true
embedded: true
size: 8192
note: "Embedded as builtin_kernal_rom[] in Kernal_ROM.h. Patched at runtime for fast reset and 1541 IEC traps."
@@ -75,6 +77,7 @@ files:
system: commodore-c64
description: "C64 Character Generator ROM"
required: false
hle_fallback: true
embedded: true
size: 4096
note: "Embedded as builtin_char_rom[] in Char_ROM.h. Used by VIC-II for text/bitmap rendering."
@@ -84,6 +87,7 @@ files:
system: commodore-c64
description: "Commodore 1541 floppy drive ROM"
required: false
hle_fallback: true
embedded: true
size: 16384
note: "Embedded as builtin_drive_rom[] in 1541_ROM.h. Patched at runtime to disable checksum and trap disk I/O."
+18
View File
@@ -37,6 +37,7 @@ files:
- name: "fuse/48.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 4c42a2f075212361c3117015b107ff68
sha1: 5ea7c2b824672e914525d1d5c419d71b84a426a2
size: 16384
@@ -46,6 +47,7 @@ files:
- name: "fuse/128-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: b4d2692115a9f2924df92a3cbfb358fb
sha1: 4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5
size: 16384
@@ -55,6 +57,7 @@ files:
- name: "fuse/128-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 6e09e5d3c4aef166601669feaaadc01c
sha1: 80080644289ed93d71a1103992a154cc9802b2fa
size: 16384
@@ -64,6 +67,7 @@ files:
- name: "fuse/plus2-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 4ed7af4636308b8a48d7a35e6c5b546b
sha1: 72703f9a3e734f3c23ec34c0727aae4ccbef9a91
size: 16384
@@ -73,6 +77,7 @@ files:
- name: "fuse/plus2-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: b3db95931cc844efaeb82db9c171b9f3
sha1: de8b0d2d0379cfe7c39322a086ca6da68c7f23cb
size: 16384
@@ -82,6 +87,7 @@ files:
- name: "fuse/plus3-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 9833b8b73384dd5fa3678377ff00a2bb
sha1: e319ed08b4d53a5e421a75ea00ea02039ba6555b
size: 16384
@@ -91,6 +97,7 @@ files:
- name: "fuse/plus3-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 0f711ceb5ab801b4701989982e0f334c
sha1: c9969fc36095a59787554026a9adc3b87678c794
size: 16384
@@ -100,6 +107,7 @@ files:
- name: "fuse/plus3-2.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 3b6dd659d5e4ec97f0e2f7878152c987
sha1: 22e50c6ba4157a3f6a821bd9937cd26e292775c6
size: 16384
@@ -109,6 +117,7 @@ files:
- name: "fuse/plus3-3.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: a148bcc575e51389e84fdf5d555c3196
sha1: 65f031caa8148a5493afe42c41f4929deab26b4e
size: 16384
@@ -118,6 +127,7 @@ files:
- name: "fuse/plus3e-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: bc123f625e245c225f92ef05933ed134
sha1: 649fbd233490bf58b35350b0123d36caaaa011eb
size: 16384
@@ -127,6 +137,7 @@ files:
- name: "fuse/plus3e-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 617364264c587d20c9fc4746c29679f2
sha1: f12198108cbb14de4f03c6695bc16d08c85ee214
size: 16384
@@ -136,6 +147,7 @@ files:
- name: "fuse/plus3e-2.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: c363e95dcd0a90e6e7f847e6e47e0179
sha1: 773633dce5ba323a9e00d9d0f9e4d8c295df7c87
size: 16384
@@ -145,6 +157,7 @@ files:
- name: "fuse/plus3e-3.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: a148bcc575e51389e84fdf5d555c3196
sha1: 65f031caa8148a5493afe42c41f4929deab26b4e
size: 16384
@@ -154,6 +167,7 @@ files:
- name: "fuse/se-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: fb3f86eb1e5a695d9c50c124e7cfb875
sha1: 8608328d7dd66602a4846f046b24fed500f7d828
size: 16384
@@ -163,6 +177,7 @@ files:
- name: "fuse/se-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 88de4a3129086f34bb9ca559acc51e6c
sha1: 3be5de57dd3bd0a9d15c57cabe9179afe2906a52
size: 16384
@@ -172,6 +187,7 @@ files:
- name: "fuse/tc2048.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 9dd7ecf784a6c04265c073c236f5fadb
sha1: febb2d495b6eda7cdcb4074935d6e9d9f328972d
size: 16384
@@ -181,6 +197,7 @@ files:
- name: "fuse/tc2068-0.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 55d462fccc6c536037404ef4ced08bec
sha1: 1446cb2780a9dedf640404a639fa3ae518b2d8aa
size: 16384
@@ -190,6 +207,7 @@ files:
- name: "fuse/tc2068-1.rom"
system: sinclair-zxspectrum
required: false
hle_fallback: true
md5: 575d203c6e15e679fba0b73f854ec7a2
sha1: 7e265a2c1f621ed365ea23bdcafdedbc79c1299c
size: 8192
+3
View File
@@ -39,6 +39,7 @@ files:
path: "galaksija/CHRGEN.BIN"
size: 2048
required: false
hle_fallback: true
note: >
Character generator ROM. Defines the 128-character bitmap font (8x13 pixels
each). The core has this embedded compressed in rom.c and only loads the
@@ -49,6 +50,7 @@ files:
path: "galaksija/ROM1.BIN"
size: 4096
required: false
hle_fallback: true
note: >
System ROM / BASIC interpreter. Mapped at 0x0000-0x0FFF. Contains the
Galaksija BASIC language and boot routines. Embedded in rom.c as fallback.
@@ -58,6 +60,7 @@ files:
path: "galaksija/ROM2.BIN"
size: 4096
required: false
hle_fallback: true
note: >
Math extension ROM. Mapped at 0x1000-0x1FFF. Adds floating-point math
functions (SIN, COS, TG, SQR, LN, EXP, POW, etc). Optional even when
+2
View File
@@ -38,6 +38,7 @@ files:
system: nintendo-gb
description: "Original Game Boy (DMG-01) boot ROM"
required: false
hle_fallback: true
size: 256
md5: "32fbbd84168d3482956eb3c5051637f5"
sha1: "4ed31ec6b0b175bb109c0eb5fd3d193da823339f"
@@ -49,6 +50,7 @@ files:
system: nintendo-gbc
description: "Game Boy Color (CGB-001) boot ROM"
required: false
hle_fallback: true
size: 2304
md5: "dbfce9db9deaa2567f6a84fde55f9680"
sha1: "1293d68bf9643bc4f36954c1e80e38f39864528d"
+1
View File
@@ -42,6 +42,7 @@ files:
- name: gba_bios.bin
system: nintendo-gba
required: false
hle_fallback: true
size: 16384 # 16 KB (0x4000)
note: "Official GBA BIOS. Built-in open-source BIOS used as fallback. Real BIOS needed for full SWI accuracy and boot logo."
source_ref: "libretro/libretro.c:1111"
+1
View File
@@ -34,6 +34,7 @@ files:
system: atari-lynx
description: "Atari Lynx boot ROM (Mikie internal 512B ROM)"
required: false
hle_fallback: true
size: 512
md5: "fcd403db69f54290b51035d82f835e7b"
sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb"
+1
View File
@@ -35,6 +35,7 @@ files:
description: "Atari Lynx boot ROM"
region: "World"
required: false
hle_fallback: true
size: 512
sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb"
md5: "fcd403db69f54290b51035d82f835e7b"
+7
View File
@@ -27,6 +27,7 @@ files:
path: "GC/USA/IPL.bin"
size: 2097152
required: false
hle_fallback: true
note: "GC NTSC-U boot ROM, same as Dolphin. HLE available"
source_ref: "Source/Core/Common/CommonPaths.h:115"
@@ -34,12 +35,14 @@ files:
path: "GC/EUR/IPL.bin"
size: 2097152
required: false
hle_fallback: true
note: "GC PAL boot ROM"
- name: "IPL.bin"
path: "GC/JAP/IPL.bin"
size: 2097152
required: false
hle_fallback: true
note: "GC NTSC-J boot ROM"
# -- DSP ROMs --
@@ -49,6 +52,7 @@ files:
path: "GC/dsp_rom.bin"
size: 8192
required: false
hle_fallback: true
note: "DSP instruction ROM for LLE audio. Free replacement included, real dump more accurate"
source_ref: "Source/Core/Common/CommonPaths.h:112, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:142-150"
@@ -56,6 +60,7 @@ files:
path: "GC/dsp_coef.bin"
size: 4096
required: false
hle_fallback: true
note: "DSP coefficient ROM for LLE audio. Free replacement included"
source_ref: "Source/Core/Common/CommonPaths.h:113, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:143-152"
@@ -64,12 +69,14 @@ files:
- name: "font_western.bin"
path: "GC/font_western.bin"
required: false
hle_fallback: true
note: "Windows-1252 font for GC/Wii text. Free alternative bundled"
source_ref: "Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:123"
- name: "font_japanese.bin"
path: "GC/font_japanese.bin"
required: false
hle_fallback: true
note: "Shift-JIS font for Japanese text. Free alternative bundled"
source_ref: "Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:122"
+3
View File
@@ -22,6 +22,7 @@ files:
system: nintendo-ds
description: "ARM9 BIOS (NDS mode)"
required: false
hle_fallback: true
size: 4096
crc32: "0x2ab23573"
source_ref: "src/MemConstants.h:30,37"
@@ -31,6 +32,7 @@ files:
system: nintendo-ds
description: "ARM7 BIOS (NDS mode)"
required: false
hle_fallback: true
size: 16384
crc32: "0x1280f0d5"
source_ref: "src/MemConstants.h:31,36"
@@ -40,6 +42,7 @@ files:
system: nintendo-ds
description: "NDS firmware image"
required: false
hle_fallback: true
source_ref: "src/frontend/qt_sdl/EmuInstance.cpp:561"
notes: "Generated firmware used as default; native firmware needed for boot animation and wifi settings"
+3
View File
@@ -27,16 +27,19 @@ files:
- name: bios7.bin
system: nintendo-ds
required: false
hle_fallback: true
md5: df692a80a5b1bc90728bc3dfc76cd948
note: "NDS ARM7 BIOS"
- name: bios9.bin
system: nintendo-ds
required: false
hle_fallback: true
md5: a392174eb3e572fed6447e956bde4b25
note: "NDS ARM9 BIOS"
- name: firmware.bin
system: nintendo-ds
required: false
hle_fallback: true
sha1: 8497afdd16af92d6887b71582846c40514e9039f
md5: 145eaef5bd3037cbc247c213bb3da1b3
size: 262144
+1
View File
@@ -48,6 +48,7 @@ files:
- name: gba_bios.bin
system: nintendo-gba
required: false
hle_fallback: true
size: 16384 # 16 KB (0x4000, GBA_SIZE_BIOS)
note: "GBA BIOS. HLE replacement built in. Real BIOS adds boot logo and full SWI accuracy."
source_ref: "src/platform/libretro/libretro.c:2099"
+2
View File
@@ -53,6 +53,7 @@ files:
system: nintendo-nes
description: "Nestopia game database for region and mapper autodetection"
required: false
hle_fallback: true
size: 1022369
md5: "0ee6cbdc6f5c96ce9c8aa5edb59066f4"
sha1: ~
@@ -64,6 +65,7 @@ files:
system: nintendo-nes
description: "External NES color palette"
required: false
hle_fallback: true
size: 192
md5: ~
sha1: ~
+4
View File
@@ -26,6 +26,7 @@ files:
system: nintendo-ds
description: "ARM9 BIOS"
required: false
hle_fallback: true
size: 4096
md5: "a392174eb3e572fed6447e956bde4b25"
source_ref: "src/memory.cpp:130-142, src/memory.h:73"
@@ -35,6 +36,7 @@ files:
system: nintendo-ds
description: "ARM7 BIOS"
required: false
hle_fallback: true
size: 16384
md5: "df692a80a5b1bc90728bc3dfc76cd948"
source_ref: "src/memory.cpp:144-156, src/memory.h:74"
@@ -44,6 +46,7 @@ files:
system: nintendo-ds
description: "NDS firmware image"
required: false
hle_fallback: true
source_ref: "src/spi.cpp:62-160, src/settings.cpp:42"
notes: "Auto-generated 128KB non-bootable firmware as fallback; native dump (>128KB) needed for firmware boot"
@@ -51,6 +54,7 @@ files:
system: nintendo-gba
description: "GBA BIOS"
required: false
hle_fallback: true
size: 16384
md5: "a860e8c0b6d573d191e4ec7db1b1e4f6"
source_ref: "src/memory.cpp:158-169, src/memory.h:75, src/core.cpp:244-252"
+17 -9
View File
@@ -29,6 +29,7 @@ files:
- name: "bios.rom"
path: "np2kai/bios.rom"
required: false
hle_fallback: true
note: >
PC-9801 system BIOS ROM (96 KB). Provides full hardware compatibility.
The core can boot without it using the built-in BIOS simulator, but
@@ -43,6 +44,7 @@ files:
- name: "itf.rom"
path: "np2kai/itf.rom"
required: false
hle_fallback: true
note: >
Initial Test Firmware ROM (32 KB). Used for hardware initialization
and memory check at boot. Only loaded when the built-in ITF simulator
@@ -57,10 +59,12 @@ files:
- name: "font.bmp"
path: "np2kai/font.bmp"
required: false
hle_fallback: true
aliases: ["FONT.ROM", "font.rom", "FONT.BMP"]
note: >
PC-98 font bitmap (288 KB). Required for correct Japanese kanji display.
The core also accepts FONT.ROM (V98 format). Without this file,
only basic ASCII characters render correctly using built-in data.
Without this file, only basic ASCII characters render correctly using
built-in data.
source_ref: "sdl/libretro/libretro.c:1813, font/fontdata.c:11-14"
# -- Sound BIOS ROM --
@@ -70,6 +74,7 @@ files:
- name: "sound.rom"
path: "np2kai/sound.rom"
required: false
hle_fallback: true
note: >
FM sound board BIOS ROM (16 KB). Used by the PC-9801-26K/86/118
sound boards. The core falls back to a minimal built-in default
@@ -115,8 +120,9 @@ files:
- name: "2608_rim.wav"
path: "np2kai/2608_rim.wav"
required: false
note: "YM2608 OPNA rhythm sample: rim shot"
source_ref: "sound/rhythmc.c:16"
aliases: ["2608_RYM.WAV"]
note: "YM2608 OPNA rhythm sample: rim shot. fmgen also accepts 2608_RYM.WAV"
source_ref: "sound/rhythmc.c:16, sound/fmgen/fmgen_opna.cpp:1413-1443"
# -- IDE BIOS ROM --
# Loaded by ideio.c:1913-1931. Tried in order: ide.rom, d8000.rom,
@@ -125,11 +131,11 @@ files:
- name: "ide.rom"
path: "np2kai/ide.rom"
required: false
hle_fallback: true
aliases: ["d8000.rom", "bank3.bin", "bios9821.rom"]
note: >
IDE controller BIOS ROM (8 KB). Required for real IDE BIOS emulation
(HDD boot from IDE). The core also checks d8000.rom, bank3.bin,
and bios9821.rom as fallback filenames. Without this, a simulated
IDE BIOS is used.
(HDD boot from IDE). Without this, a simulated IDE BIOS is used.
source_ref: "cbus/ideio.c:1913-1931"
# -- SCSI BIOS ROM --
@@ -137,6 +143,7 @@ files:
- name: "scsi.rom"
path: "np2kai/scsi.rom"
required: false
hle_fallback: true
note: >
SCSI controller BIOS ROM (16 KB). For PC-98 SCSI HDD support.
The core includes a built-in SCSI BIOS stub as fallback.
@@ -148,10 +155,11 @@ files:
- name: "pci.rom"
path: "np2kai/pci.rom"
required: false
hle_fallback: true
aliases: ["bank0.bin"]
note: >
PCI BIOS ROM (32 KB). For PC-9821 PCI bus emulation.
The core also checks bank0.bin as fallback. Without this,
the built-in PCI BIOS simulator is used.
Without this, the built-in PCI BIOS simulator is used.
source_ref: "io/pcidev.c:360-382"
# -- GPIB BIOS ROM --
+3
View File
@@ -74,6 +74,7 @@ files:
- name: "<biosname>.nvm"
pattern: "{biosbase}.nvm"
required: false
hle_fallback: true
size: 1024 # NVRAM_SIZE = 1024 bytes
source_ref: "pcsx2/CDVD/CDVD.cpp:160-238"
note: >
@@ -86,6 +87,7 @@ files:
- name: "<biosname>.mec"
pattern: "{biosbase}.mec"
required: false
hle_fallback: true
size: 4 # u32 s_mecha_version
source_ref: "pcsx2/CDVD/CDVD.cpp:190-204"
note: >
@@ -106,6 +108,7 @@ files:
# -- DEV9 EEPROM (optional, network adapter) --
- name: "eeprom.dat"
required: false
hle_fallback: true
size: 64 # 64 bytes, mmap'd
source_ref: "pcsx2/DEV9/DEV9.cpp:110-160"
note: >
+7
View File
@@ -26,6 +26,7 @@ files:
description: "SCPH-5500 (v3.0 09-09-96 J)"
region: "NTSC-J"
required: false
hle_fallback: true
md5: "8dd7d5296a650fac7319bce665a6a53c"
source_ref: "frontend/libretro.c:3710 (listed_bios[0])"
notes: "Preferred JP BIOS, searched first by exact filename."
@@ -36,6 +37,7 @@ files:
description: "SCPH-5501 (v3.0 11-18-96 A)"
region: "NTSC-U"
required: false
hle_fallback: true
md5: "490f666e1afb15b7362b406ed1cea246"
source_ref: "frontend/libretro.c:3710 (listed_bios[1])"
notes: "Preferred US BIOS, searched first by exact filename."
@@ -46,6 +48,7 @@ files:
description: "SCPH-5502 (v3.0 01-06-97 E)"
region: "PAL"
required: false
hle_fallback: true
md5: "32736f17079d0b2b7024407c39bd3050"
source_ref: "frontend/libretro.c:3710 (listed_bios[2])"
notes: "Preferred EU BIOS, searched first by exact filename."
@@ -56,6 +59,7 @@ files:
description: "PSP embedded PS1 BIOS (region-free, 512 KB or 4 MB accepted)"
region: "Auto"
required: false
hle_fallback: true
md5: "c53ca5908936d412331790f4426c6c33"
source_ref: "frontend/libretro.c:3711 (listed_bios[3])"
notes: "Region detected from content at runtime. 4 MB combo image accepted but only first 512 KB read."
@@ -64,6 +68,7 @@ files:
description: "SCPH-101 (v4.4 03-24-00 A) - PSone US"
region: "NTSC-U"
required: false
hle_fallback: true
md5: "6e3735ff4c7dc899ee98981c18c3666d"
source_ref: "frontend/libretro.c:3711 (listed_bios[4])"
notes: "PSone slim model. Searched by filename after scph550x and psxonpsp660."
@@ -72,6 +77,7 @@ files:
description: "SCPH-7001 (v4.1 12-16-97 A)"
region: "NTSC-U"
required: false
hle_fallback: true
md5: "1e68c231d0896b7eadcad1d7d8e76129"
source_ref: "frontend/libretro.c:3711 (listed_bios[5])"
notes: "Searched by filename after psxonpsp660 and scph101."
@@ -80,6 +86,7 @@ files:
description: "SCPH-1001 (v2.2 12-04-95 A)"
region: "NTSC-U"
required: false
hle_fallback: true
md5: "924e392ed05558ffdb115408c263dccf"
source_ref: "frontend/libretro.c:3711 (listed_bios[6])"
notes: "Original US model. Last in the explicit filename search list."
+3
View File
@@ -139,6 +139,7 @@ files:
- name: "32X_G_BIOS.BIN"
system: sega-32x
required: false
hle_fallback: true
size: 256 # 0x100
note: "32X 68K (Genesis-side) BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2207-2243"
@@ -146,6 +147,7 @@ files:
- name: "32X_M_BIOS.BIN"
system: sega-32x
required: false
hle_fallback: true
size: 2048 # 0x800
note: "32X Master SH2 BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2250-2277"
@@ -153,6 +155,7 @@ files:
- name: "32X_S_BIOS.BIN"
system: sega-32x
required: false
hle_fallback: true
size: 1024 # 0x400
note: "32X Slave SH2 BIOS. HLE replacement generated when NULL."
source_ref: "pico/32x/memory.c:2280-2298"
+1
View File
@@ -54,6 +54,7 @@ files:
system: nintendo-pokemon-mini
description: "Pokemon Mini official BIOS"
required: false
hle_fallback: true
size: 4096
md5: "1e4fb124a3a886865acb574f388c803d"
sha1: "daad4113713ed776fbd47727762bca81ba74915f"
+1
View File
@@ -42,6 +42,7 @@ files:
system: doom
description: "PrBoom engine data WAD (fonts, palette, colormaps, tables, menu graphics)"
required: false
hle_fallback: true
size: 143312
md5: "72ae1b47820fcc93cc0df9c428d0face"
sha1: "5f4aed208301449c2e9514edfd325fe9dead76fa"
+2
View File
@@ -29,6 +29,7 @@ files:
- name: "7800 BIOS (U).rom"
system: atari-7800
required: false
hle_fallback: true
size: 4096 # 4 KB
note: "NTSC/US Atari 7800 BIOS. Loaded when cartridge_region != REGION_PAL."
source_ref: "core/libretro.c:585"
@@ -36,6 +37,7 @@ files:
- name: "7800 BIOS (E).rom"
system: atari-7800
required: false
hle_fallback: true
size: 16384 # 16 KB (PAL BIOS is larger than NTSC)
note: "PAL/EU Atari 7800 BIOS. Loaded when cartridge_region == REGION_PAL."
source_ref: "core/libretro.c:583"
+9
View File
@@ -62,6 +62,7 @@ files:
- name: "kick31034.A1000"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 31.34 (1985) NTSC. A1000 only."
aliases:
@@ -72,6 +73,7 @@ files:
- name: "kick32034.A1000"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 32.34 (1986) PAL. A1000 only."
aliases:
@@ -85,6 +87,7 @@ files:
- name: "kick33180.A500"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.2 rev 33.180 (1986). A500/A2000. Also used by WHDLoad."
aliases:
@@ -107,6 +110,7 @@ files:
- name: "kick37175.A500"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 2.04 rev 37.175 (1991). Default for A500+ model."
aliases:
@@ -121,6 +125,7 @@ files:
- name: "kick37350.A600"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 2.05 rev 37.350 (1992). A600HD."
aliases:
@@ -131,6 +136,7 @@ files:
- name: "kick40063.A600"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.63 (1993). Default for A600/A2000 models. Also used by WHDLoad."
aliases:
@@ -145,6 +151,7 @@ files:
- name: "kick39106.A1200"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A1200."
aliases:
@@ -169,6 +176,7 @@ files:
- name: "kick39106.A4000"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A4000."
aliases:
@@ -179,6 +187,7 @@ files:
- name: "kick40068.A4000"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.68 (1993). Default for A4030/A4040 models."
aliases:
+4
View File
@@ -103,6 +103,7 @@ files:
path: "quasi88/disk.rom"
size: 2048
required: false
hle_fallback: true
note: "Disk subsystem ROM (2 KB, 2D type). Core falls back to pseudo-BIOS if missing. 8 KB variant (2HD type) also accepted."
source_ref: "src/LIBRETRO/libretro.c:552"
aliases: ["DISK.ROM", "N88SUB.ROM", "n88sub.rom"]
@@ -137,6 +138,7 @@ files:
path: "quasi88/font.rom"
size: 4096
required: false
hle_fallback: true
note: "ANK font ROM (4 KB). Falls back to built-in font or kanji ROM glyphs."
source_ref: "src/LIBRETRO/libretro.c:566"
aliases: ["FONT.ROM"]
@@ -145,6 +147,7 @@ files:
path: "quasi88/font2.rom"
size: 4096
required: false
hle_fallback: true
note: "Second font ROM (4 KB). Falls back to built-in ANH font."
source_ref: "src/LIBRETRO/libretro.c:576"
aliases: ["FONT2.ROM"]
@@ -153,6 +156,7 @@ files:
path: "quasi88/font3.rom"
size: 4096
required: false
hle_fallback: true
note: "Third font ROM (4 KB). Zeroed out if missing."
source_ref: "src/LIBRETRO/libretro.c:588"
aliases: ["FONT3.ROM"]
+1 -1
View File
@@ -1,6 +1,6 @@
emulator: SAME CDi
type: libretro
cores: [same_cdi, cdi2015]
cores: [same_cdi]
source: "https://github.com/libretro/same_cdi"
profiled_date: "2026-03-18"
core_version: "Git"
+8
View File
@@ -54,6 +54,7 @@ files:
system: nintendo-gb
description: "Original Game Boy (DMG) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro.c:519,530,556 (boot_rom_load)"
notes: "Also used as fallback for DMG_0 and MGB models when dedicated boot ROMs are absent."
@@ -63,6 +64,7 @@ files:
system: nintendo-gb
description: "Game Boy Pocket (MGB) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro.c:520,531,556"
notes: "Built-in fallback reuses dmg_boot (mgb not separately implemented yet)."
@@ -72,6 +74,7 @@ files:
system: nintendo-sgb
description: "Super Game Boy (SGB) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro.c:521,532,556"
notes: "Used for SGB and SGB_NTSC models. Also loaded temporarily when borrowing SGB border for non-SGB games."
@@ -81,6 +84,7 @@ files:
system: nintendo-sgb
description: "Super Game Boy 2 (SGB2) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro.c:522,533,556"
notes: "Separate from sgb_boot.bin, unlike some other cores that merge SGB/SGB2."
@@ -90,6 +94,7 @@ files:
system: nintendo-gbc
description: "Game Boy Color (CGB) boot ROM"
required: false
hle_fallback: true
size: 2304
source_ref: "libretro.c:524,535,556"
notes: "Also used as fallback for CGB_0 model (not separately implemented yet)."
@@ -99,6 +104,7 @@ files:
system: nintendo-gbc
description: "Game Boy Color early revision (CGB-0) boot ROM"
required: false
hle_fallback: true
size: 2304
source_ref: "libretro.c:523,534,556"
notes: "Built-in fallback reuses cgb_boot (cgb0 not separately implemented yet)."
@@ -108,6 +114,7 @@ files:
system: nintendo-gbc
description: "Game Boy Advance in GBC mode (AGB) boot ROM"
required: false
hle_fallback: true
size: 2304
source_ref: "libretro.c:525,536,556"
notes: "Used when emulating a GBA running GB/GBC software. Enables GBA-enhanced palettes in compatible GBC games."
@@ -117,6 +124,7 @@ files:
system: nintendo-gb
description: "Original Game Boy early revision (DMG-0) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "SDL/main.c:640 (standalone), libretro.c:518,529"
notes: "Only referenced in standalone SDL build filename list. Built-in fallback reuses dmg_boot."
+2 -1
View File
@@ -89,7 +89,8 @@ files:
md5: "fed4d8242cfbed61343d53d48432aced"
sha1: "604556b2e62860af18db5a77f2956ebc75450020"
source_ref: "libretro.cpp:1209 (LoadBIOS, 'BS-X.bin'), bsx.cpp:1209-1215 (BSX_LoadBIOS)"
notes: "Needed for Satellaview (.bs) game support. Core also accepts BS-X.bios as filename. Without this file, BS-X games will fail to load."
aliases: ["BS-X.bios"]
notes: "Needed for Satellaview (.bs) game support. Without this file, BS-X games will fail to load."
# -- Sufami Turbo BIOS --
# Required by: snes9x, snes9x2010

Some files were not shown because too many files have changed in this diff Show More