From 463fca7e7d15cf21a39e42da5f766fdb73de2a71 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sun, 29 Mar 2026 22:41:01 +0200 Subject: [PATCH] Regenerate database and update emulator profiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regenerate database.json and update README counts/timestamps; add and normalize numerous BIOS entries and hashes. Key changes: update generated_at timestamp and system count (355→357) in README; add OpenBIOS / HLE fallback and additional aliases to beetle_psx, include beetle_psx core name and profiled_date update; add laseractive to ares systems; adjust atari800 systems and source_ref line numbers; mark dinothawr as a system and expand its note; update gsplus upstream/profile date, add apple-iie system and tweak source_refs; add pcsx2 core to lrps2; refresh mame profiled_date and add multiple systems and BIOS root sets. Miscellaneous script changes and other JSON normalization to reflect newly discovered/merged BIOS files. --- README.md | 10 +- database.json | 408 +++++---- emulators/ares.yml | 1 + emulators/atari800.yml | 6 +- emulators/beetle_psx.yml | 34 +- emulators/dinothawr.yml | 4 +- emulators/gsplus.yml | 10 +- emulators/lrps2.yml | 2 +- emulators/mame.yml | 501 ++++++++++- emulators/mamemess.yml | 1278 +++++++++++++++++++++++++++- emulators/quasi88.yml | 18 +- platforms/bizhawk.yml | 2 +- scripts/common.py | 22 +- scripts/generate_pack.py | 258 ++++-- scripts/scraper/bizhawk_scraper.py | 2 +- 15 files changed, 2244 insertions(+), 312 deletions(-) diff --git a/README.md b/README.md index c42a56a4..2148fcef 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM. -**7,245** verified files across **355** systems, ready to extract into your emulator's BIOS directory. +**7,245** verified files across **357** systems, ready to extract into your emulator's BIOS directory. ## Quick Install @@ -45,13 +45,13 @@ Each file is checked against the emulator's source code to match what the code a - **10 platforms** supported with platform-specific verification - **328 emulators** profiled from source (RetroArch cores + standalone) -- **355 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...) +- **357 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...) - **7,245 files** verified with MD5, SHA1, CRC32 checksums - **9266 MB** total collection size ## Supported systems -NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 321+ more. +NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 323+ more. Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)** @@ -66,7 +66,7 @@ Full list with per-file details: **[https://abdess.github.io/retrobios/](https:/ | Recalbox | 276/346 (79.8%) | 273 | 3 | 70 | | RetroArch | 443/448 (98.9%) | 443 | 0 | 5 | | RetroBat | 330/331 (99.7%) | 326 | 4 | 1 | -| RetroDECK | 1958/2007 (97.6%) | 1876 | 82 | 49 | +| RetroDECK | 1958/2007 (97.6%) | 1932 | 26 | 49 | | RetroPie | 443/448 (98.9%) | 443 | 0 | 5 | | RomM | 372/374 (99.5%) | 372 | 0 | 2 | @@ -130,4 +130,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. This repository provides BIOS files for personal backup and archival purposes. -*Auto-generated on 2026-03-29T14:04:16Z* +*Auto-generated on 2026-03-29T14:15:30Z* diff --git a/database.json b/database.json index 56eb84b5..6034d66e 100644 --- a/database.json +++ b/database.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-29T14:00:48Z", + "generated_at": "2026-03-29T20:39:20Z", "total_files": 7245, "total_size": 9715681216, "files": { @@ -100070,40 +100070,94 @@ "2ae988416d74273b0213e0be6513eabc3d974d49" ], "c64_geocable.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "cgenie_printer.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "dmv_k210.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "fdc37c93x.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "isa_lpt.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "pc_lpt.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "pofo_hpc101.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "sv802.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "vtech_printer.zip": [ - "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "82c606.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "bk_ay.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "bk_covox.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "bk_printer.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "cocopakram.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "distomeb_rtime.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "electron_fbprint.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "fdc37c665gt.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "fdc37m707.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "isa_bblue2.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "it8703f_device.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "it8705f.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "pc87306.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "pc97338.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "psion_parallel.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "psion_3link_par.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "spectrum_kempcentrs.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "upc82c710.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "upc82c711.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "w83977tf.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" + ], + "w83787f.zip": [ + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c" ], "atom_econet.zip": [ "2d7d999e2acb4da55c26d1517934d39e7d0a0c86", @@ -100114,16 +100168,22 @@ "eb7ff2179f102be63f217466f643bd93b4910f9e" ], "c64_music64.zip": [ - "122dea22f51ad868ca111e045d2ae6d1bec4fc91", - "1927797dd8fba39987906d8c90c8b182968783eb" + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" ], "c64_sfxse.zip": [ - "122dea22f51ad868ca111e045d2ae6d1bec4fc91", - "1927797dd8fba39987906d8c90c8b182968783eb" + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" ], "c64_supercpu.zip": [ - "122dea22f51ad868ca111e045d2ae6d1bec4fc91", - "1927797dd8fba39987906d8c90c8b182968783eb" + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" + ], + "c64_buscard.zip": [ + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" + ], + "c64_ieee488.zip": [ + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" + ], + "c64_buscard2.zip": [ + "122dea22f51ad868ca111e045d2ae6d1bec4fc91" ], "c64_swiftlink.zip": [ "17409b32b33cd1474b1aa1417dd3467b15589e16", @@ -100282,24 +100342,19 @@ "da272af2fb1da8883c539b19c1bda97c5301dc80" ], "cpc_mface2.zip": [ - "d3b68c28975704af68fb2016e1fe611d10177495", - "949b9b362e1dc615a2e5783016207ff0d87de465" + "d3b68c28975704af68fb2016e1fe611d10177495" ], "cpc_playcity.zip": [ - "d3b68c28975704af68fb2016e1fe611d10177495", - "949b9b362e1dc615a2e5783016207ff0d87de465" + "d3b68c28975704af68fb2016e1fe611d10177495" ], "cpc_ser.zip": [ - "d3b68c28975704af68fb2016e1fe611d10177495", - "949b9b362e1dc615a2e5783016207ff0d87de465" + "d3b68c28975704af68fb2016e1fe611d10177495" ], "cpc_serams.zip": [ - "d3b68c28975704af68fb2016e1fe611d10177495", - "949b9b362e1dc615a2e5783016207ff0d87de465" + "d3b68c28975704af68fb2016e1fe611d10177495" ], "cpc_ssa1.zip": [ - "d3b68c28975704af68fb2016e1fe611d10177495", - "949b9b362e1dc615a2e5783016207ff0d87de465" + "d3b68c28975704af68fb2016e1fe611d10177495" ], "d2fdc.zip": [ "af56c948598291b284a528f3fce06b961dba55e3", @@ -100341,16 +100396,20 @@ "75de4163ec975c736f71eff860d5d656e2806333" ], "pofo_hpc104.zip": [ - "e92c1797f962812e911c85cbfd7f91169738e9ac", - "9f9ab9a092e0936758ad2fb93a537533231468c8" + "e92c1797f962812e911c85cbfd7f91169738e9ac" ], "pofo_hpc104_2.zip": [ - "e92c1797f962812e911c85cbfd7f91169738e9ac", - "9f9ab9a092e0936758ad2fb93a537533231468c8" + "e92c1797f962812e911c85cbfd7f91169738e9ac" ], "to7_io_line.zip": [ "e92c1797f962812e911c85cbfd7f91169738e9ac" ], + "psion_serpar.zip": [ + "e92c1797f962812e911c85cbfd7f91169738e9ac" + ], + "psion_siena_ssd.zip": [ + "e92c1797f962812e911c85cbfd7f91169738e9ac" + ], "isa_hdc_ec1841.zip": [ "2561d3c19ab5fcf397a46af37cff1097555a7464" ], @@ -100378,22 +100437,20 @@ ], "peribox_genmod.zip": [ "827512b74c2d90c34a992036fb974ddd4e9454bd", - "e037089e7f53382950a6e8d3939af2cae5d4a7d5" + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86" ], "peribox_sg.zip": [ "0a6aa44fe3d86af0ecbf428b49fd8053e4da8e11", - "e037089e7f53382950a6e8d3939af2cae5d4a7d5" + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86" ], "popn9.zip": [ "207e34befb36e945bbbaf9012156b70a1be97819" ], "ql_sqboard512.zip": [ - "ce84f25384217a1280f1fddbf8919967d6ddca14", - "7e37e3dae0c4ddff1912bf02fca3fb2019326b78" + "ce84f25384217a1280f1fddbf8919967d6ddca14" ], "ql_sqmouse512.zip": [ - "ce84f25384217a1280f1fddbf8919967d6ddca14", - "7e37e3dae0c4ddff1912bf02fca3fb2019326b78" + "ce84f25384217a1280f1fddbf8919967d6ddca14" ], "ql_trump256.zip": [ "c34662ee1d51ae0ae2899f923694f1d8024559fa" @@ -100414,16 +100471,88 @@ "634008f34b031c0e5d0186936c065e6e20808264" ], "spectrum_intf1.zip": [ - "0cb430aea9354d8c151933a12c33fa2bb69c16d3", - "8aaa6099ccaa133cb8f54846f65348dff3851c19" + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" ], "spectrum_melodik.zip": [ - "0cb430aea9354d8c151933a12c33fa2bb69c16d3", - "8aaa6099ccaa133cb8f54846f65348dff3851c19" + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" ], "spectrum_uslot.zip": [ - "0cb430aea9354d8c151933a12c33fa2bb69c16d3", - "8aaa6099ccaa133cb8f54846f65348dff3851c19" + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_betacbi.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_betaplus.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_betav3.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_betav2.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_beta128.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_betaclone.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_disciple.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_gamma.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_flpone.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_kempdisc.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface1.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface128v1.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface128.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface1v1.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface1v2.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mface1v3.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_lprint3.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_mprint.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_speccydos.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_spdos.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_specmate.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_swiftdisc2.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_vtx5000.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_swiftdisc.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" + ], + "spectrum_wafa.zip": [ + "0cb430aea9354d8c151933a12c33fa2bb69c16d3" ], "sv602.zip": [ "befce08c839e414535478e4efd44e1b30dbec598", @@ -102538,69 +102667,6 @@ "flash.bin": [ "94d44d7f9529ec1642ba3771ed3c5f756d5bc872" ], - "82c606.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "bk_ay.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "bk_covox.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "bk_printer.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "cocopakram.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "distomeb_rtime.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "electron_fbprint.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "fdc37c665gt.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "fdc37m707.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "isa_bblue2.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "it8703f_device.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "it8705f.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "pc87306.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "pc97338.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "psion_parallel.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "psion_3link_par.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "spectrum_kempcentrs.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "upc82c710.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "upc82c711.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "w83977tf.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], - "w83787f.zip": [ - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea" - ], "a2bufgrapplerplusa.zip": [ "7c54fb94853478d23ec155a8e38b76d830f52e46" ], @@ -102838,15 +102904,6 @@ "bbc_usersplit.zip": [ "90f1c144839c5269ff8567dd6685ae356027f146" ], - "c64_buscard.zip": [ - "1927797dd8fba39987906d8c90c8b182968783eb" - ], - "c64_ieee488.zip": [ - "1927797dd8fba39987906d8c90c8b182968783eb" - ], - "c64_buscard2.zip": [ - "1927797dd8fba39987906d8c90c8b182968783eb" - ], "centronics_chessmec.zip": [ "e908b954f3c4b25f59de1e17e51cbd020540c243" ], @@ -103034,19 +103091,13 @@ "eaabc1ef9448c297ef7cbae90278b265acd48169" ], "peribox_ev1.zip": [ - "e037089e7f53382950a6e8d3939af2cae5d4a7d5" + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86" ], "ti99_iosplit.zip": [ - "e037089e7f53382950a6e8d3939af2cae5d4a7d5" + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86" ], "ti99_speechconn.zip": [ - "e037089e7f53382950a6e8d3939af2cae5d4a7d5" - ], - "psion_serpar.zip": [ - "9f9ab9a092e0936758ad2fb93a537533231468c8" - ], - "psion_siena_ssd.zip": [ - "9f9ab9a092e0936758ad2fb93a537533231468c8" + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86" ], "profighterqb.zip": [ "631ccd946400978b10ee225e008eed199027fd8c" @@ -103075,81 +103126,6 @@ "sis85c496_host.zip": [ "7d3363b91d27ac3ff9fb91aee36d798a5331e2be" ], - "spectrum_betacbi.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_betaplus.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_betav3.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_betav2.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_beta128.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_betaclone.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_disciple.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_gamma.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_flpone.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_kempdisc.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface1.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface128v1.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface128.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface1v1.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface1v2.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mface1v3.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_lprint3.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_mprint.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_speccydos.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_spdos.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_specmate.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_swiftdisc2.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_vtx5000.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_swiftdisc.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], - "spectrum_wafa.zip": [ - "8aaa6099ccaa133cb8f54846f65348dff3851c19" - ], "spectrum_d80.zip": [ "28fce4b27babe26a6bf5d139df489302764c5ad4" ], @@ -103373,6 +103349,9 @@ "MCX_Basic_21_AZERTY": [ "c8fd92705fc42deb6a0ffac6274e27fd61ecd4cc" ], + "OPENBIOS.bin": [ + "389df7981873d9e6e46c84c20cd43af0e4226cf8" + ], "N88_0.ROM": [ "d1ae642aed4f0584eeb81ff50180db694e5101d4" ], @@ -124358,20 +124337,26 @@ "e35eda0cc2c11da92c0a6c222f314d84e623b29e", "9ecb4cae3fe19cd3faef4a22fe5d3a189ac8810c", "3a5718ea19c8e4c900a77bfd6bee701597feaa56", + "bbf1cb3e776129524d54d1f885c54d0f1b8d489c", + "122dea22f51ad868ca111e045d2ae6d1bec4fc91", "17409b32b33cd1474b1aa1417dd3467b15589e16", "9ae8707d814dc197315fb1d49571209e48ab29f3", "893deaeff7ac79fbde19817678b63905d9f9b9cb", "da272af2fb1da8883c539b19c1bda97c5301dc80", + "d3b68c28975704af68fb2016e1fe611d10177495", "af56c948598291b284a528f3fce06b961dba55e3", "d375f64dc02703eee6751bd9723978c6633348c9", "eda0107f44a9a5b15471aea99e847701f4899a96", + "e92c1797f962812e911c85cbfd7f91169738e9ac", "87ecc7a33627b1fac62ffb87e79a5aa36fe746cf", "4fc37b52d4313ff57f5557c2c3191e885b0e3fcb", "4d217c4a72a4450b75faaf7da871e8fe7b64ff60", + "ce84f25384217a1280f1fddbf8919967d6ddca14", "c34662ee1d51ae0ae2899f923694f1d8024559fa", "a0e6f65f2eca69c22c8d405af11c5d9c262efa1d", "b06ad209ef30db63711cc5bc46a5371465223ed0", "634008f34b031c0e5d0186936c065e6e20808264", + "0cb430aea9354d8c151933a12c33fa2bb69c16d3", "9139c00e5986b7a86c7e8dcbce39986126ab7db4", "14a5ff2c8ca68d35a77ebfbc227ed9c8e19d7524", "c4d0f820dbfa135db40ce94c2253cae7814cf2f2", @@ -124638,7 +124623,6 @@ "c3efedda7ab947a06d9345f7b8261076fa7ceeef", "94d44d7f9529ec1642ba3771ed3c5f756d5bc872", "f119506eaa3b4b70b9aa0dd83761e8cbe043d042", - "b22847ad1d8c5ee0fff41b3bd31aab6cbf8778ea", "7c54fb94853478d23ec155a8e38b76d830f52e46", "1a1826d7962e6bf6b94fc1bc2b17b8633eaaa0f5", "270c84df833b196e214738bbe158f4ea2203c272", @@ -124653,12 +124637,10 @@ "67b9199bc22c6fe2b3a4725ec291c158edd01151", "b1abcb49eded4fcafa76198b5f7efc65fcc940e6", "90f1c144839c5269ff8567dd6685ae356027f146", - "1927797dd8fba39987906d8c90c8b182968783eb", "275b6409633ffaf3c3fa5e191de9aa7294b8cf64", "0013eb127aa3af9dee5a881c590af5ebda0edef5", "e908b954f3c4b25f59de1e17e51cbd020540c243", "2ed5c4f7350701a4eb279f7111e22f12afbf51b4", - "949b9b362e1dc615a2e5783016207ff0d87de465", "9d73e22ee590cec56a8a1f0af0735b586f50602f", "e9aee50fcf87177493095237dc2446d67fe57252", "d5a80dd0b4ef0d22b533a3771f374dc446b63e11", @@ -124685,17 +124667,14 @@ "18889ed623d8c635966de0947076066f3732d2aa", "06fc753d015b43ca1787f4cfd9331b1674202e64", "eaabc1ef9448c297ef7cbae90278b265acd48169", - "e037089e7f53382950a6e8d3939af2cae5d4a7d5", - "9f9ab9a092e0936758ad2fb93a537533231468c8", + "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86", "631ccd946400978b10ee225e008eed199027fd8c", - "7e37e3dae0c4ddff1912bf02fca3fb2019326b78", "bf946b98e9314ac877e67af84c82418604f4bade", "bfa36e6517ba0744618e6778581beb85067be171", "134760c0544d633cb475ad58b87f92483826cb2a", "b8b8f5030a64769d27b784aeb5efca94cd72149a", "b32303333a66101a83d008af1a8c1966751ed156", "7d3363b91d27ac3ff9fb91aee36d798a5331e2be", - "8aaa6099ccaa133cb8f54846f65348dff3851c19", "28fce4b27babe26a6bf5d139df489302764c5ad4", "d9d692484446ac37e992478d60d9478bfe1fd9a6", "423b488154c36a97a160cae7d43e79089ddee16d", @@ -124749,6 +124728,7 @@ "9513091f37adf330f66a0c08f4e200344ad2e082", "36c30d0f198a1bffee88ef29d92f2401447a91f4", "c8fd92705fc42deb6a0ffac6274e27fd61ecd4cc", + "389df7981873d9e6e46c84c20cd43af0e4226cf8", "d1ae642aed4f0584eeb81ff50180db694e5101d4", "4ae4d37409ff99411a623da9f6a44192170a854e", "e94278682ef9e9bbb82201f72c50382748dcea2a", diff --git a/emulators/ares.yml b/emulators/ares.yml index edeaf074..f56095cf 100644 --- a/emulators/ares.yml +++ b/emulators/ares.yml @@ -26,6 +26,7 @@ systems: - mega-cd - mega-cd-32x - mega-ld + - laseractive - msx - msx2 - neo-geo diff --git a/emulators/atari800.yml b/emulators/atari800.yml index 506a7e51..51d160dc 100644 --- a/emulators/atari800.yml +++ b/emulators/atari800.yml @@ -7,7 +7,7 @@ profiled_date: "2026-03-23" core_version: "3.1.0" display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)" cores: [atari800] -systems: [atari-400, atari-800, atari-800xl, atari-130xe, atari-5200, atari-xegs] +systems: [atari-400-800, atari-5200] # Atari800 emulates the Atari 8-bit family (400/800/XL/XE) and the 5200 console. # All BIOS files are optional -- the core ships built-in Altirra OS replacements @@ -43,7 +43,7 @@ files: note: > Atari 5200 BIOS (original). Mapped at $F800-$FFFF. Altirra 5200 OS is used when this file is absent. - source_ref: "atari800/src/sysrom.c:101-102,254-255" + source_ref: "atari800/src/sysrom.c:101-102,255" # -- Atari BASIC ROM -- # Atari BASIC interpreter (8 KB). Three known revisions: @@ -63,7 +63,7 @@ files: note: > Atari BASIC Rev C. Required for 400/800 software that needs BASIC. Altirra BASIC is used as fallback. Enable via core option atari800_opt2. - source_ref: "atari800/src/sysrom.c:103-105,256" + source_ref: "atari800/src/sysrom.c:103-105,257" # -- Atari 400/800 OS A -- # Original Atari 400/800 OS (10 KB). Two known CRC32 values: diff --git a/emulators/beetle_psx.yml b/emulators/beetle_psx.yml index 208720cc..b9f7de46 100644 --- a/emulators/beetle_psx.yml +++ b/emulators/beetle_psx.yml @@ -3,18 +3,19 @@ type: libretro core_classification: community_fork source: "https://github.com/libretro/beetle-psx-libretro" upstream: "https://mednafen.github.io/" -profiled_date: "2026-03-24" +profiled_date: "2026-03-29" core_version: "v0.9.44.1" display_name: "Sony - PlayStation (Beetle PSX)" -cores: [mednafen_psx, mednafen_psx_hw] +cores: [beetle_psx, mednafen_psx, mednafen_psx_hw] systems: [sony-playstation] notes: > Region-based BIOS selection: the core picks JP/NA/EU firmware based on disc region. SHA1 validated with warning on mismatch (does not block loading). - SHA1 and alternate filenames sourced from MAME psx.cpp (libretro.cpp:184). - Override option allows using PSP or PS3 extracted PS1 BIOS as region-free alternative. + SHA1 and alternate filenames sourced from MAME psx.cpp (libretro.cpp:186). + Override option allows using PSP, PS3, or OpenBIOS as region-free alternative. + Embedded OpenBIOS (512KB) compiled into the binary serves as HLE fallback when no BIOS found. "Skip BIOS" option patches BIOS ROM but causes compatibility issues. - Upstream Mednafen loads the same 3 region BIOS; override BIOS are libretro additions. + Upstream Mednafen loads the same 3 region BIOS; override BIOS and HLE fallback are libretro additions. files: # -- Region: Japan (REGION_JP) -- @@ -23,12 +24,13 @@ files: description: "SCPH-5500 (v3.0 09-09-96 J)" region: "NTSC-J" required: true + hle_fallback: true size: 524288 sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917" md5: "8dd7d5296a650fac7319bce665a6a53c" validation: [sha1] mode: both - source_ref: "libretro.cpp:252-256" + source_ref: "libretro.cpp:261-269" aliases: ["SCPH5500.bin", "SCPH-5500.bin"] # -- Region: North America (REGION_NA) -- @@ -37,12 +39,13 @@ files: description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)" region: "NTSC-U" required: true + hle_fallback: true size: 524288 sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b" md5: "490f666e1afb15b7362b406ed1cea246" validation: [sha1] mode: both - source_ref: "libretro.cpp:258-270" + source_ref: "libretro.cpp:271-289" aliases: - "SCPH5501.bin" - "SCPH-5501.bin" @@ -59,12 +62,13 @@ files: description: "SCPH-5502, 5552 (v3.0 01-06-97 E)" region: "PAL" required: true + hle_fallback: true size: 524288 sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0" md5: "32736f17079d0b2b7024407c39bd3050" validation: [sha1] mode: both - source_ref: "libretro.cpp:272-282" + source_ref: "libretro.cpp:291-305" aliases: - "SCPH5502.bin" - "SCPH-5502.bin" @@ -83,7 +87,7 @@ files: md5: "c53ca5908936d412331790f4426c6c33" validation: [sha1] mode: libretro - source_ref: "libretro.cpp:190-195" + source_ref: "libretro.cpp:192-198" aliases: ["PSXONPSP660.bin"] note: "override_bios=1. Falls back to region BIOS if not found." @@ -96,6 +100,16 @@ files: md5: "81bbe60ba7a3d1cea1d48c14cbcc647b" validation: [sha1] mode: libretro - source_ref: "libretro.cpp:198-203" + source_ref: "libretro.cpp:200-206" aliases: ["PS1_ROM.bin"] note: "override_bios=2. Falls back to region BIOS if not found." + + - name: "openbios.bin" + description: "OpenBIOS (open-source PS1 HLE BIOS, region-free override)" + region: "Auto" + required: false + size: 524288 + mode: libretro + source_ref: "libretro.cpp:208-214" + aliases: ["OPENBIOS.bin"] + note: "override_bios=3. No SHA1 validation. Falls back to region BIOS if not found. Also embedded in binary as HLE fallback (libretro.cpp:2157-2159)." diff --git a/emulators/dinothawr.yml b/emulators/dinothawr.yml index 1b58ff8d..b17e578a 100644 --- a/emulators/dinothawr.yml +++ b/emulators/dinothawr.yml @@ -7,10 +7,10 @@ profiled_date: "2026-03-23" core_version: "v1.0" display_name: "Dinothawr" cores: [dinothawr] -systems: [] +systems: [dinothawr] notes: | - Puzzle game by the libretro team. Push blocks on ice. + Puzzle game by the libretro team (Themaister, Agnes Heyer). Push blocks on ice. Game data (TMX levels, sprites, music) needed for the core to work. Two loading modes: diff --git a/emulators/gsplus.yml b/emulators/gsplus.yml index 45500040..b7d97621 100644 --- a/emulators/gsplus.yml +++ b/emulators/gsplus.yml @@ -1,14 +1,16 @@ emulator: GSplus type: standalone +core_classification: community_fork source: "https://github.com/digarok/gsplus" -upstream: "https://github.com/digarok/gsplus" -profiled_date: "2026-03-26" +upstream: "https://kegs.sourceforge.net/" +profiled_date: "2026-03-29" core_version: "KEGS 1.38" display_name: "Apple - Apple IIGS (GSplus)" cores: - gsplus systems: - apple-iigs + - apple-iie notes: | Fork of KEGS (Kent's Emulated GS) by digarok. Cross-platform Apple IIGS @@ -28,7 +30,7 @@ files: aliases: [ROM.01, ROM.03, APPLE2GS.ROM, APPLE2GS.ROM2, xgs.rom, XGS.ROM, Rom03gd, 342-0077-b] required: true description: "Apple IIGS system ROM" - source_ref: "config.c:131,403-407,1092-1149" + source_ref: "config.c:131,403-406,1092-1149" note: "Accepted sizes: 32768 (Apple //e), 131072 (ROM 01), 262144 (ROM 03)" validation: [size] @@ -39,5 +41,5 @@ files: size: 256 description: "Disk II controller PROM (slot 6)" validation: [size] - source_ref: "config.c:414-415,1188-1220" + source_ref: "config.c:414-415,1168-1220" note: "Built-in PROM generated from XOR diffs against main ROM" diff --git a/emulators/lrps2.yml b/emulators/lrps2.yml index d94f411a..4f6e6d36 100644 --- a/emulators/lrps2.yml +++ b/emulators/lrps2.yml @@ -10,7 +10,7 @@ upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-03-25" core_version: "Git" display_name: "Sony - PlayStation 2 (LRPS2)" -cores: [lrps2] +cores: [lrps2, pcsx2] systems: [sony-playstation-2] bios_directory: "pcsx2/bios/" diff --git a/emulators/mame.yml b/emulators/mame.yml index 3a90c497..a78f1141 100644 --- a/emulators/mame.yml +++ b/emulators/mame.yml @@ -4,7 +4,7 @@ core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" -profiled_date: "2026-03-22" +profiled_date: "2026-03-29" core_version: "0.286" display_name: "Arcade (MAME)" @@ -43,13 +43,29 @@ systems: - konami-twinkle - panasonic-3do - hyper-neogeo64 + - apple2gs - apf-m1000 + - bally-astrocade - coleco-adam + - crvision - entex-advision + - sega-beena + - camplynx + - tiger-game-com + - gamepark-gp32 + - gamate + - gamepock + - hartung-game-master + - fm7 + - laser310 + - casio-loopy + - casio-pv1000 + - pegasus + - pcw notes: | Rolling release tracking mamedev/mame upstream (currently 0.286). - 80 BIOS root sets + 3 system ROM sets (adam, advision, apfm1000). romload.cpp + 80 BIOS root sets + 18 system ROM sets (apple2gs, astrocade, adam, advision, apfm1000, beena, camplynx, casloopy, crvision, fm7, gamate, gamecom, gamepock, gmaster, gp32, laser310, pcw, pegasus). romload.cpp unmodified. No hiscore support. Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins, samples, crosshair). ROM search: content_dir + system_dir/mame/bios + @@ -515,6 +531,80 @@ files: category: bios_zip source_ref: "src/mame/misc/xtom3d.cpp:996" + # Bally Astrocade + - name: astrocde.zip + required: true + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:244-247" + contents: + - name: astro.bin + description: "On-board BIOS ROM (Bally Professional Arcade)" + size: 8192 + crc32: ebc77f3a + + - name: astrocdl.zip + required: false + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:249-251" + contents: + - name: ballyhlc.bin + description: "Bally Home Library Computer BIOS" + size: 8192 + crc32: d7c517ba + + - name: astrocdw.zip + required: false + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:254-257" + contents: + - name: bioswhit.bin + description: "Bally Computer System BIOS" + size: 8192 + crc32: 6eb53e79 + + # Apple IIgs + - name: apple2gs.zip + required: true + category: bios_zip + system: apple2gs + source_ref: "src/mame/apple/apple2gs.cpp:3898-3912" + contents: + - name: 341s0632-2.bin + description: "ADB microcontroller ROM (M50740/50741)" + size: 4096 + crc32: e1c11fb0 + - name: 344s0047.bin + description: "Mega II character ROM" + size: 16384 + crc32: 2d541944 + - name: 341-0728 + description: "IIgs ROM03 FC-FD main CPU" + size: 131072 + crc32: 8d410067 + - name: 341-0748 + description: "IIgs ROM03 FE-FF main CPU" + size: 131072 + crc32: "18190283" + + # Casio Loopy + - name: casloopy.zip + required: true + category: bios_zip + system: casio-loopy + source_ref: "src/mame/casio/casloopy.cpp:2456-2462" + contents: + - name: hd6437021.lsi302 + description: "SH-1 CPU internal mask ROM" + size: 32768 + crc32: 8c57ff9f + - name: hn62434fa.lsi352 + description: "HN62434 sound/wave data mask ROM" + size: 524288 + crc32: 8f51fa17 + # Coleco Adam - name: adam.zip required: true @@ -661,3 +751,410 @@ files: size: 4096 crc32: f320aba6 + # Sega Advanced Pico BEENA + - name: beena.zip + required: true + category: bios_zip + system: sega-beena + source_ref: "src/mame/sega/sega_beena.cpp:2233-2245" + contents: + - name: 9h0-0008.bios.ic1 + description: "SoC internal BIOS (ARM7, dumped via JTAG)" + size: 131072 + crc32: 5471aaf8 + - name: 9h0-0008.midipcm.ic1 + description: "SoC MIDI synthesizer PCM data" + size: 32768 + crc32: ed336d29 + + # Camputers Lynx 48K + - name: lynx48k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:995-1004" + contents: + - name: lynx48-1.ic46 + description: "BASIC ROM bank 1 (Set1)" + size: 8192 + crc32: 56feec44 + - name: lynx48-2.ic45 + description: "BASIC ROM bank 2 (Set1)" + size: 8192 + crc32: d894562e + - name: lynx4811.ic46 + description: "BASIC ROM bank 1 (Set2)" + size: 8192 + crc32: a933e577 + - name: lynx4812.ic45 + description: "BASIC ROM bank 2 (Set2)" + size: 8192 + crc32: 3d3fdd0e + + # Camputers Lynx 96K + - name: lynx96k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:1006-1018" + contents: + - name: lynx9646.ic46 + description: "BASIC ROM bank 1" + size: 8192 + crc32: f86c5514 + - name: lynx9645.ic45 + description: "BASIC ROM bank 2" + size: 8192 + crc32: f596b9a3 + - name: lynx9644.ic44 + description: "Extension ROM (original)" + size: 4096 + crc32: 4b96b0de + - name: skorprom.ic44 + description: "Scorpion ROM v2.1 (RLUG)" + size: 8192 + crc32: 698d3de9 + - name: danish96k3.ic44 + description: "Danish extension ROM" + size: 8192 + crc32: 795c22ea + - name: dosrom.rom + description: "Floppy DOS ROM" + size: 8192 + crc32: 011e106a + + # Camputers Lynx 128K + - name: lynx128k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:1020-1026" + contents: + - name: lynx128-1.ic1 + description: "BASIC ROM bank 1" + size: 8192 + crc32: 65d292ce + - name: lynx128-2.ic2 + description: "BASIC ROM bank 2" + size: 8192 + crc32: 23288773 + - name: lynx128-3.ic3 + description: "BASIC ROM bank 3" + size: 8192 + crc32: 9827b9e9 + - name: dosrom.rom + description: "Floppy DOS ROM" + size: 8192 + crc32: 011e106a + + # VTech CreatiVision + - name: crvision.zip + required: true + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:934-937" + contents: + - name: crvision.u20 + description: "Microsoft BASIC ROM" + size: 2048 + crc32: c3c590c6 + + - name: fnvision.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:939-942" + note: "FunVision clone with alternate BIOS" + contents: + - name: funboot.rom + description: "FunVision alternate BIOS ROM" + size: 2048 + crc32: "05602697" + + - name: lasr2001.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:950-953" + note: "VTech Laser 2001 home computer (CreatiVision successor)" + contents: + - name: laser2001.rom + description: "Laser 2001 BASIC + OS ROM" + size: 16384 + crc32: 4dc35c39 + + - name: manager.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:955-959" + note: "Salora Manager (Finnish variant)" + contents: + - name: "01" + description: "ROM bank 0-1" + size: 8192 + crc32: 702f4cf5 + - name: "23" + description: "ROM bank 2-3" + size: 8192 + crc32: 46489d88 + + # VTech Laser 310 (VZ-300) + - name: laser310.zip + required: true + category: bios_zip + system: laser310 + source_ref: "src/mame/vtech/vtech1.cpp:602-608" + note: "Z80-based home computer (1984). Clones: VZ-300, Laser 310 SHRG." + contents: + - name: vtechv20.u12 + description: "BASIC V2.0 ROM (default)" + size: 16384 + crc32: 613de12c + - name: vtechv21.u12 + description: "BASIC V2.1 ROM (hack)" + size: 16384 + crc32: f7df980f + + # Bit Corporation Gamate + - name: gamate.zip + required: true + category: bios_zip + system: gamate + source_ref: "src/mame/bitcorp/gamate.cpp:228-234" + contents: + - name: gamate_bios_umc.bin + description: "UMC/NCR ICASC00002 BIOS (default)" + size: 4096 + crc32: "07090415" + - name: gamate_bios_bit.bin + description: "BIT ICASC00001 BIOS (1994)" + size: 4096 + crc32: 03a5f3a7 + + # Epoch Game Pocket Computer + - name: gamepock.zip + required: true + category: bios_zip + system: gamepock + source_ref: "src/mame/epoch/gamepock.cpp:248-251" + contents: + - name: egpcboot.bin + description: "NEC uPD78C06AG internal ROM" + size: 4096 + crc32: ee1ea65d + + # Hartung Game Master + - name: gmaster.zip + required: true + category: bios_zip + system: hartung-game-master + source_ref: "src/mame/handheld/gmaster.cpp:261-263" + contents: + - name: d78c11agf_e19.u1 + description: "NEC D78C11AGF internal ROM" + size: 4096 + crc32: 05cc45e5 + + # Tiger game.com + - name: gamecom.zip + required: true + category: bios_zip + system: tiger-game-com + source_ref: "src/mame/tiger/gamecom.cpp:293-299" + contents: + - name: internal.bin + description: "SM8521 CPU internal ROM" + size: 4096 + crc32: a0cec361 + - name: external.bin + description: "External flash ROM (PDA software)" + size: 262144 + crc32: e235a589 + + # GamePark GP32 + - name: gp32.zip + required: true + category: bios_zip + system: gamepark-gp32 + source_ref: "src/mame/gamepark/gp32.cpp:1710-1727" + contents: + - name: gp32157e.bin + description: "Firmware 1.5.7 (English, default)" + size: 524288 + crc32: b1e35643 + - name: gp32100k.bin + description: "Firmware 1.0.0 (Korean)" + size: 524288 + crc32: d9925ac9 + - name: gp32156k.bin + description: "Firmware 1.5.6 (Korean)" + size: 524288 + crc32: "667fb1c8" + - name: gp32166m.bin + description: "Firmware 1.6.6 (European)" + size: 524288 + crc32: "4548a840" + - name: gp32mfv2.bin + description: "Mr. Spiv Multi Firmware V2" + size: 524288 + crc32: "7ddaaaeb" + - name: x2c32.jed + description: "32 Macrocell CoolRunner-II CPLD (JEDEC)" + size: 15291 + crc32: eeec10d8 + + # Fujitsu FM-7 family + - name: fm7.zip + required: true + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209" + contents: + - name: fbasic300.rom + description: "F-BASIC 3.00 ROM" + size: 31744 + crc32: 87c98494 + - name: subsys_c.rom + description: "Sub-CPU system ROM" + size: 10240 + crc32: 24cec93f + - name: boot_bas.rom + description: "Boot BASIC ROM" + size: 512 + crc32: c70f0c74 + - name: boot_dos_a.rom + description: "Boot DOS-A ROM" + size: 512 + crc32: bf441864 + - name: kanji.rom + description: "Kanji ROM (optional, JIS level 1)" + size: 131072 + crc32: 62402ac9 + + - name: fm77av.zip + required: true + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2211-2232" + contents: + - name: initiate.rom + description: "Initiate ROM (boot sequencer)" + size: 8192 + crc32: 785cb06c + - name: fbasic30.rom + description: "F-BASIC 3.0 ROM" + size: 31744 + crc32: a96d19b6 + - name: subsys_a.rom + description: "Sub system A ROM" + size: 8192 + crc32: e8014fbb + - name: subsys_b.rom + description: "Sub system B ROM" + size: 8192 + crc32: 9be69fac + - name: subsyscg.rom + description: "Sub system CG ROM (character generator)" + size: 8192 + crc32: e9f16c42 + + - name: fmnew7.zip + required: false + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186" + note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent" + contents: + - name: fbasic302.rom + description: "F-BASIC 3.02 ROM" + size: 31744 + crc32: a96d19b6 + - name: boot_dos.rom + description: "Boot DOS ROM" + size: 512 + crc32: 198614ff + + # Technosys Aamber Pegasus + - name: pegasus.zip + required: true + category: bios_zip + system: pegasus + source_ref: "src/mame/ausnz/pegasus.cpp:ROM_START" + note: "6809-based home computer (1981, New Zealand). 8 monitor BIOS variants, 5 cartridge expansion slots." + contents: + - name: mon11_2674.bin + description: "Monitor 1.1 r2674 (default)" + size: 4096 + crc32: 1640ff7e + - name: mon10_2569.bin + description: "Monitor 1.0 r2569" + size: 4096 + crc32: 910fc930 + - name: mon11_2569.bin + description: "Monitor 1.1 r2569" + size: 4096 + crc32: "07b92002" + - name: mon11_2669.bin + description: "Monitor 1.1 r2669" + size: 4096 + crc32: f3ee23c8 + - name: mon22_2856.bin + description: "Monitor 2.2 r2856" + size: 4096 + crc32: 5f5f688a + - name: mon22b_2856.bin + description: "Monitor 2.2B r2856" + size: 4096 + crc32: a47b0308 + - name: mon23_2601.bin + description: "Monitor 2.3 r2601" + size: 4096 + crc32: 0e024222 + - name: mon23a_2569.bin + description: "Monitor 2.3A r2569" + size: 4096 + crc32: 248e62c9 + - name: 6571.bin + description: "MCM6571A character generator" + size: 2048 + crc32: 5a25144b + + # Amstrad PCW (Joyce) + - name: pcw8256.zip + required: true + category: bios_zip + system: pcw + source_ref: "src/mame/amstrad/pcw.cpp:1402" + note: | + Amstrad PCW8256 parent ROM set. Z80-based word processor/computer (1985). + 6 machines: pcw8256 (parent), pcw8512, pcw9256, pcw9512, pcw9512+, pcw10. + All MACHINE_NOT_WORKING. No main CPU ROM (boots from CP/M floppy). + Printer MCU boot code copied into Z80 RAM at machine_reset. + Clones pcw8512/pcw9256/pcw10 share parent ROMs. pcw9512/pcw9512+ use + separate daisywheel printer MCU (pcw9512.zip). + contents: + - name: 40026.ic701 + description: "i8041 9-pin dot-matrix printer MCU" + size: 1024 + crc32: ee8890ae + - name: 40027.ic801 + description: "i8048 keyboard MCU" + size: 1024 + crc32: "25260958" + + - name: pcw9512.zip + required: true + category: bios_zip + system: pcw + source_ref: "src/mame/amstrad/pcw.cpp:1429" + note: | + Amstrad PCW9512 clone ROM set. Daisywheel printer variant (1987). + Uses different printer MCU (40103.ic109) than 9-pin models. + Keyboard MCU (40027.ic801) inherited from parent pcw8256.zip. + contents: + - name: 40103.ic109 + description: "i8041 daisywheel printer MCU" + size: 8192 + crc32: a64d450a + diff --git a/emulators/mamemess.yml b/emulators/mamemess.yml index 13d989cf..3a0fe316 100644 --- a/emulators/mamemess.yml +++ b/emulators/mamemess.yml @@ -3,15 +3,39 @@ type: libretro core_classification: official_port source: "https://github.com/libretro/mame" upstream: "https://github.com/mamedev/mame" -profiled_date: "2026-03-24" +profiled_date: "2026-03-29" core_version: "0.286" display_name: "Multi (MAME/MESS)" cores: - mamemess systems: + - apple2 + - apple2gs + - astrocde + - astrocade - coleco-adam + - crvision - entex-advision + - mattel-aquarius + - camplynx + - cgenie + - atom + - tiger-game-com + - gamepark-gp32 + - gamate + - gamepock + - hartung-game-master + - fm7 + - laser310 + - casio-loopy + - mz700 + - mz2000 + - mz2500 + - mz800 + - pc60 + - mz80k + - pegasus notes: | SUBTARGET=mess build from libretro/mame. Same source, same CORE_NAME ("mame"), @@ -30,9 +54,143 @@ notes: | 1 active IS_BIOS_ROOT (miuchiz). XaviX TV game parent machines serve as console BIOS for cartridge-based software (IS_BIOS_ROOT commented out in - source but functionally required). Coleco Adam and Entex Adventure Vision - system ROMs required for software loading (not IS_BIOS_ROOT but - functionally BIOS). Adam uses ADAMnet bus with per-device MCU ROMs. + source but functionally required). Apple II family, Apple IIgs, Bally + Astrocade, Casio Loopy, Coleco Adam, VTech CreatiVision, Entex + Adventure Vision, EACA Colour Genie, Acorn Atom, Tiger game.com, + Bit Corporation Gamate, Epoch Game Pocket Computer, Hartung Game + Master, Technosys Aamber Pegasus and VTech Laser 310 system ROMs + required for software loading (not IS_BIOS_ROOT but functionally BIOS). + + Apple II: 4 machine ROM sets (apple2, apple2p, apple2e, apple2ee) plus + 5 peripheral device ROM sets (disk controllers, CompactFlash, speech). + Drivers in apple2.cpp and apple2e.cpp, both in mess.flt. Peripheral + devices loaded via A2Bus slot system when configured. + + Apple IIgs parent set (ROM03) has 4 ROMs: ADB microcontroller, Mega II + character ROM, and two main CPU ROMs. Adam uses ADAMnet bus with + per-device MCU ROMs. + + Bally Astrocade: 3 machines (astrocde parent, astrocdl Home Library + Computer, astrocdw Computer System). Single 8K BIOS ROM per machine. + Driver in midway/astrohome.cpp (mess.flt). Cartridge-based console + with software list "astrocde". No bus device ROMs. + + VTech CreatiVision: 7 machines (crvision parent PAL, fnvision FunVision, + crvisioj Japan NTSC, wizzard Dick Smith Wizzard, rameses Hanimex, + vz2000 VZ 2000, crvisio2 MK-II). Single 2K BIOS ROM (crvision.u20). + Clones wizzard/crvisioj/crvisio2 share parent ROM. fnvision/rameses/vz2000 + use alternate BIOS (funboot.rom). Related separate systems: lasr2001 + (Laser 2001, 16K ROM) and manager (Salora Manager, 2x8K ROM). + Driver in vtech/crvision.cpp (mess.flt). Cartridge-based console + with centronics printer port. Software list "crvision". + + Mattel Aquarius: 4 machines (aquarius NTSC, aquariusp PAL, aquarius2, + aquarius_ar Arabic). aquariusp uses identical ROMs as parent + (#define rom_aquariusp rom_aquarius). aquarius2 adds extended BASIC. + aquarius_ar has Arabic character ROM. Expansion slot supports C1541 + DOS interface (Commodore 1541 device ROM loaded separately). + + Acorn Atom: 5 machines (atom parent, atombbc BBC BASIC, prophet2 + Busicomputers Prophet 2, atomes ES5700 NOT_WORKING, atomrr RAMROM + NOT_WORKING). Parent set has Atom BASIC (abasic.ic20, 8KB split-loaded) + and floating point ROM (afloat.ic21). atombbc adds MOS3 and BBC BASIC + ROMs. prophet2 has alternative FP ROM and AtomCalc ROMs. Expansion bus + (pl6/pl7/pl8) with discpack default on pl6. Bus device ROMs: discpack + (8271 FDC DOS ROM), gdos (GDOS 1.66), gdos2015 (GDOS-2015 flash), + speech (SP0256A-AL2), vdu80 (80-column charset, BAD_DUMP). Software + lists: atom_cass (cassette), atom_flop (floppy), atom_rom (cartridge). + Driver in acorn/atom.cpp, in mess.flt. + + Camputers Lynx: 3 machines (lynx48k parent, lynx96k, lynx128k). + Z80A-based British home computer (1983). lynx48k has 2 BIOS sets + (Set1 default, Set2 alternate). lynx96k adds floppy DOS ROM and 3 + BIOS variants for IC44 (original, Scorpion v2.1, Danish). lynx128k + has 3 main ROMs plus same DOS ROM. Software lists: camplynx_cass + (cassette) for all models, camplynx_flop (floppy) for 96K/128K. + Driver in camputers/camplynx.cpp, in mess.flt. + + EACA Colour Genie: 2 machines (cgenie parent EU, cgenienz NZ clone). + Z80-based home computer (1982). Parent set has 4x4KB BASIC/system ROMs + and character ROM (German + default). NZ clone has 16KB BASIC ROM + (2 BIOS variants: old/new) with different palette init. Expansion slot + with optional FDC (WD2793, 4x 5.25" floppies, DOS ROM maps to + 0xC000-0xDFFF). Parallel slot with joystick/printer options (no ROMs). + Software lists: cgenie_cass (cassette), cgenie_flop_rom (FDC ROM + socket). Driver in eaca/cgenie.cpp, in mess.flt. + + Tiger game.com: 1 machine (gamecom). SM8521-based handheld (1997). + Internal ROM (4KB, SM8521 CPU boot code) and external flash ROM + (256KB, PDA software). Cartridge-based with software list "gamecom". + MACHINE_IMPERFECT_SOUND. Driver in tiger/gamecom.cpp, in mess.flt. + + Bit Corporation Gamate: 1 machine (gamate). M6502-based handheld (1990). + Single 4KB BIOS ROM mapped at 0xE000-0xEFFF (mirrored to 0xF000). + Two BIOS variants: UMC/NCR ICASC00002 (default, common) and BIT + ICASC00001 (newer, 1994). Cartridge-based with software list "gamate". + Driver in bitcorp/gamate.cpp, in mess.flt. + + Epoch Game Pocket Computer: 1 machine (gamepock). NEC uPD78C06AG-based + handheld (1984). Single 4KB internal CPU ROM (egpcboot.bin). Cartridge-based + with software list "gamepock" (5 official games). MACHINE_SUPPORTS_SAVE. + Driver in epoch/gamepock.cpp, in mess.flt. + + Hartung Game Master: 1 machine (gmaster). NEC D78C11AGF-based handheld + (1990). Single 4KB internal MCU ROM. Cartridge-based with software list + "gmaster" (18 games). Driver in handheld/gmaster.cpp, in mess.flt. + + Fujitsu FM-7: 5 machines (fm7 parent, fmnew7 FM-NEW7, fm77av FM-77AV + IMPERFECT_GRAPHICS, fm7740sx FM-77AV40SX NOT_WORKING; fm8 FM-8 + separate parent). M6809-based home computer family (1982-1988). fm7 + parent set has F-BASIC 3.00, sub-CPU ROM, boot ROMs and optional Kanji + ROM. fm77av adds initiate ROM, subsys A/B/CG ROMs and requires Kanji. + Related machines fm11 (FM-11 EX) and fm16beta (FM-16beta) are separate + parents, both NOT_WORKING. Software lists: fm7_cass, fm7_disk, fm77av. + Driver in fujitsu/fm7.cpp, in mess.flt. + + Sharp MZ-80K/A: 3 machines (mz80kj parent MZ-80K Japanese, mz80k clone of + mz80kj MZ-80K, mz80a separate parent MZ-80A). Z80-based home computer (1979). + mz80kj parent set has monitor ROM (sp1002), floppy disk interface ROM + (mz80kfdif), and Japanese character generator (mz80k.jpn + 80kcgj). mz80k + clone has 3 BIOS alternatives (sp1002/tc/v44), shared FDI ROM, and English + character generator (80kcg + 80kcgf). mz80a separate parent has its own + monitor (sa1510), FDI (mz80afi), and chargen (mz80acg). Software list: + mz80k_cass (mz80k/mz80kj). Driver in sharp/mz80.cpp, in mess.flt. + + Sharp MZ-2000 B-series: 3 machines (mz80b parent MZ-80B NOT_WORKING, + mz2000 separate parent MZ-2000, mz2200 MZ-2200 clone of mz2000). + Z80-based home computer family (1981-1983). mz2000 parent set has IPL ROM + and character generator ROM (BAD_DUMP). mz2200 clone adds its own IPL ROM, + shares chargen from parent. mz80b has separate IPL and font ROMs. + Software lists: mz2000_flop, mz2000_cass, mz2000_snap (mz2000/mz2200), + mz80b_flop, mz80b_cass (mz80b). Driver in sharp/mz2000.cpp, in mess.flt. + + Sharp MZ-2500: 2 machines (mz2500 parent MZ-2500, mz2520 MZ-2520 clone of + mz2500). Z80-based home computer (1985), marketed as "SuperMZ". + MACHINE_IMPERFECT_GRAPHICS. mz2500 parent set has 6 ROMs: IPL, character + generator ("hand made?" comment), kanji level 1, kanji level 2, dictionary, + phone. mz2520 clone shares all ROMs except IPL (ipl2520.rom). cgrom region + declared but not dereferenced in driver code; loaded by MAME ROM system. + Software lists: mz2500_flop, compatible with mz2000_flop. + Driver in sharp/mz2500.cpp, in mess.flt. + + Sharp MZ-700/800: 4 machines (mz700 parent MZ-700, mz700j MZ-700 Japan clone + of mz700, mz800 separate parent MZ-800 MACHINE_NOT_WORKING, mz1500 separate + parent MZ-1500 MACHINE_NOT_WORKING). Z80-based home computer family (1982-1984). + mz700 parent set has monitor ROM and character generator ROM. mz800 parent set + has monitor ROM with 4 BIOS alternatives (official 9Z-504M + 3 Willy's variants); + no cgrom (uses CGRAM). mz1500 is the Japanese MZ-800 with its own monitor ROM + and shares cgrom format from mz700. Software lists: mz700_cass (mz700), + mz800_cass (mz800/mz1500). Driver in sharp/mz700.cpp, in mess.flt. + + NEC PC-6001 family: 6 machines across 3 parents. pc6001 parent (PC-6001 Japan + 1981), pc6001a clone (PC-6001A "NEC Trek" US). pc6001mk2 parent (PC-6001mkII + Japan 1983), pc6601 clone of pc6001 (PC-6601 Japan 1983, adds FDD). + pc6001mk2sr parent (PC-6001mkIISR Japan 1984), pc6601sr clone of pc6001 + (PC-6601SR "Mr. PC" Japan 1984, adds FDD + more ROMs). All MACHINE_NOT_WORKING. + Z80-based home computer with µPD8049 keyboard MCU (BAD_DUMP in pc6001/pc6001a, + NO_DUMP in mk2/6601/mk2sr, actual dump d8049hc-016.bin only in pc6601sr). + Software lists: pc6001_cart, pc6001_cass, pc6001mk2_cass. + Driver in nec/pc6001.cpp, in mess.flt. files: # Miuchiz Virtual Companions @@ -138,6 +296,254 @@ files: category: bios_zip source_ref: "src/mame/tvgames/xavix.cpp:2925" + # Bally Astrocade + - name: astrocde.zip + required: true + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:244-247" + contents: + - name: astro.bin + description: "On-board BIOS ROM (Bally Professional Arcade)" + size: 8192 + crc32: ebc77f3a + + - name: astrocdl.zip + required: false + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:249-251" + contents: + - name: ballyhlc.bin + description: "Bally Home Library Computer BIOS" + size: 8192 + crc32: d7c517ba + + - name: astrocdw.zip + required: false + category: bios_zip + system: astrocde + source_ref: "src/mame/midway/astrohome.cpp:254-257" + contents: + - name: bioswhit.bin + description: "Bally Computer System BIOS" + size: 8192 + crc32: 6eb53e79 + + # Apple II family — machine ROM sets + - name: apple2.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/mame/apple/apple2.cpp:988" + contents: + - name: a2.chr + description: "Character generator ROM" + size: 2048 + crc32: 64f415c6 + - name: 341-0001-00.e0 + description: "Integer BASIC ROM E0" + size: 2048 + crc32: c0a4ad3b + - name: 341-0002-00.e8 + description: "Integer BASIC ROM E8" + size: 2048 + crc32: a99c2cf6 + - name: 341-0003-00.f0 + description: "Integer BASIC ROM F0" + size: 2048 + crc32: 62230d38 + - name: 341-0004-00.f8 + description: "Monitor ROM (original)" + size: 2048 + crc32: 020a86d0 + - name: 341-0020-00.f8 + description: "Autostart Monitor ROM" + size: 2048 + crc32: 079589c4 + + - name: apple2p.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/mame/apple/apple2.cpp:1006" + contents: + - name: 341-0036.chr + description: "Character generator ROM" + size: 2048 + crc32: 64f415c6 + - name: 341-0011.d0 + description: "Applesoft BASIC ROM D0" + size: 2048 + crc32: 6f05f949 + - name: 341-0012.d8 + description: "Applesoft BASIC ROM D8" + size: 2048 + crc32: 1f08087c + - name: 341-0013.e0 + description: "Applesoft BASIC ROM E0" + size: 2048 + crc32: 2b8d9a89 + - name: 341-0014.e8 + description: "Applesoft BASIC ROM E8" + size: 2048 + crc32: 5719871a + - name: 341-0015.f0 + description: "Applesoft BASIC ROM F0" + size: 2048 + crc32: 9a04eecf + - name: 341-0020-00.f8 + description: "Autostart Monitor ROM" + size: 2048 + crc32: 079589c4 + + - name: apple2e.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/mame/apple/apple2e.cpp:5563" + contents: + - name: 342-0133-a.chr + description: "Character generator ROM" + size: 4096 + crc32: b081df66 + - name: 342-0135-b.64 + description: "CPU ROM CD bank" + size: 8192 + crc32: e248835e + - name: 342-0134-a.64 + description: "CPU ROM EF bank" + size: 8192 + crc32: fc3d59d8 + - name: 342-0132-c.e12 + description: "Keyboard ROM (US-Dvorak)" + size: 2048 + crc32: e47045f4 + + - name: apple2ee.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/mame/apple/apple2e.cpp:5649" + contents: + - name: 342-0265-a.chr + description: "Enhanced character generator ROM" + size: 4096 + crc32: 2651014d + - name: 342-0304-a.e10 + description: "Enhanced CPU ROM CD bank" + size: 8192 + crc32: 443aa7c4 + - name: 342-0303-a.e8 + description: "Enhanced CPU ROM EF bank" + size: 8192 + crc32: 95e10034 + - name: 341-0132-d.e12 + description: "Enhanced keyboard ROM" + size: 2048 + crc32: c506efb9 + + # Apple II — peripheral device ROM sets + - name: a2diskiing.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/devices/bus/a2bus/a2diskiing.cpp:40" + note: "Disk II NG 16-sector controller, default floppy device" + contents: + - name: 341-0027-a.p5 + description: "Disk II 16-sector controller PROM" + size: 256 + crc32: ce7144f6 + + - name: d2fdc.zip + required: true + category: bios_zip + system: apple2 + source_ref: "src/devices/machine/wozfdc.cpp:31" + note: "Disk II FDC (Woz machine), alternative floppy controller" + contents: + - name: 341-0028-a.rom + description: "Disk II FDC PROM P6" + size: 256 + crc32: b72a2c70 + + - name: a2cffa02.zip + required: false + category: bios_zip + system: apple2 + source_ref: "src/devices/bus/a2bus/a2cffa.cpp:33" + note: "CFFA 2.0 CompactFlash adapter (6502 firmware)" + contents: + - name: cffa20ee02.bin + description: "CFFA 2.0 firmware (6502)" + size: 4096 + crc32: 3ecafce5 + + - name: votrsc01.zip + required: false + category: bios_zip + system: apple2 + source_ref: "src/devices/sound/votrax.cpp:42" + note: "Votrax SC-01 speech synthesis chip, shared device" + contents: + - name: sc01.bin + description: "SC-01 internal ROM" + size: 512 + crc32: 528d1c57 + + - name: votrsc01a.zip + required: false + category: bios_zip + system: apple2 + source_ref: "src/devices/sound/votrax.cpp:47" + note: "Votrax SC-01A speech synthesis chip, shared device" + contents: + - name: sc01a.bin + description: "SC-01A internal ROM" + size: 512 + crc32: fc416227 + + # Apple IIgs + - name: apple2gs.zip + required: true + category: bios_zip + system: apple2gs + source_ref: "src/mame/apple/apple2gs.cpp:3898-3912" + contents: + - name: 341s0632-2.bin + description: "ADB microcontroller ROM (M50740/50741)" + size: 4096 + crc32: e1c11fb0 + - name: 344s0047.bin + description: "Mega II character ROM" + size: 16384 + crc32: 2d541944 + - name: 341-0728 + description: "IIgs ROM03 FC-FD main CPU" + size: 131072 + crc32: 8d410067 + - name: 341-0748 + description: "IIgs ROM03 FE-FF main CPU" + size: 131072 + crc32: "18190283" + + # Casio Loopy + - name: casloopy.zip + required: true + category: bios_zip + system: casio-loopy + source_ref: "src/mame/casio/casloopy.cpp:2456-2462" + contents: + - name: hd6437021.lsi302 + description: "SH-1 CPU internal mask ROM" + size: 32768 + crc32: 8c57ff9f + - name: hn62434fa.lsi352 + description: "HN62434 sound/wave data mask ROM" + size: 524288 + crc32: 8f51fa17 + # Coleco Adam - name: adam.zip required: true @@ -263,3 +669,867 @@ files: description: "National COP411L sound CPU ROM" size: 512 crc32: 81e95975 + + # VTech CreatiVision + - name: crvision.zip + required: true + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:934-937" + contents: + - name: crvision.u20 + description: "Microsoft BASIC ROM" + size: 2048 + crc32: c3c590c6 + + - name: fnvision.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:939-942" + note: "FunVision clone with alternate BIOS" + contents: + - name: funboot.rom + description: "FunVision alternate BIOS ROM" + size: 2048 + crc32: "05602697" + + - name: lasr2001.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:950-953" + note: "VTech Laser 2001 home computer (CreatiVision successor)" + contents: + - name: laser2001.rom + description: "Laser 2001 BASIC + OS ROM" + size: 16384 + crc32: 4dc35c39 + + - name: manager.zip + required: false + category: bios_zip + system: crvision + source_ref: "src/mame/vtech/crvision.cpp:955-959" + note: "Salora Manager (Finnish variant)" + contents: + - name: "01" + description: "ROM bank 0-1" + size: 8192 + crc32: 702f4cf5 + - name: "23" + description: "ROM bank 2-3" + size: 8192 + crc32: 46489d88 + + # VTech Laser 310 (VZ-300) + - name: laser310.zip + required: true + category: bios_zip + system: laser310 + source_ref: "src/mame/vtech/vtech1.cpp:602-608" + note: "Z80-based home computer (1984). Clones: VZ-300, Laser 310 SHRG." + contents: + - name: vtechv20.u12 + description: "BASIC V2.0 ROM (default)" + size: 16384 + crc32: 613de12c + - name: vtechv21.u12 + description: "BASIC V2.1 ROM (hack)" + size: 16384 + crc32: f7df980f + + # Mattel Aquarius + - name: aquarius.zip + required: true + category: bios_zip + system: mattel-aquarius + source_ref: "src/mame/mattel/aquarius.cpp:487-500" + contents: + - name: aq_s2.u2 + description: "S2 BASIC ROM" + size: 8192 + crc32: 5cfa5b42 + - name: aq.u2 + description: "S1 BASIC ROM" + size: 8192 + crc32: 28d0fdbd + - name: aq2.u5 + description: "Character ROM" + size: 2048 + crc32: e117f57c + + - name: aquarius2.zip + required: true + category: bios_zip + system: mattel-aquarius + source_ref: "src/mame/mattel/aquarius.cpp:504-514" + contents: + - name: aq2_1.rom + description: "BASIC ROM" + size: 8192 + crc32: 5cfa5b42 + - name: aq2_2.rom + description: "Extended BASIC ROM" + size: 4096 + crc32: c95117c6 + - name: aq2.u5 + description: "Character ROM" + size: 2048 + crc32: e117f57c + + - name: aquarius_ar.zip + required: true + category: bios_zip + system: mattel-aquarius + source_ref: "src/mame/mattel/aquarius.cpp:516-525" + contents: + - name: aq_s2.u2 + description: "BASIC ROM" + size: 8192 + crc32: 5cfa5b42 + - name: xz-2120-1_v1.2.u5 + description: "Arabic character ROM" + size: 4096 + crc32: "09102213" + + # Camputers Lynx 48K + - name: lynx48k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:995-1004" + contents: + - name: lynx48-1.ic46 + description: "BASIC ROM bank 1 (Set1)" + size: 8192 + crc32: 56feec44 + - name: lynx48-2.ic45 + description: "BASIC ROM bank 2 (Set1)" + size: 8192 + crc32: d894562e + - name: lynx4811.ic46 + description: "BASIC ROM bank 1 (Set2)" + size: 8192 + crc32: a933e577 + - name: lynx4812.ic45 + description: "BASIC ROM bank 2 (Set2)" + size: 8192 + crc32: 3d3fdd0e + + # Camputers Lynx 96K + - name: lynx96k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:1006-1018" + contents: + - name: lynx9646.ic46 + description: "BASIC ROM bank 1" + size: 8192 + crc32: f86c5514 + - name: lynx9645.ic45 + description: "BASIC ROM bank 2" + size: 8192 + crc32: f596b9a3 + - name: lynx9644.ic44 + description: "Extension ROM (original)" + size: 4096 + crc32: 4b96b0de + - name: skorprom.ic44 + description: "Scorpion ROM v2.1 (RLUG)" + size: 8192 + crc32: 698d3de9 + - name: danish96k3.ic44 + description: "Danish extension ROM" + size: 8192 + crc32: 795c22ea + - name: dosrom.rom + description: "Floppy DOS ROM" + size: 8192 + crc32: 011e106a + + # Camputers Lynx 128K + - name: lynx128k.zip + required: true + category: bios_zip + system: camplynx + source_ref: "src/mame/camputers/camplynx.cpp:1020-1026" + contents: + - name: lynx128-1.ic1 + description: "BASIC ROM bank 1" + size: 8192 + crc32: 65d292ce + - name: lynx128-2.ic2 + description: "BASIC ROM bank 2" + size: 8192 + crc32: 23288773 + - name: lynx128-3.ic3 + description: "BASIC ROM bank 3" + size: 8192 + crc32: 9827b9e9 + - name: dosrom.rom + description: "Floppy DOS ROM" + size: 8192 + crc32: 011e106a + + # EACA Colour Genie — parent machine ROM set + - name: cgenie.zip + required: true + category: bios_zip + system: cgenie + source_ref: "src/mame/eaca/cgenie.cpp:498-510" + contents: + - name: cg_rom1.z1 + description: "BASIC/system ROM bank 1" + size: 4096 + crc32: d3369420 + - name: cg_rom2.z2 + description: "BASIC/system ROM bank 2" + size: 4096 + crc32: 73d2c9ea + - name: cg_rom3.z3 + description: "BASIC/system ROM bank 3" + size: 4096 + crc32: 3f358811 + - name: cg_rom4.z4 + description: "BASIC/system ROM bank 4" + size: 4096 + crc32: be235782 + - name: cgenieg.fnt + description: "German character set" + size: 2048 + crc32: c3e60d57 + - name: cgenie1.fnt + description: "Default character set" + size: 2048 + crc32: 4fed774a + + # EACA Colour Genie — clone: New Zealand + - name: cgenienz.zip + required: false + category: bios_zip + system: cgenie + source_ref: "src/mame/eaca/cgenie.cpp:512-521" + contents: + - name: cg-basic-rom-v1-pal-en.rom + description: "BASIC ROM (old)" + size: 16384 + crc32: 844aaedd + - name: cgromv2.rom + description: "BASIC ROM (new)" + size: 16384 + crc32: cfb84e09 + - name: cgenie1.fnt + description: "Default character set" + size: 2048 + crc32: 4fed774a + + # EACA Colour Genie — expansion: FDC + - name: cgenie_fdc.zip + required: false + category: bios_zip + system: cgenie + source_ref: "src/devices/bus/cgenie/expansion/floppy.cpp:61-77" + note: "Optional expansion slot device, not default" + contents: + - name: cgdos.rom + description: "DOS ROM (default)" + size: 8192 + crc32: 2a96cf74 + - name: cgdos_a.c + description: "DOS ROM variant part 1" + size: 4096 + crc32: 6164e9d1 + - name: cgdos_a.d + description: "DOS ROM variant part 2" + size: 4096 + crc32: b09eb5d1 + - name: cgdos-v2.rom + description: "DOS ROM v2 (BAD_DUMP)" + size: 8192 + crc32: 9dace9c1 + + # Acorn Atom — parent machine ROM set + - name: atom.zip + required: true + category: bios_zip + system: atom + source_ref: "src/mame/acorn/atom.cpp:1271-1276" + contents: + - name: abasic.ic20 + description: "Atom BASIC + kernel ROM (split-loaded)" + size: 8192 + crc32: 289b7791 + - name: afloat.ic21 + description: "Floating point ROM" + size: 4096 + crc32: 81d86af7 + + # Acorn Atom — clone: Atom with BBC Basic + - name: atombbc.zip + required: false + category: bios_zip + system: atom + source_ref: "src/mame/acorn/atom.cpp:1278-1289" + contents: + - name: mos3.rom + description: "BBC mode MOS ROM" + size: 4096 + crc32: 20158bd8 + - name: bbcbasic.rom + description: "BBC BASIC ROM" + size: 16384 + crc32: 79434781 + + # Acorn Atom — clone: Busicomputers Prophet 2 + - name: prophet2.zip + required: false + category: bios_zip + system: atom + source_ref: "src/mame/acorn/atom.cpp:1291-1300" + contents: + - name: p2fp.ic21 + description: "Prophet 2 floating point ROM" + size: 4096 + crc32: 8be45181 + - name: a_69ed.rom + description: "AtomCalc ROM bank 1" + size: 4096 + crc32: 006010b7 + - name: e_61e5.rom + description: "AtomCalc ROM bank 2" + size: 4096 + crc32: ecd2d08b + + # Acorn Atom — bus device: Disc Pack (default on pl6) + - name: atom_discpack.zip + required: false + category: bios_zip + system: atom + source_ref: "src/devices/bus/acorn/atom/discpack.cpp:77-80" + note: "Default slot device on pl6, loaded automatically" + contents: + - name: dosrom.ic15 + description: "8271 FDC DOS ROM" + size: 4096 + crc32: c431a9b7 + + # Acorn Atom — bus device: GDOS + - name: atom_gdos.zip + required: false + category: bios_zip + system: atom + source_ref: "src/devices/bus/acorn/atom/gdos.cpp:85-89" + contents: + - name: gdos166.rom + description: "GDOS 1.66 DOS ROM" + size: 4096 + crc32: 935407cb + + # Acorn Atom — bus device: GDOS-2015 + - name: atom_gdos2015.zip + required: false + category: bios_zip + system: atom + source_ref: "src/devices/bus/acorn/atom/gdos2015.cpp:130-133" + contents: + - name: gdos2015_15.ic8 + description: "GDOS-2015 flash ROM" + size: 65536 + crc32: fc790657 + + # Acorn Atom — bus device: Speech Module + - name: atom_speech.zip + required: false + category: bios_zip + system: atom + source_ref: "src/devices/bus/acorn/atom/speech.cpp:61-63" + contents: + - name: sp0256a-al2.bin + description: "SP0256A-AL2 speech synthesis ROM" + size: 2048 + crc32: b504ac15 + + # Acorn Atom — bus device: 80 Column VDU + - name: atom_vdu80.zip + required: false + category: bios_zip + system: atom + source_ref: "src/devices/bus/acorn/atom/vdu80.cpp:76-78" + contents: + - name: charset.rom + description: "EF9345 character ROM (BAD_DUMP)" + size: 8192 + crc32: b2f49eb3 + + # Tiger game.com + - name: gamecom.zip + required: true + category: bios_zip + system: tiger-game-com + source_ref: "src/mame/tiger/gamecom.cpp:293-299" + contents: + - name: internal.bin + description: "SM8521 CPU internal ROM" + size: 4096 + crc32: a0cec361 + - name: external.bin + description: "External flash ROM (PDA software)" + size: 262144 + crc32: e235a589 + + # Bit Corporation Gamate + - name: gamate.zip + required: true + category: bios_zip + system: gamate + source_ref: "src/mame/bitcorp/gamate.cpp:228-234" + contents: + - name: gamate_bios_umc.bin + description: "UMC/NCR ICASC00002 BIOS (default)" + size: 4096 + crc32: "07090415" + - name: gamate_bios_bit.bin + description: "BIT ICASC00001 BIOS (1994)" + size: 4096 + crc32: 03a5f3a7 + + # Epoch Game Pocket Computer + - name: gamepock.zip + required: true + category: bios_zip + system: gamepock + source_ref: "src/mame/epoch/gamepock.cpp:248-251" + contents: + - name: egpcboot.bin + description: "NEC uPD78C06AG internal ROM" + size: 4096 + crc32: ee1ea65d + + # Hartung Game Master + - name: gmaster.zip + required: true + category: bios_zip + system: hartung-game-master + source_ref: "src/mame/handheld/gmaster.cpp:261-263" + contents: + - name: d78c11agf_e19.u1 + description: "NEC D78C11AGF internal ROM" + size: 4096 + crc32: 05cc45e5 + + # Fujitsu FM-7 family + - name: fm7.zip + required: true + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2188-2209" + contents: + - name: fbasic300.rom + description: "F-BASIC 3.00 ROM" + size: 31744 + crc32: 87c98494 + - name: subsys_c.rom + description: "Sub-CPU system ROM" + size: 10240 + crc32: 24cec93f + - name: boot_bas.rom + description: "Boot BASIC ROM" + size: 512 + crc32: c70f0c74 + - name: boot_dos_a.rom + description: "Boot DOS-A ROM" + size: 512 + crc32: bf441864 + - name: kanji.rom + description: "Kanji ROM (optional, JIS level 1)" + size: 131072 + crc32: 62402ac9 + + - name: fm77av.zip + required: true + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2211-2232" + contents: + - name: initiate.rom + description: "Initiate ROM (boot sequencer)" + size: 8192 + crc32: 785cb06c + - name: fbasic30.rom + description: "F-BASIC 3.0 ROM" + size: 31744 + crc32: a96d19b6 + - name: subsys_a.rom + description: "Sub system A ROM" + size: 8192 + crc32: e8014fbb + - name: subsys_b.rom + description: "Sub system B ROM" + size: 8192 + crc32: 9be69fac + - name: subsyscg.rom + description: "Sub system CG ROM (character generator)" + size: 8192 + crc32: e9f16c42 + + - name: fmnew7.zip + required: false + category: bios_zip + system: fm7 + source_ref: "src/mame/fujitsu/fm7.cpp:2170-2186" + note: "FM-NEW7 clone, inherits shared ROMs from fm7.zip parent" + contents: + - name: fbasic302.rom + description: "F-BASIC 3.02 ROM" + size: 31744 + crc32: a96d19b6 + - name: boot_dos.rom + description: "Boot DOS ROM" + size: 512 + crc32: 198614ff + + # Sharp MZ-80K (Japanese, parent) + - name: mz80kj.zip + required: true + category: bios_zip + system: mz80k + source_ref: "src/mame/sharp/mz80.cpp:359-369" + contents: + - name: sp1002.rom + description: "Monitor ROM SP-1002" + size: 4096 + crc32: 2223e677 + - name: mz80kfdif.rom + description: "Floppy disk interface ROM" + size: 1024 + crc32: d36505e0 + - name: mz80k.jpn + description: "Japanese character generator ROM" + size: 2048 + crc32: bffe3312 + - name: 80kcgj.rom + description: "Japanese character set variant" + size: 2048 + crc32: 7767f11e + + # Sharp MZ-80K (clone) + - name: mz80k.zip + required: true + category: bios_zip + system: mz80k + source_ref: "src/mame/sharp/mz80.cpp:343-357" + contents: + - name: sp1002.rom + description: "Monitor ROM SP-1002 (default BIOS)" + size: 4096 + crc32: 2223e677 + - name: 80ktc.rom + description: "Monitor ROM TC (alt BIOS)" + size: 4096 + crc32: 19ed6546 + - name: 80kv44.rom + description: "Monitor ROM V44 (alt BIOS)" + size: 4096 + crc32: d66af028 + - name: mz80kfdif.rom + description: "Floppy disk interface ROM" + size: 1024 + crc32: d36505e0 + - name: 80kcg.rom + description: "Character generator ROM" + size: 2048 + crc32: 9b2fb88b + - name: 80kcgf.rom + description: "Character generator ROM (English fixed)" + size: 2048 + crc32: be952852 + + # Sharp MZ-2000 + - name: mz2000.zip + required: true + category: bios_zip + system: mz2000 + source_ref: "src/mame/sharp/mz2000.cpp:1465-1474" + contents: + - name: mz20ipl.bin + description: "IPL ROM" + size: 2048 + crc32: d7ccf37f + - name: font.bin + description: "Character generator ROM" + size: 2048 + crc32: 6ae6ce8e + + # Sharp MZ-2500 + - name: mz2500.zip + required: true + category: bios_zip + system: mz2500 + source_ref: "src/mame/sharp/mz2500.cpp:1875-1894" + contents: + - name: ipl.rom + description: "IPL ROM" + size: 32768 + crc32: 7a659f20 + - name: cg.rom + description: "Character generator ROM" + size: 2048 + crc32: a082326f + - name: kanji.rom + description: "Kanji level 1 ROM" + size: 262144 + crc32: dd426767 + - name: kanji2.rom + description: "Kanji level 2 ROM" + size: 131072 + crc32: eaaf20c9 + - name: dict.rom + description: "Dictionary ROM" + size: 262144 + crc32: aa957c2b + - name: phone.rom + description: "Phone ROM" + size: 16384 + crc32: 8e49e4dc + + # Sharp MZ-700 + - name: mz700.zip + required: true + category: bios_zip + system: mz700 + source_ref: "src/mame/sharp/mz700.cpp:463-469" + contents: + - name: 1z-013a.rom + description: "Monitor ROM 1Z-013A" + size: 4096 + crc32: 4c6c6b7b + - name: mz700fon.int + description: "Character generator ROM (international)" + size: 4096 + crc32: 42b9e8fb + + # Sharp MZ-800 + - name: mz800.zip + required: true + category: bios_zip + system: mz800 + source_ref: "src/mame/sharp/mz700.cpp:480-490" + contents: + - name: mz800.rom + description: "Monitor 9Z-504M (default BIOS)" + size: 16384 + crc32: 600d17e1 + - name: 800willy_en.rom + description: "Willy's Monitor (English, alt BIOS)" + size: 16384 + crc32: f98b4bea + - name: 800willy_ge.rom + description: "Willy's Monitor (German, alt BIOS)" + size: 16384 + crc32: 2471034f + - name: 800willy_jap.rom + description: "Willy's Monitor (Japanese, alt BIOS)" + size: 16384 + crc32: 92bbf0a3 + + # NEC PC-6001 family + - name: pc6001.zip + required: true + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1869-1881" + contents: + - name: basicrom.60 + description: "BASIC ROM" + size: 16384 + crc32: 54c03109 + - name: upd8049.ic17 + description: "Keyboard MCU ROM (BAD_DUMP)" + size: 2048 + crc32: 6682ec41 + - name: cgrom60.60 + description: "Character generator ROM" + size: 4096 + crc32: b0142d32 + + - name: pc6001a.zip + required: false + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1883-1894" + contents: + - name: basicrom.60a + description: "BASIC ROM (US)" + size: 16384 + crc32: fa8e88d9 + - name: upd8049.ic17 + description: "Keyboard MCU ROM (BAD_DUMP, shared with parent)" + size: 2048 + crc32: 6682ec41 + - name: cgrom60.60a + description: "Character generator ROM (US)" + size: 4096 + crc32: 49c21d08 + + - name: pc6001mk2.zip + required: true + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1896-1916" + contents: + - name: basicrom.62 + description: "BASIC ROM" + size: 32768 + crc32: 950ac401 + - name: voicerom.62 + description: "Voice synthesis ROM" + size: 16384 + crc32: 49b4f917 + - name: cgrom60.62 + description: "Character generator ROM" + size: 8192 + crc32: 81eb5d95 + - name: cgrom60m.62 + description: "Character generator ROM (mode 2)" + size: 8192 + crc32: 3ce48c33 + - name: kanjirom.62 + description: "Kanji ROM" + size: 32768 + crc32: 20c8f3eb + + - name: pc6601.zip + required: false + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1919-1936" + contents: + - name: basicrom.66 + description: "BASIC ROM" + size: 32768 + crc32: c0b01772 + - name: voicerom.66 + description: "Voice synthesis ROM" + size: 16384 + crc32: 91d078c1 + - name: cgrom60.66 + description: "Character generator ROM" + size: 8192 + crc32: d2434f29 + - name: cgrom66.66 + description: "Character generator ROM (mode 2)" + size: 8192 + crc32: 3ce48c33 + - name: kanjirom.66 + description: "Kanji ROM" + size: 32768 + crc32: 20c8f3eb + + - name: pc6001mk2sr.zip + required: true + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1938-1954" + contents: + - name: systemrom1.64 + description: "System ROM 1" + size: 65536 + crc32: b6fc2db2 + - name: systemrom2.64 + description: "System ROM 2" + size: 65536 + crc32: 55a62a1d + - name: cgrom68.64 + description: "Character generator ROM" + size: 16384 + crc32: 73bc3256 + + - name: pc6601sr.zip + required: false + category: bios_zip + system: pc60 + source_ref: "src/mame/nec/pc6001.cpp:1956-1987" + contents: + - name: systemrom1.68 + description: "System ROM 1" + size: 65536 + crc32: b6fc2db2 + - name: systemrom2.68 + description: "System ROM 2" + size: 65536 + crc32: 55a62a1d + - name: basicrom.68 + description: "BASIC ROM" + size: 32768 + crc32: 516b1be3 + - name: voicerom.68 + description: "Voice synthesis ROM" + size: 16384 + crc32: 37ff3829 + - name: cgrom60.68 + description: "Character generator ROM" + size: 8192 + crc32: 331473a9 + - name: cgrom66.68 + description: "Character generator ROM (mode 2)" + size: 8192 + crc32: 03ba2cf1 + - name: sysrom2.68 + description: "System ROM 2 (mk2 compat)" + size: 8192 + crc32: 07318218 + - name: d8049hc-016.bin + description: "Keyboard MCU ROM" + size: 2048 + crc32: 65394e8d + - name: cgrom68.68 + description: "Character generator ROM (SR)" + size: 16384 + crc32: 73bc3256 + + # Technosys Aamber Pegasus + - name: pegasus.zip + required: true + category: bios_zip + system: pegasus + source_ref: "src/mame/ausnz/pegasus.cpp:ROM_START" + note: "6809-based home computer (1981, New Zealand). 8 monitor BIOS variants, 5 cartridge expansion slots." + contents: + - name: mon11_2674.bin + description: "Monitor 1.1 r2674 (default)" + size: 4096 + crc32: 1640ff7e + - name: mon10_2569.bin + description: "Monitor 1.0 r2569" + size: 4096 + crc32: 910fc930 + - name: mon11_2569.bin + description: "Monitor 1.1 r2569" + size: 4096 + crc32: "07b92002" + - name: mon11_2669.bin + description: "Monitor 1.1 r2669" + size: 4096 + crc32: f3ee23c8 + - name: mon22_2856.bin + description: "Monitor 2.2 r2856" + size: 4096 + crc32: 5f5f688a + - name: mon22b_2856.bin + description: "Monitor 2.2B r2856" + size: 4096 + crc32: a47b0308 + - name: mon23_2601.bin + description: "Monitor 2.3 r2601" + size: 4096 + crc32: 0e024222 + - name: mon23a_2569.bin + description: "Monitor 2.3A r2569" + size: 4096 + crc32: 248e62c9 + - name: 6571.bin + description: "MCM6571A character generator" + size: 2048 + crc32: 5a25144b diff --git a/emulators/quasi88.yml b/emulators/quasi88.yml index 6cd0eddc..7275c5a3 100644 --- a/emulators/quasi88.yml +++ b/emulators/quasi88.yml @@ -3,13 +3,14 @@ type: libretro core_classification: community_fork source: "https://github.com/libretro/quasi88-libretro" upstream: "https://www.retropc.net/showzoh/quasi88/" -profiled_date: "2026-03-25" +profiled_date: "2026-03-29" core_version: "0.6.4" display_name: "NEC - PC-8000 / PC-8800 series (QUASI88)" cores: - quasi88 systems: - - pc-8801 + - nec-pc-88 + - nec-pc-80 # QUASI88 by Showzoh Fukunaga, libretro port by Celerizer. # Includes pseudo-BIOS (pbios_n88, pbios_disk) by cisc compiled into the core. @@ -35,6 +36,16 @@ systems: # # Upstream supports 2HD disk ROM (8 KB) via memory.c:356-368. # The libretro port reads only 2 KB (2D type) at libretro.c:552. +# +# font.rom divergence: libretro.c:566-571 loads 0x1000 bytes then +# overwrites the buffer with kanji ROM + built-in graph. The font.rom +# data is not actually used (bug). Upstream memory.c:427 loads FONT_SZ +# (2048) and keeps the font data in the first half. +# +# OPNA rhythm samples (2608_BD.WAV etc.): loaded by upstream via +# fmgen/opna.cpp:1271 LoadRhythmSample(), but osd_dir_rom() returns +# NULL in the libretro port (dir_rom never initialized), so the samples +# cannot be loaded. OPNA rhythm playback is silent in the libretro core. notes: | Files go in /quasi88/ or directly in /. @@ -43,7 +54,8 @@ notes: | kanji display), real ROM files are needed. Core option "quasi88_basic_mode" selects N88 V2, N88 V1H, N88 V1S, - or N mode. Each mode requires its corresponding ROM. + or N mode. Each mode requires its corresponding ROM. N mode emulates + PC-8001 series (N-BASIC) and requires n88n.rom. files: - name: n88.rom diff --git a/platforms/bizhawk.yml b/platforms/bizhawk.yml index 18b1d50a..16083560 100644 --- a/platforms/bizhawk.yml +++ b/platforms/bizhawk.yml @@ -409,7 +409,7 @@ systems: required: true sha1: e5b2922ca137051059e4269b236d07a22c07bc84 size: 524288 - nintendo-bsx: + nintendo-satellaview: files: - name: Satellaview_BS-X.sfc destination: Satellaview_BS-X.sfc diff --git a/scripts/common.py b/scripts/common.py index 219227ca..2e41b2d2 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -732,14 +732,30 @@ def derive_manufacturer(system_id: str, system_data: dict) -> str: return "Other" +# Abbreviations that normalization alone cannot resolve. +# Maps platform-specific short names to canonical profile system IDs. +SYSTEM_ALIASES: dict[str, str] = { + "gmaster": "hartung-game-master", + "n64dd": "nintendo-64dd", + "neogeo64": "hyper-neogeo64", + # Platform IDs missing the manufacturer-prefix hyphen + "atari5200": "atari-5200", + "atari7800": "atari-7800", + "atarist": "atari-st", + "sega32x": "sega-32x", + "segastv": "sega-stv", +} + + def _norm_system_id(sid: str) -> str: """Normalize system ID for cross-platform matching. - Strips manufacturer prefixes and separators so that platform-specific - IDs (e.g., "xbox", "nintendo-wiiu") match profile IDs - (e.g., "microsoft-xbox", "nintendo-wii-u"). + Resolves known aliases, then strips manufacturer prefixes and separators + so that platform-specific IDs (e.g., "xbox", "nintendo-wiiu") match + profile IDs (e.g., "microsoft-xbox", "nintendo-wii-u"). """ s = sid.lower().replace("_", "-") + s = SYSTEM_ALIASES.get(s, s) for prefix in MANUFACTURER_PREFIXES: if s.startswith(prefix): s = s[len(prefix):] diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index 25c6e52f..3e35d32e 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -429,6 +429,202 @@ def _collect_emulator_extras( return extras +def _build_readme(platform_name: str, platform_display: str, + base_dest: str, total_files: int, num_systems: int) -> str: + """Build a personalized step-by-step README for each platform pack.""" + sep = "=" * 50 + header = ( + f"{sep}\n" + f" RETROBIOS - {platform_display} BIOS Pack\n" + f" {total_files} files for {num_systems} systems\n" + f"{sep}\n\n" + ) + + guides: dict[str, str] = { + "retroarch": ( + "INSTALLATION GUIDE\n\n" + " Option A: Automatic (recommended)\n" + " ---------------------------------\n" + " Run this in a terminal:\n\n" + " curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" + " The script auto-detects your RetroArch install and copies\n" + " files to the correct location.\n\n" + " Option B: Manual (PC)\n" + " ---------------------\n" + " 1. Find your RetroArch system directory:\n" + " - RetroArch > Settings > Directory > System/BIOS\n" + " - Default: retroarch/system/\n" + " 2. Open the \"system\" folder from this archive\n" + " 3. Copy ALL contents into your system directory\n" + " 4. Overwrite if asked\n\n" + " Option C: Manual (handheld / SD card)\n" + " -------------------------------------\n" + " Anbernic, Retroid, Miyoo, Trimui, etc.:\n" + " 1. Connect your SD card to your PC\n" + " 2. Find the BIOS folder (usually BIOS/ or system/)\n" + " 3. Copy ALL contents of \"system\" from this archive\n" + " 4. Eject SD card and reboot your device\n\n" + " Common paths by device:\n" + " Anbernic (ArkOS/JELOS): BIOS/\n" + " Retroid (RetroArch): RetroArch/system/\n" + " Miyoo Mini (Onion OS): BIOS/\n" + " Steam Deck (RetroArch): ~/.config/retroarch/system/\n\n" + ), + "batocera": ( + "INSTALLATION GUIDE\n\n" + " Option A: Automatic (recommended)\n" + " ---------------------------------\n" + " Open a terminal (F1 from Batocera menu) and run:\n\n" + " curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" + " Option B: Manual (network share)\n" + " --------------------------------\n" + " 1. On your PC, open the Batocera network share:\n" + " - Windows: \\\\BATOCERA\\share\\bios\\\n" + " - Mac/Linux: smb://batocera/share/bios/\n" + " 2. Open the \"bios\" folder from this archive\n" + " 3. Copy ALL contents into the share\n" + " 4. Overwrite if asked\n\n" + " Option C: Manual (SD card)\n" + " --------------------------\n" + " 1. Put the SD card in your PC\n" + " 2. Navigate to /userdata/bios/ on the SHARE partition\n" + " 3. Copy ALL contents of \"bios\" from this archive\n\n" + " NOTE: Dreamcast flash memory is named dc_nvmem.bin\n" + " (if your setup asks for dc_flash.bin, same file).\n\n" + ), + "recalbox": ( + "INSTALLATION GUIDE\n\n" + " Option A: Automatic\n" + " -------------------\n" + " curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" + " Option B: Manual (network share)\n" + " --------------------------------\n" + " 1. On your PC, open the Recalbox network share:\n" + " - Windows: \\\\RECALBOX\\share\\bios\\\n" + " - Mac/Linux: smb://recalbox/share/bios/\n" + " 2. Open the \"bios\" folder from this archive\n" + " 3. Copy ALL contents into the share\n\n" + " Option C: Manual (SD card)\n" + " --------------------------\n" + " 1. Put the SD card in your PC\n" + " 2. Navigate to /recalbox/share/bios/\n" + " 3. Copy ALL contents of \"bios\" from this archive\n\n" + ), + "emudeck": ( + "INSTALLATION GUIDE (Steam Deck / Linux)\n\n" + " Option A: Automatic (recommended)\n" + " ---------------------------------\n" + " Open Konsole (or any terminal) and run:\n\n" + " curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" + " The script places BIOS files AND sets up standalone\n" + " emulator keys automatically.\n\n" + " Option B: Manual\n" + " ----------------\n" + " 1. Open Dolphin file manager\n" + " 2. Navigate to ~/Emulation/bios/\n" + " 3. Open the \"bios\" folder from this archive\n" + " 4. Copy ALL contents into ~/Emulation/bios/\n\n" + " STANDALONE EMULATORS (extra step)\n" + " Switch and 3DS emulators need keys in specific folders:\n" + " prod.keys -> ~/.local/share/yuzu/keys/\n" + " prod.keys -> ~/.local/share/eden/keys/\n" + " prod.keys -> ~/.config/Ryujinx/system/\n" + " aes_keys.txt -> ~/Emulation/bios/citra/keys/\n" + " The automatic installer handles this for you.\n\n" + ), + "retrodeck": ( + "INSTALLATION GUIDE (Steam Deck / Linux)\n\n" + " Option A: Automatic (recommended)\n" + " ---------------------------------\n" + " Open Konsole (or any terminal) and run:\n\n" + " curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" + " Option B: Manual\n" + " ----------------\n" + " 1. Open Dolphin file manager\n" + " 2. Show hidden files (Ctrl+H)\n" + " 3. Navigate to ~/retrodeck/bios/\n" + " 4. Open this archive and go into the top-level folder\n" + " 5. Copy ALL contents into ~/retrodeck/bios/\n\n" + " NOTE: RetroDECK uses its own BIOS checker. After\n" + " copying, open RetroDECK > Tools > BIOS Checker to\n" + " verify everything is detected.\n\n" + ), + "retrobat": ( + "INSTALLATION GUIDE (Windows)\n\n" + " Option A: Automatic (recommended)\n" + " ---------------------------------\n" + " Download and run install.bat from:\n" + " https://github.com/Abdess/retrobios/releases\n\n" + " Option B: Manual\n" + " ----------------\n" + " 1. Open your RetroBat installation folder\n" + " 2. Navigate to the bios\\ subfolder\n" + " (default: C:\\RetroBat\\bios\\)\n" + " 3. Open the \"bios\" folder from this archive\n" + " 4. Copy ALL contents into your bios\\ folder\n" + " 5. Overwrite if asked\n\n" + ), + "bizhawk": ( + "INSTALLATION GUIDE\n\n" + " 1. Open your BizHawk installation folder\n" + " 2. Navigate to the Firmware subfolder:\n" + " - Windows: BizHawk\\Firmware\\\n" + " - Linux: ~/.config/BizHawk/Firmware/\n" + " 3. Open the \"Firmware\" folder from this archive\n" + " 4. Copy ALL contents into your Firmware folder\n" + " 5. In BizHawk: Config > Paths > Firmware should\n" + " point to this folder\n\n" + ), + "romm": ( + "INSTALLATION GUIDE (RomM server)\n\n" + " 1. Locate your RomM library folder\n" + " 2. Navigate to the bios/ subdirectory\n" + " 3. Copy ALL contents of \"bios\" from this archive\n" + " 4. Restart the RomM service to detect new files\n\n" + ), + "retropie": ( + "INSTALLATION GUIDE (Raspberry Pi)\n\n" + " Option A: Via network share\n" + " --------------------------\n" + " 1. On your PC, open: \\\\RETROPIE\\bios\\\n" + " 2. Copy ALL contents of \"BIOS\" from this archive\n\n" + " Option B: Via SSH\n" + " -----------------\n" + " 1. SSH into your Pi: ssh pi@retropie\n" + " 2. Copy files to ~/RetroPie/BIOS/\n\n" + " Option C: Via SD card\n" + " ---------------------\n" + " 1. Put the SD card in your PC\n" + " 2. Navigate to /home/pi/RetroPie/BIOS/\n" + " 3. Copy ALL contents of \"BIOS\" from this archive\n\n" + ), + } + + # Lakka uses same guide as RetroArch + guides["lakka"] = guides["retroarch"] + + guide = guides.get(platform_name, ( + f"INSTALLATION\n\n" + f" 1. Open the \"{base_dest or 'files'}\" folder in this archive\n" + f" 2. Copy ALL contents to your BIOS directory\n" + f" 3. Overwrite if asked\n\n" + )) + + footer = ( + "TROUBLESHOOTING\n\n" + " - Core says BIOS missing? Check the exact filename\n" + " and make sure it's in the right subfolder.\n" + " - Wrong region? Some systems have regional BIOS\n" + " variants (USA/EUR/JAP). All are included.\n" + " - Need help? https://github.com/Abdess/retrobios/issues\n\n" + f"{sep}\n" + f" https://github.com/Abdess/retrobios\n" + f"{sep}\n" + ) + + return header + guide + footer + + def generate_pack( platform_name: str, platforms_dir: str, @@ -765,66 +961,10 @@ def generate_pack( zf.write(src, full) total_files += 1 - # README.txt for users - extract_paths = { - "retroarch": "system/", "lakka": "system/", - "batocera": "/userdata/bios/", "recalbox": "/recalbox/share/bios/", - "emudeck": "Emulation/bios/", "retrobat": "bios/", - "retrodeck": "~/retrodeck/bios/", "romm": "bios/", - "bizhawk": "Firmware/", "retropie": "BIOS/", - } - extract_to = extract_paths.get(platform_name, f"{base_dest}/") + # README.txt for users — personalized step-by-step per platform num_systems = len(pack_systems) - # Platform-specific notes - platform_notes = { - "emudeck": ( - "\nSTANDALONE EMULATORS\n" - " Switch emulators (Yuzu, Eden, Ryujinx) and Citra need\n" - " keys in their own folders, not in Emulation/bios/.\n" - " Use the automatic installer to set this up, or copy\n" - " manually:\n" - " prod.keys -> ~/.local/share/yuzu/keys/\n" - " prod.keys -> ~/.local/share/eden/keys/\n" - " prod.keys -> ~/.config/Ryujinx/system/\n" - " aes_keys.txt -> Emulation/bios/citra/keys/\n\n" - ), - "retroarch": ( - "\nHANDHELDS (Anbernic, Retroid, Miyoo, etc.)\n" - " Copy the contents of \"system/\" to your SD card's\n" - " BIOS folder (usually BIOS/ or system/).\n\n" - ), - "batocera": ( - "\nDREAMCAST NOTE\n" - " The flash memory file is named dc_nvmem.bin\n" - " (Flycast's canonical name). If your setup asks for\n" - " dc_flash.bin, it serves the same purpose.\n\n" - ), - } - extra_notes = platform_notes.get(platform_name, "") - # Lakka shares RetroArch notes - if platform_name == "lakka": - extra_notes = platform_notes.get("retroarch", "") - - readme_text = ( - f"{'=' * 43}\n" - f" RETROBIOS - {platform_display} BIOS Pack\n" - f" {total_files} files for {num_systems} systems\n" - f"{'=' * 43}\n\n" - f"HOW TO INSTALL\n\n" - f" 1. Open the \"{base_dest or 'files'}\" folder in this archive\n" - f" 2. Select everything inside (Ctrl+A)\n" - f" 3. Copy (Ctrl+C)\n" - f" 4. Go to: {extract_to}\n" - f" 5. Paste (Ctrl+V)\n\n" - f"IMPORTANT\n" - f" - Copy the FILES, not the folder itself\n" - f" - If asked to replace, click Yes\n" - f"{extra_notes}" - f"AUTOMATIC INSTALL (recommended)\n" - f" curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh\n\n" - f"PROJECT: https://github.com/Abdess/retrobios\n" - f"{'=' * 43}\n" - ) + readme_text = _build_readme(platform_name, platform_display, + base_dest, total_files, num_systems) zf.writestr("README.txt", readme_text) files_ok = sum(1 for s in file_status.values() if s == "ok") diff --git a/scripts/scraper/bizhawk_scraper.py b/scripts/scraper/bizhawk_scraper.py index 23a38c15..e81221af 100644 --- a/scripts/scraper/bizhawk_scraper.py +++ b/scripts/scraper/bizhawk_scraper.py @@ -65,7 +65,7 @@ SYSTEM_ID_MAP: dict[str, str] = { "Amiga": "commodore-amiga", "AmstradCPC": "amstrad-cpc", "AppleII": "apple-ii", - "BSX": "nintendo-bsx", + "BSX": "nintendo-satellaview", "C64": "commodore-c64", "ChannelF": "fairchild-channel-f", "Coleco": "coleco-colecovision",