mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-06 01:53:56 -06:00
chore: merge redump, mame and fbneo data fixes
This commit is contained in:
commit
c90c43fd46
28 files changed
+2971
-369
No files matched your search
@@ -84,14 +84,14 @@ Each file is checked the way your platform checks it. Most compare a checksum, t
|
||||
- **1,086 files** the platforms' emulators load are still to be found, and 138 more cannot be sourced at all (per-user keys, user-filled slots, dumps nobody has made). Both are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/)
|
||||
- **18 platforms** supported with platform-specific verification
|
||||
- **623 emulators** profiled from source (RetroArch cores + standalone)
|
||||
- **541 systems** handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
|
||||
- **533 systems** handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
|
||||
- **19,916 files in the collection**, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 5,713 system files, 2,975 arcade ROM sets, 11,228 game and engine data files. That is every platform and emulator together, so no pack holds them all: each carries what its own emulators load, counted in the download table
|
||||
- **565 of 5,713 system files** matched to dump-preservation catalogs (No-Intro, Redump, TOSEC). Arcade sets and engine data fall outside what those catalogs index
|
||||
- **15.7 GB** for the whole collection
|
||||
|
||||
## 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 507+ 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 499+ more.
|
||||
|
||||
Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)**
|
||||
|
||||
|
||||
+11
-6
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"generated_at": "2026-10-28T08:22:38Z",
|
||||
"generated_at": "2026-11-03T13:36:34Z",
|
||||
"total_files": 19916,
|
||||
"total_size": 16892318346,
|
||||
"bios_dir": "bios",
|
||||
@@ -199455,7 +199455,7 @@
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-dvd-212g.bin",
|
||||
"description": "SCPH-30006R (Version 2.12G)"
|
||||
"description": "SCPH-30006R/SCPH-30007R (Version 2.12G)"
|
||||
},
|
||||
"tosec": {
|
||||
"dat": "Sony PlayStation 2 - Firmware",
|
||||
@@ -199584,6 +199584,11 @@
|
||||
"crc32": "1374e4f0",
|
||||
"adler32": "810c4e17",
|
||||
"provenance": {
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-dvd-302c.bin",
|
||||
"description": "SCPH-50009 (Version 3.02C)"
|
||||
},
|
||||
"tosec": {
|
||||
"dat": "Sony PlayStation 2 - Firmware",
|
||||
"name": "Sony PlayStation 2 DVD Player ROM v3.02C (2003-06-23)(Sony).bin",
|
||||
@@ -200102,7 +200107,7 @@
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0101xd-20000224-172900.bin",
|
||||
"description": "DTL-H10000 (Version 5.0 02/24/00 T)"
|
||||
"description": "DTL-H10000S (Version 5.0 02/24/00 T)"
|
||||
},
|
||||
"tosec": {
|
||||
"dat": "Sony PlayStation 2 - Firmware",
|
||||
@@ -200835,7 +200840,7 @@
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0180cd-20030224-185856.bin",
|
||||
"description": "DTL-H50009 (Version 5.0 02/24/03 J)"
|
||||
"description": "DTL-H50009J (Version 5.0 02/24/03 J)"
|
||||
},
|
||||
"tosec": {
|
||||
"dat": "Sony PlayStation 2 - Firmware",
|
||||
@@ -200962,7 +200967,7 @@
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0190cd-20030623-142420.bin",
|
||||
"description": "SCPH-50009 (Version 5.0 06/23/03 J)"
|
||||
"description": "SCPH-50009 (Review) (Version 5.0 06/23/03 J)"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -201416,7 +201421,7 @@
|
||||
"redump": {
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0220h-20050620-175641.bin",
|
||||
"description": "SCPH-75006 (Version 5.0 06/20/05 J)"
|
||||
"description": "SCPH-75006/SCPH-75007 (Version 5.0 06/20/05 J)"
|
||||
},
|
||||
"tosec": {
|
||||
"dat": "Sony PlayStation 2 - Firmware",
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@ version_basis:
|
||||
pattern: 'static const string Version\s*=\s*"([^"]+)"'
|
||||
display_name: "Nintendo - SNES / SFC (bsnes)"
|
||||
cores: [bsnes]
|
||||
systems: [nintendo-snes, nintendo-super-game-boy, nintendo-satellaview]
|
||||
systems: [nintendo-snes, nintendo-sgb, nintendo-satellaview]
|
||||
|
||||
# bsnes supports HLE for DSP1/DSP1B/DSP2/DSP4, ST010, and Cx4.
|
||||
# When HLE is enabled (core option bsnes_coprocessor_prefer_hle) or
|
||||
@@ -203,13 +203,13 @@ files:
|
||||
# Core option bsnes_sgb_bios selects between SGB1.sfc and SGB2.sfc.
|
||||
|
||||
- name: "SGB1.sfc"
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
note: "Super Game Boy 1 cartridge ROM, loaded when playing .gb/.gbc via SGB mode"
|
||||
source_ref: "source bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), source bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
|
||||
- name: "SGB2.sfc"
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
note: "Super Game Boy 2 cartridge ROM, uses dedicated oscillator for accurate GB speed"
|
||||
source_ref: "source bsnes/target-libretro/libretro.cpp:937-946 (system_dir + sgb_bios), source bsnes/target-libretro/libretro.cpp:393 (core option bsnes_sgb_bios)"
|
||||
|
||||
@@ -19,10 +19,10 @@ cores:
|
||||
systems:
|
||||
- arcade
|
||||
- neogeo
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- pgm
|
||||
- capcom-cps1
|
||||
- capcom-cps2
|
||||
- capcom-cps3
|
||||
- igs-pgm
|
||||
|
||||
notes: |
|
||||
Frozen snapshot of Final Burn Alpha v0.2.97.29 (circa 2012), full version.
|
||||
|
||||
@@ -14,7 +14,7 @@ display_name: "Arcade (FB Alpha 2012 CPS-1)"
|
||||
cores:
|
||||
- fbalpha2012_cps1
|
||||
systems:
|
||||
- cps1
|
||||
- capcom-cps1
|
||||
|
||||
notes: |
|
||||
Frozen snapshot of Final Burn Alpha v0.2.97.28 (circa 2012), CPS-1 only.
|
||||
|
||||
@@ -14,7 +14,7 @@ display_name: "Arcade (FB Alpha 2012 CPS-2)"
|
||||
cores:
|
||||
- fbalpha2012_cps2
|
||||
systems:
|
||||
- cps2
|
||||
- capcom-cps2
|
||||
|
||||
notes: |
|
||||
Frozen snapshot of Final Burn Alpha v0.2.97.28 (circa 2012), CPS-2 only.
|
||||
|
||||
@@ -16,7 +16,7 @@ library_name: "FB Alpha 2012 CPS-3"
|
||||
cores:
|
||||
- fbalpha2012_cps3
|
||||
systems:
|
||||
- cps3
|
||||
- capcom-cps3
|
||||
|
||||
notes: |
|
||||
Frozen snapshot of Final Burn Alpha v0.2.97.29 (circa 2012), CPS-3 only.
|
||||
|
||||
+38
-28
@@ -5,8 +5,8 @@ source: "https://github.com/libretro/FBNeo"
|
||||
upstream: "https://github.com/finalburnneo/FBNeo"
|
||||
logo: "https://raw.githubusercontent.com/finalburnneo/FBNeo/master/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_512.png"
|
||||
profiled_date: "2026-10-23"
|
||||
source_commit: "32958a89abd645ed20387c8d31d21ede3bc48161"
|
||||
upstream_commit: "697e385c8285bfc528343b96d948ee3a4f9e24c5"
|
||||
source_commit: "da14132bab6683980b1ad7e4d0d6fd47bf06dce7"
|
||||
upstream_commit: "c110542721d8674b6ff48e691ac032c040fecbba"
|
||||
core_version: "v1.0.0.03"
|
||||
version_basis:
|
||||
kind: file
|
||||
@@ -59,16 +59,17 @@ notes: |
|
||||
FinalBurn Neo is a multi-system arcade and console emulator. BIOS files are
|
||||
expected as MAME-format ZIP archives containing individual ROM chips. The
|
||||
libretro core searches for BIOS ZIPs in this order
|
||||
(src/burner/libretro/libretro.cpp:882-950):
|
||||
1. {system_dir}/fbneo/patched/{romName}
|
||||
2. {rom_dir}/{romName}
|
||||
3. {system_dir}/fbneo/{romName}
|
||||
4. {system_dir}/{romName}
|
||||
5. directories listed in rom_path.opt
|
||||
(src/burner/libretro/libretro.cpp:883-968, 1963):
|
||||
1. {system_dir}/fbneo/romdata/{romName}, only while a RomData file is
|
||||
being started with patched romsets enabled
|
||||
2. {system_dir}/fbneo/patched/{romName}, with patched romsets enabled
|
||||
3. {rom_dir}/{romName}
|
||||
4. {system_dir}/fbneo/{romName}
|
||||
5. {system_dir}/{romName}
|
||||
|
||||
The per-type subdirectories the core used to try under {rom_dir} and
|
||||
{system_dir}/fbneo, arcade and consoles, are gone: a BIOS ZIP has to sit
|
||||
directly in one of the four directories above.
|
||||
directly in one of directories 3 to 5 above.
|
||||
|
||||
Each game driver specifies a parent BIOS set via BurnDriver. The BIOS ZIP
|
||||
must contain the individual ROM chip files listed below. CRC32 values from
|
||||
@@ -688,6 +689,15 @@ files:
|
||||
note: "SH-2 BIOS, SF3 2nd Impact Hispanic"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:505"
|
||||
|
||||
- name: "sfiii2_asia.29f400.u2"
|
||||
archive: sfiii2a.zip
|
||||
system: capcom-cps3
|
||||
required: true
|
||||
size: 524288
|
||||
crc32: "4518d589"
|
||||
note: "SH-2 BIOS, SF3 2nd Impact Asia"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:520"
|
||||
|
||||
- name: "sfiii2_asia_nocd.29f400.u2"
|
||||
archive: sfiii2n.zip
|
||||
system: capcom-cps3
|
||||
@@ -695,7 +705,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "fd297c0d"
|
||||
note: "SH-2 BIOS, SF3 2nd Impact Asia (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:520"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:535"
|
||||
|
||||
# Street Fighter III 3rd Strike
|
||||
- name: "sfiii3_euro.29f400.u2"
|
||||
@@ -705,7 +715,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "30bbf293"
|
||||
note: "SH-2 BIOS, SF3 3rd Strike Europe"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:579"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:594"
|
||||
|
||||
- name: "sfiii3_usa.29f400.u2"
|
||||
archive: sfiii3u.zip
|
||||
@@ -714,7 +724,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "ecc545c1"
|
||||
note: "SH-2 BIOS, SF3 3rd Strike USA"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:594"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:609"
|
||||
|
||||
- name: "sfiii3_japan.29f400.u2"
|
||||
archive: sfiii3j.zip
|
||||
@@ -723,7 +733,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "63f23d1f"
|
||||
note: "SH-2 BIOS, SF3 3rd Strike Japan"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:609"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:624"
|
||||
|
||||
- name: "sfiii3_japan_nocd.29f400.u2"
|
||||
archive: sfiii3n.zip
|
||||
@@ -732,7 +742,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "1edc6366"
|
||||
note: "SH-2 BIOS, SF3 3rd Strike Japan (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:624"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:639"
|
||||
|
||||
- name: "sfiii3_asia_nocd.29f400.u2"
|
||||
archive: sfiii3na.zip
|
||||
@@ -741,7 +751,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "a12ebcd1"
|
||||
note: "SH-2 BIOS, SF3 3rd Strike Asia (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:637"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:652"
|
||||
|
||||
# JoJo's Bizarre Adventure
|
||||
- name: "jojo_euro.29f400.u2"
|
||||
@@ -751,7 +761,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "513e40ec"
|
||||
note: "SH-2 BIOS, JoJo's Venture Europe"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:799"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:814"
|
||||
|
||||
- name: "jojo_usa.29f400.u2"
|
||||
archive: jojou.zip
|
||||
@@ -760,7 +770,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "8d40f7be"
|
||||
note: "SH-2 BIOS, JoJo's Venture USA"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:814"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:829"
|
||||
|
||||
- name: "jojo_asia.29f400.u2"
|
||||
archive: jojoa.zip
|
||||
@@ -769,7 +779,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "789aa72a"
|
||||
note: "SH-2 BIOS, JoJo's Venture Asia"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:829"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:844"
|
||||
|
||||
- name: "jojo_japan.29f400.u2"
|
||||
archive: jojoj.zip
|
||||
@@ -778,7 +788,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "02778f60"
|
||||
note: "SH-2 BIOS, JoJo's Venture Japan"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:844"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:859"
|
||||
|
||||
- name: "jojo_asia_nocd.29f400.u2"
|
||||
archive: jojon.zip
|
||||
@@ -787,7 +797,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "05b4f953"
|
||||
note: "SH-2 BIOS, JoJo's Venture Asia (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:859"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:874"
|
||||
|
||||
# JoJo's Bizarre Adventure: Heritage for the Future
|
||||
- name: "jojoba_euro.29f400.u2"
|
||||
@@ -797,7 +807,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "63cc8800"
|
||||
note: "SH-2 BIOS, JoJo's BA: Heritage Europe"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1184"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1199"
|
||||
|
||||
- name: "jojoba_japan.29f400.u2"
|
||||
archive: jojobajr1.zip
|
||||
@@ -806,7 +816,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "3085478c"
|
||||
note: "SH-2 BIOS, JoJo's BA: Heritage Japan"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1199"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1214"
|
||||
|
||||
- name: "jojoba_euro_nocd.29f400.u2"
|
||||
archive: jojoba.zip
|
||||
@@ -815,7 +825,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "1ee2d679"
|
||||
note: "SH-2 BIOS, JoJo's BA: Heritage Europe (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1120"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1135"
|
||||
|
||||
- name: "jojoba_japan_nocd.29f400.u2"
|
||||
archive: jojoban.zip
|
||||
@@ -824,7 +834,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "4dab19f5"
|
||||
note: "SH-2 BIOS, JoJo's BA: Heritage Japan (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1133"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1148"
|
||||
|
||||
# Red Earth / Warzard
|
||||
- name: "redearth_euro.29f400.u2"
|
||||
@@ -834,7 +844,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "02e0f336"
|
||||
note: "SH-2 BIOS, Red Earth Europe"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1362"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1377"
|
||||
|
||||
- name: "warzard_japan.29f400.u2"
|
||||
archive: warzard.zip
|
||||
@@ -843,7 +853,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "f8e2f0c6"
|
||||
note: "SH-2 BIOS, Warzard Japan"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1377"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1392"
|
||||
|
||||
- name: "redearth_asia_nocd.29f400.u2"
|
||||
archive: redearthn.zip
|
||||
@@ -852,7 +862,7 @@ files:
|
||||
size: 524288
|
||||
crc32: "7a4f0851"
|
||||
note: "SH-2 BIOS, Red Earth Asia (No CD)"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1392"
|
||||
source_ref: "upstream src/burn/drv/cps3/d_cps3.cpp:1407"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Super Kaneko Nova System (skns.zip)
|
||||
@@ -1478,7 +1488,7 @@ files:
|
||||
sha1: "30c6ad697439de7c2158192ecdb48f5edd37478e"
|
||||
md5: "f5cdce5b3749d673ad8f073ccc7371e4"
|
||||
note: "High score database, enables persistent high scores across all arcade games. The hash is that of metadata/hiscore.dat at source_commit."
|
||||
source_ref: "source src/burn/hiscore.cpp:154-161, 407, source src/burn/burn.cpp:876"
|
||||
source_ref: "source src/burn/hiscore.cpp:154-161, 407, source src/burn/burn.cpp:893"
|
||||
|
||||
# Large audio samples (>50MB, stored as release assets)
|
||||
- name: "donpachi.zip"
|
||||
|
||||
@@ -16,8 +16,8 @@ display_name: "Arcade (FinalBurn Neo) (CPS-1 / CPS-2)"
|
||||
cores:
|
||||
- fbneo_cps12
|
||||
systems:
|
||||
- cps1
|
||||
- cps2
|
||||
- capcom-cps1
|
||||
- capcom-cps2
|
||||
- arcade
|
||||
|
||||
notes: |
|
||||
|
||||
@@ -50,7 +50,7 @@ systems:
|
||||
- konami-twinkle
|
||||
- panasonic-3do
|
||||
- hyper-neogeo64
|
||||
- apple2gs
|
||||
- apple-iigs
|
||||
- apf-m1000
|
||||
- bally-astrocade
|
||||
- coleco-adam
|
||||
@@ -3328,7 +3328,7 @@ files:
|
||||
- name: apple2gs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2gs
|
||||
system: apple-iigs
|
||||
source_ref: "source src/mame/apple/apple2gs.cpp:4012"
|
||||
contents:
|
||||
- name: 341s0632-2.bin
|
||||
|
||||
@@ -16,7 +16,7 @@ cores:
|
||||
- jollycv
|
||||
systems:
|
||||
- colecovision
|
||||
- creativision
|
||||
- crvision
|
||||
- myvision
|
||||
|
||||
notes: |
|
||||
@@ -67,7 +67,7 @@ files:
|
||||
note: "Mapped at 0x0000-0x1FFF, replaced by the lower 8K of SGM RAM when the Super Game Module enables it. The MD5 is the value the JG bioslist declares, and the core compares the size only."
|
||||
|
||||
- name: "bioscv.rom"
|
||||
system: creativision
|
||||
system: crvision
|
||||
description: "VTech CreatiVision BIOS ROM"
|
||||
required: true
|
||||
size: 2048
|
||||
|
||||
+2393
-269
File diff suppressed because it is too large.
Load diff
@@ -49,7 +49,7 @@ systems:
|
||||
- konami-twinkle
|
||||
- panasonic-3do
|
||||
- hyper-neogeo64
|
||||
- apple2gs
|
||||
- apple-iigs
|
||||
- apf-m1000
|
||||
- bally-astrocade
|
||||
- coleco-adam
|
||||
|
||||
@@ -49,7 +49,7 @@ systems:
|
||||
- konami-twinkle
|
||||
- panasonic-3do
|
||||
- hyper-neogeo64
|
||||
- apple2gs
|
||||
- apple-iigs
|
||||
- apf-m1000
|
||||
- bally-astrocade
|
||||
- coleco-adam
|
||||
|
||||
@@ -17,9 +17,8 @@ cores:
|
||||
- mamemess
|
||||
systems:
|
||||
- apple2
|
||||
- apple2gs
|
||||
- astrocde
|
||||
- astrocade
|
||||
- apple-iigs
|
||||
- bally-astrocade
|
||||
- coleco-adam
|
||||
- crvision
|
||||
- entex-advision
|
||||
@@ -667,7 +666,7 @@ files:
|
||||
- name: astrocde.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: astrocde
|
||||
system: bally-astrocade
|
||||
source_ref: "upstream src/mame/bally/astrohome.cpp:244-247"
|
||||
contents:
|
||||
- name: astro.bin
|
||||
@@ -678,7 +677,7 @@ files:
|
||||
- name: astrocdl.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: astrocde
|
||||
system: bally-astrocade
|
||||
source_ref: "upstream src/mame/bally/astrohome.cpp:249-251"
|
||||
contents:
|
||||
- name: ballyhlc.bin
|
||||
@@ -689,7 +688,7 @@ files:
|
||||
- name: astrocdw.zip
|
||||
required: false
|
||||
category: bios_zip
|
||||
system: astrocde
|
||||
system: bally-astrocade
|
||||
source_ref: "upstream src/mame/bally/astrohome.cpp:254-257"
|
||||
contents:
|
||||
- name: bioswhit.bin
|
||||
@@ -875,7 +874,7 @@ files:
|
||||
- name: apple2gs.zip
|
||||
required: true
|
||||
category: bios_zip
|
||||
system: apple2gs
|
||||
system: apple-iigs
|
||||
source_ref: "source src/mame/apple/apple2gs.cpp:3893-3907"
|
||||
contents:
|
||||
- name: 341s0632-2.bin
|
||||
|
||||
@@ -17,7 +17,7 @@ version_basis:
|
||||
pattern: 'uint16_t major = (\d+);\s*\n\s*uint8_t minor = (\d+);\s*\n\s*uint8_t revision = (\d+);'
|
||||
format: "{1}.{2}.{3}"
|
||||
cores: [mesen-s, mesen_s]
|
||||
systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-super-game-boy, nintendo-satellaview]
|
||||
systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-sgb, nintendo-satellaview]
|
||||
|
||||
notes: >
|
||||
High-accuracy SNES/SFC emulator with Game Boy/Color and Super Game Boy
|
||||
|
||||
@@ -32,7 +32,7 @@ systems:
|
||||
- nintendo-snes
|
||||
- nintendo-satellaview
|
||||
- nintendo-sufami-turbo
|
||||
- nintendo-super-game-boy
|
||||
- nintendo-sgb
|
||||
- nintendo-gb
|
||||
- nintendo-gbc
|
||||
- nintendo-gba
|
||||
@@ -411,7 +411,7 @@ files:
|
||||
- name: "SGB1.sfc"
|
||||
standalone_path: "Firmware/SGB1.sfc"
|
||||
mode: standalone
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
size: 262144
|
||||
validation: [size]
|
||||
@@ -422,7 +422,7 @@ files:
|
||||
- name: "SGB2.sfc"
|
||||
path: "SGB2.sfc"
|
||||
standalone_path: "Firmware/SGB2.sfc"
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
size: 524288
|
||||
validation: [size]
|
||||
@@ -461,7 +461,7 @@ files:
|
||||
standalone_path: "Firmware/sgb_boot.bin"
|
||||
mode: standalone
|
||||
aliases: ["sgb_bios.bin"]
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
size: 256
|
||||
validation: [size]
|
||||
@@ -473,7 +473,7 @@ files:
|
||||
path: "sgb2_boot.bin"
|
||||
standalone_path: "Firmware/sgb2_boot.bin"
|
||||
aliases: ["sgb_bios.bin"]
|
||||
system: nintendo-super-game-boy
|
||||
system: nintendo-sgb
|
||||
required: false
|
||||
size: 256
|
||||
validation: [size]
|
||||
|
||||
+319
-13
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"source": "redump",
|
||||
"imported_at": "2026-08-07",
|
||||
"imported_at": "2026-11-03",
|
||||
"dats": {
|
||||
"Microsoft - Xbox - BIOS Images": "2026-06-16",
|
||||
"Nintendo - GameCube - BIOS Images": "2026-06-16",
|
||||
"Sony - PlayStation - BIOS Images": "2026-06-16",
|
||||
"Sony - PlayStation 2 - BIOS Images": "2026-06-16"
|
||||
"Sony - PlayStation 2 - BIOS Images": "2026-10-10"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
@@ -500,13 +500,13 @@
|
||||
"description": "DTL-H10100 (Version 5.0 02/17/00 T)",
|
||||
"size": 4194304,
|
||||
"crc32": "e9836a0c",
|
||||
"md5": "",
|
||||
"sha1": ""
|
||||
"md5": "5d77cf6d5e5c221a03e754a6612a0f03",
|
||||
"sha1": "e09c2f773843ec0029463c386108b67fd900c726"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0101xd-20000224-172900.bin",
|
||||
"description": "DTL-H10000 (Version 5.0 02/24/00 T)",
|
||||
"description": "DTL-H10000S (Version 5.0 02/24/00 T)",
|
||||
"size": 4194304,
|
||||
"crc32": "2fef9faf",
|
||||
"md5": "d3f1853a16c2ec18f3cd1ae655213308",
|
||||
@@ -821,7 +821,7 @@
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0180cd-20030224-185856.bin",
|
||||
"description": "DTL-H50009 (Version 5.0 02/24/03 J)",
|
||||
"description": "DTL-H50009J (Version 5.0 02/24/03 J)",
|
||||
"size": 4194304,
|
||||
"crc32": "8c1a04cf",
|
||||
"md5": "240d4c5ddd4b54069bdc4a3cd2faf99d",
|
||||
@@ -875,7 +875,7 @@
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0190cd-20030623-142420.bin",
|
||||
"description": "SCPH-50009 (Version 5.0 06/23/03 J)",
|
||||
"description": "SCPH-50009 (Review) (Version 5.0 06/23/03 J)",
|
||||
"size": 4194304,
|
||||
"crc32": "33e31008",
|
||||
"md5": "122bbf34cbae1f4fdc6b2f6fae473094",
|
||||
@@ -1091,7 +1091,7 @@
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-0220h-20050620-175641.bin",
|
||||
"description": "SCPH-75006 (Version 5.0 06/20/05 J)",
|
||||
"description": "SCPH-75006/SCPH-75007 (Version 5.0 06/20/05 J)",
|
||||
"size": 4194304,
|
||||
"crc32": "e27c4a6c",
|
||||
"md5": "df63a604e8bff5b0599bd1a6c2721bd0",
|
||||
@@ -1370,7 +1370,7 @@
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-dvd-212g.bin",
|
||||
"description": "SCPH-30006R (Version 2.12G)",
|
||||
"description": "SCPH-30006R/SCPH-30007R (Version 2.12G)",
|
||||
"size": 2097152,
|
||||
"crc32": "1428b7a1",
|
||||
"md5": "32abbe7ab7c1b72d5ffc24d4963bd6c6",
|
||||
@@ -1493,14 +1493,23 @@
|
||||
"md5": "e414c981647883e33f17642da827a739",
|
||||
"sha1": "6219ad4ead2ece9c4d32df5b040c4c391b763e5a"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-dvd-302a.bin",
|
||||
"description": "SCPH-50002 (Version 3.02A)",
|
||||
"size": 4194304,
|
||||
"crc32": "30698201",
|
||||
"md5": "606e0ef522c0453b93e42ffc029f4dd4",
|
||||
"sha1": "f037ba1d34f6b07e56f977604f9a7efa11f930b8"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-dvd-302c.bin",
|
||||
"description": "SCPH-50009 (Version 3.02C)",
|
||||
"size": 8388608,
|
||||
"crc32": "e2332146",
|
||||
"md5": "188a9fb0bee57d25480d9d5de71d145b",
|
||||
"sha1": "6a08cc5139ed435b2cfe40820921924d9b162e68"
|
||||
"size": 4194304,
|
||||
"crc32": "1374e4f0",
|
||||
"md5": "6bbd2f348c585fdd645900f6ec75f2c7",
|
||||
"sha1": "aa21592362b5797109ea38ec2df31e949ad3effd"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
@@ -1601,6 +1610,294 @@
|
||||
"md5": "79b4880006769a1af9b0a6c7302cc18d",
|
||||
"sha1": "747e36b086aceceb300c72c0d1bbab38e2920e63"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-102j.bin",
|
||||
"description": "SCPH-10000 (Version 1.02)",
|
||||
"size": 262144,
|
||||
"crc32": "d8f2e109",
|
||||
"md5": "de2460c124508e4bf3c88d4f0ec5227c",
|
||||
"sha1": "6cccd981a35d30b2a749eda3c35a85f5e307deb6"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-103jd.bin",
|
||||
"description": "DTL-T10000/DTL-H10000 (Version 1.03)",
|
||||
"size": 262144,
|
||||
"crc32": "d2409e35",
|
||||
"md5": "484bfc310a583db74ee91d0437175dee",
|
||||
"sha1": "4a4db8dd25c63e14e07583011d2c53ae67441fe3"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-108j.bin",
|
||||
"description": "SCPH-10000/SCPH-15000 (Version 1.08)",
|
||||
"size": 262144,
|
||||
"crc32": "afcf52d5",
|
||||
"md5": "5b1770360139c2607137701408a745fe",
|
||||
"sha1": "0702050cb545b302e11c73bfa02c3467a5382d55"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-109jd.bin",
|
||||
"description": "DTL-T10000H/DTL-T15000 (Version 1.09)",
|
||||
"size": 262144,
|
||||
"crc32": "5ec122ea",
|
||||
"md5": "9f32a7e7eb57bbbe594e8e951666cbaf",
|
||||
"sha1": "455450c54df94dd95d44d34e6c4720a6206649dd"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-200j.bin",
|
||||
"description": "SCPH-15000/18000 (Version 2.00)",
|
||||
"size": 262144,
|
||||
"crc32": "47d9ec76",
|
||||
"md5": "b81c1ec87f2f9841c0c13bb45a818471",
|
||||
"sha1": "4befade39ac04fd9a91974a811a991bfde1034de"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-202j.bin",
|
||||
"description": "SCPH-15000/18000 (Version 2.02)",
|
||||
"size": 262144,
|
||||
"crc32": "03bba932",
|
||||
"md5": "68d725ba0988abf804d8ff5589b3d30c",
|
||||
"sha1": "33cebc96e05a4e86ce9da8a4bbc3e34ebc728d47"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-204a.bin",
|
||||
"description": "SCPH-30002 (Version 2.04)",
|
||||
"size": 262144,
|
||||
"crc32": "71b11545",
|
||||
"md5": "dc6afc62cf67831097b9ff9a401af724",
|
||||
"sha1": "e162cb6f8a67b2799d2ae89a3e66b7f45d3bd83c"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-204e.bin",
|
||||
"description": "SCPH-30004 (Version 2.04)",
|
||||
"size": 262144,
|
||||
"crc32": "17f78c61",
|
||||
"md5": "95b9d305de825681404e413855ac13a3",
|
||||
"sha1": "5a67bc9b53e5e00b428ab6654bc83be64bd64b56"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-204tz.bin",
|
||||
"description": "COH-H30000/COH-H31000/COH-H31100/Namco System 246/Namco System 256/Konami Python (Version 2.04)",
|
||||
"size": 262144,
|
||||
"crc32": "671fc46a",
|
||||
"md5": "1a2297cfb50742aabc10ac4c97de1a6c",
|
||||
"sha1": "45226968b29b63331a4be8cc526923aea9a150b2"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-204u.bin",
|
||||
"description": "SCPH-30001 (Version 2.04)",
|
||||
"size": 262144,
|
||||
"crc32": "f67f305c",
|
||||
"md5": "8cb8d51fbd7219614213ff03edf90dcf",
|
||||
"sha1": "33adfa7adef592625581bf22a78f53d637c211a5"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-206e.bin",
|
||||
"description": "SCPH-30004 (Version 2.06)",
|
||||
"size": 262144,
|
||||
"crc32": "45ae6140",
|
||||
"md5": "a2f28f84cce2567fe1fea3ae88c7a616",
|
||||
"sha1": "51d71d26ffb71d03e8010515513cb5b68707c3df"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-206u.bin",
|
||||
"description": "SCPH-30001 (Version 2.06)",
|
||||
"size": 262144,
|
||||
"crc32": "3783f473",
|
||||
"md5": "c6b665d76878ee81a0754eba2c176ff9",
|
||||
"sha1": "5b1d0249bd3812100061443880a15730111c8b95"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-212e.bin",
|
||||
"description": "SCPH-30004 (Version 2.12)",
|
||||
"size": 262144,
|
||||
"crc32": "fa17c652",
|
||||
"md5": "7d493a81109b5b60710c28bf5191e98a",
|
||||
"sha1": "984de16c377c7a91994c76f3dfa677b40c01168b"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-212j.bin",
|
||||
"description": "SCPH-30000 (Version 2.12)",
|
||||
"size": 262144,
|
||||
"crc32": "c88a01c3",
|
||||
"md5": "7705dffadc905f4104d1f1a1490275b1",
|
||||
"sha1": "039986b6347b678e4ab15b76b3f69baf0cc040ab"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-212u.bin",
|
||||
"description": "SCPH-30001 (Version 2.12)",
|
||||
"size": 262144,
|
||||
"crc32": "86149b00",
|
||||
"md5": "d33c36a66d46842844f5bbfa428c9b28",
|
||||
"sha1": "10d306463553ce2784ba49e8ade428b53eea433d"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-213.bin",
|
||||
"description": "DTL-H30100/DTL-H30101/DTL-H30102 (Version 2.13)",
|
||||
"size": 262144,
|
||||
"crc32": "12dce159",
|
||||
"md5": "2358bccb68c31a6ae5f87e80747f11c0",
|
||||
"sha1": "4664a3b51ff05dab2b3849cd674a791486daf942"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-214j.bin",
|
||||
"description": "SCPH-30000 (Version 2.14)",
|
||||
"size": 262144,
|
||||
"crc32": "d5c091d4",
|
||||
"md5": "052de655fe1dfec935ecbdfe00fdeaa1",
|
||||
"sha1": "3788a2b5555621ccd6e19708867868c876d5c5f2"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-214u.bin",
|
||||
"description": "SCPH-30001 (Version 2.14)",
|
||||
"size": 262144,
|
||||
"crc32": "305c7aeb",
|
||||
"md5": "5cbe03515bddef594cea69339842c645",
|
||||
"sha1": "d93a7421635820deda09f75ecdc204abcf03ec8f"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-300a.bin",
|
||||
"description": "SCPH-30002R (Version 3.00)",
|
||||
"size": 196608,
|
||||
"crc32": "cf817959",
|
||||
"md5": "1d00ce7a7cb33bca3a2328a9926bdb14",
|
||||
"sha1": "2950a99544428e76d6de7cfb2104ac8969ef2be7"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-300e.bin",
|
||||
"description": "SCPH-30002R (Version 3.00)",
|
||||
"size": 196608,
|
||||
"crc32": "1db6824f",
|
||||
"md5": "241288cbcfc98ae2535d163cefcc973f",
|
||||
"sha1": "b179711c4a3a78f88d1f7ea2e244183515638cd3"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-300u.bin",
|
||||
"description": "SCPH-30001R (Version 3.00)",
|
||||
"size": 196608,
|
||||
"crc32": "8f50598e",
|
||||
"md5": "72166da44d3d46d725c2733a43847eb7",
|
||||
"sha1": "521bf6fca7033fdd5bff085ca2eadeb48276e390"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-302e.bin",
|
||||
"description": "SCPH-30002R (Version 3.02)",
|
||||
"size": 196608,
|
||||
"crc32": "47640752",
|
||||
"md5": "90027eb550609cbae43b68b2db0e7657",
|
||||
"sha1": "9b919e5f184ee32f9391370870b172009d8791f8"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-302j.bin",
|
||||
"description": "SCPH-30000 (Version 3.02)",
|
||||
"size": 196608,
|
||||
"crc32": "a188df40",
|
||||
"md5": "fc8f3ac91689a5265a839c8a513ac4d4",
|
||||
"sha1": "795a871b18d4cdffb0530fd2edd480d68ad64694"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-302u.bin",
|
||||
"description": "SCPH-30001R (Version 3.02)",
|
||||
"size": 196608,
|
||||
"crc32": "22baaf07",
|
||||
"md5": "440dd9e6cc179ccc5fdae31b8df79541",
|
||||
"sha1": "6060d4108078499e6229ef4764d96dc0546e7bbc"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-304h.bin",
|
||||
"description": "SCPH-30005R/SCPH-30006R/SCPH-30007R (Version 3.04)",
|
||||
"size": 196608,
|
||||
"crc32": "005b64e8",
|
||||
"md5": "b007212aaf85cd14c6a2bb50bfacf1f5",
|
||||
"sha1": "6872317862fcc2dc324bb729546d384528fbeb85"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-306a.bin",
|
||||
"description": "SCPH-39002 (Version 3.06)",
|
||||
"size": 196608,
|
||||
"crc32": "b3431eb3",
|
||||
"md5": "f6f733aa90718ad419f7988c96054044",
|
||||
"sha1": "cbf03c477063dcd4251c9b4aa5e0f9ffbf91c288"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-306e.bin",
|
||||
"description": "SCPH-39004 (Version 3.06)",
|
||||
"size": 196608,
|
||||
"crc32": "33570b91",
|
||||
"md5": "07bc44c5af2bd4ce84ddc21493da6bfe",
|
||||
"sha1": "05e2661404a59eec3698b529aa418f4a4588c164"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-306j.bin",
|
||||
"description": "SCPH-37000/SCPH-39000 (Version 3.06)",
|
||||
"size": 196608,
|
||||
"crc32": "101b858a",
|
||||
"md5": "40f6ff03a905f73152d83793b941fc60",
|
||||
"sha1": "4259d472c0d14fb6c12e7f2eb70449dc47b5c0df"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-306r.bin",
|
||||
"description": "SCPH-39008 (Version 3.06)",
|
||||
"size": 196608,
|
||||
"crc32": "b47b0ff1",
|
||||
"md5": "34ab767ae8e9cfc4c88113f61bf66c69",
|
||||
"sha1": "9ec354ecff5a94953634ab941e164e6557c1b692"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-306u.bin",
|
||||
"description": "SCPH-39001 (Version 3.06)",
|
||||
"size": 196608,
|
||||
"crc32": "bf69bd93",
|
||||
"md5": "b19cac445fe789f3aeb2035259fe7ecb",
|
||||
"sha1": "430f3303981f77dd40f4e72d1e307daa22b1ca0d"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-308h.bin",
|
||||
"description": "SCPH-39005/SCPH-39006/SCPH-39007 (Version 3.08)",
|
||||
"size": 196608,
|
||||
"crc32": "60e3a237",
|
||||
"md5": "afefff3630595e9e02f005edb5edce17",
|
||||
"sha1": "748c66b4915e5dff2a60cd4011d26077eb41c843"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-308j.bin",
|
||||
"description": "SCPH-39000 (Version 3.08)",
|
||||
"size": 196608,
|
||||
"crc32": "256d7c20",
|
||||
"md5": "88d166499b275e6ff301244043a6c835",
|
||||
"sha1": "d892a0770dfef5980d9138c8b054035558da6cf8"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-mechacon-500.bin",
|
||||
@@ -1726,6 +2023,15 @@
|
||||
"crc32": "d0711ead",
|
||||
"md5": "52f6b4848d1afabed8f9fab427127944",
|
||||
"sha1": "675e76b1b30b574081b55f2c6a30db5cfcb0fc3a"
|
||||
},
|
||||
{
|
||||
"dat": "Sony - PlayStation 2 - BIOS Images",
|
||||
"name": "ps2-rom2.bin",
|
||||
"description": "SCPH-50009 (Simplified Chinese Fonts)",
|
||||
"size": 4194304,
|
||||
"crc32": "b1bc06fd",
|
||||
"md5": "8a6f7d946bef39d5b69e6688ceb1f3e9",
|
||||
"sha1": "ad8cb9c72ebd397b57b5b1df6fb4ca753dac2c14"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2663,6 +2663,20 @@ SYSTEM_ALIASES: dict[str, str] = {
|
||||
# profiles use only through these.
|
||||
"sega-segacd": "sega-megacd",
|
||||
"nes-fds": "nintendo-fds",
|
||||
# One machine, two spellings across platform folders and profiles:
|
||||
# Recalbox's apple2gs, Batocera's astrocade, KNULLI and RetroBat's
|
||||
# astrocde, MiSTer's creativision, Batocera's gamepocketcomputer
|
||||
# folder, BizHawk's Super Game Boy, the FBA 2012 board names.
|
||||
"apple2gs": "apple-iigs",
|
||||
"astrocade": "bally-astrocade",
|
||||
"astrocde": "bally-astrocade",
|
||||
"creativision": "crvision",
|
||||
"gamepocketcomputer": "gamepock",
|
||||
"nintendo-super-game-boy": "nintendo-sgb",
|
||||
"cps1": "capcom-cps1",
|
||||
"cps2": "capcom-cps2",
|
||||
"cps3": "capcom-cps3",
|
||||
"pgm": "igs-pgm",
|
||||
}
|
||||
|
||||
|
||||
|
||||
+11
-2
@@ -1377,8 +1377,17 @@ class _ClaimRanks:
|
||||
|
||||
|
||||
def _names_content(entry: dict) -> bool:
|
||||
"""Whether a report entry declares the bytes it wants, not only a name."""
|
||||
return any(entry.get(field) for field in ("sha1", "md5", "sha256", "crc32"))
|
||||
"""Whether a report entry declares the bytes it wants, not only a name.
|
||||
|
||||
The claims folded onto the entry count: bsnes asks for SGB1.sfc by name
|
||||
and bsnes-hd pins its md5 under the same system, and the entry carrying
|
||||
both went after nSide's SGB1.sfc/ tree, which took the path from the file.
|
||||
"""
|
||||
return any(
|
||||
claim.get(field)
|
||||
for claim in (entry, *entry.get("other_claims", []))
|
||||
for field in ("sha1", "md5", "sha256", "crc32")
|
||||
)
|
||||
|
||||
|
||||
def _save_fields(extra: dict, pack_path: str, placement: ExtraPlacement) -> None:
|
||||
|
||||
@@ -272,6 +272,33 @@ def attribute_systems(
|
||||
return {name: sorted(found) for name, found in systems.items()}
|
||||
|
||||
|
||||
def device_systems(
|
||||
machines: dict[str, MachineLinks],
|
||||
seeds: dict[str, str],
|
||||
fallback: str,
|
||||
) -> dict[str, list[str]]:
|
||||
"""Systems whose machines can load each set, unplaced machines under *fallback*.
|
||||
|
||||
attribute_systems files a set under the systems of the machines a seed
|
||||
places. A machine no seed places (a computer no platform runs through
|
||||
this profile, a game outside every BIOS family) still loads its devices,
|
||||
and MAME starts it from its set name, the way an arcade folder passes a
|
||||
game: it counts as a machine of *fallback*. A set only such machines
|
||||
load (an Amiga keyboard, an ISA card) then goes under *fallback* alone,
|
||||
and a set both kinds load (ym2413, for the CoCo and for arcade games)
|
||||
under both. A set no runnable machine of the release instantiates keeps
|
||||
no system: the document never names its machine.
|
||||
"""
|
||||
if not fallback:
|
||||
return attribute_systems(machines, seeds)
|
||||
unplaced = {
|
||||
name: fallback
|
||||
for name, links in machines.items()
|
||||
if not links.isdevice and not _seed_system(name, machines, seeds)
|
||||
}
|
||||
return attribute_systems(machines, {**seeds, **unplaced})
|
||||
|
||||
|
||||
def platform_seeds(
|
||||
stated: Iterable[tuple[str, str]],
|
||||
machines: dict[str, MachineLinks],
|
||||
|
||||
@@ -48,6 +48,7 @@ from .mame_devices import (
|
||||
attribute_softlists,
|
||||
attribute_systems,
|
||||
default_floppy_samples,
|
||||
device_systems,
|
||||
drive_form_factor,
|
||||
floppy_drives,
|
||||
floppy_sample_systems,
|
||||
@@ -70,6 +71,9 @@ _CLONE_DIR = _ROOT / "tmp" / f"mame-{os.getpid()}"
|
||||
_EMULATORS_DIR = _ROOT / "emulators"
|
||||
_PLATFORMS_DIR = _ROOT / "platforms"
|
||||
_FLOPPY_SOURCE = "src/devices/imagedev/floppy.cpp"
|
||||
# Where a device set goes when only machines no seed places load it: MAME
|
||||
# starts such a machine from its set name, as an arcade folder passes one.
|
||||
UNPLACED_SYSTEM = "arcade"
|
||||
_REPO_URL = "https://github.com/mamedev/mame.git"
|
||||
_STALE_HOURS = 24
|
||||
|
||||
@@ -570,9 +574,14 @@ def _merge_devices(args: argparse.Namespace) -> None:
|
||||
stated, conflicts = platform_seeds(
|
||||
_platform_archives(), machines, profile.get("systems") or [], written
|
||||
)
|
||||
systems = attribute_systems(machines, {**stated, **written})
|
||||
seeds = {**stated, **written}
|
||||
systems = attribute_systems(machines, seeds)
|
||||
listed = profile.get("systems") or []
|
||||
filed = device_systems(
|
||||
machines, seeds, UNPLACED_SYSTEM if UNPLACED_SYSTEM in listed else ""
|
||||
)
|
||||
for set_name, device in devices.items():
|
||||
device["systems"] = systems.get(set_name, [])
|
||||
device["systems"] = filed.get(set_name, [])
|
||||
report = merge_mame_devices(str(profile_path), devices, write=not args.dry_run)
|
||||
|
||||
shipped = upstream.list_directory(repo, commit, "hash", upstream.CACHE_DIR)
|
||||
@@ -602,10 +611,12 @@ def _merge_devices(args: argparse.Namespace) -> None:
|
||||
for set_name in report["conflict"]:
|
||||
print(f" ! {set_name}.zip is listed under another category, left as written")
|
||||
by_count = Counter(len(device["systems"]) for device in devices.values())
|
||||
fallen = sum(1 for device in devices.values() if UNPLACED_SYSTEM in device["systems"])
|
||||
print(
|
||||
f" systems: {by_count[1]} sets under one system, "
|
||||
f"{sum(n for k, n in by_count.items() if k > 1)} under several, "
|
||||
f"{by_count[0]} loaded by no placed machine "
|
||||
f"{fallen} of them under {UNPLACED_SYSTEM} (loaded by machines no entry places), "
|
||||
f"{by_count[0]} instantiated by no machine of the release "
|
||||
"(they serve every system of the profile)"
|
||||
)
|
||||
print(
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
"""Fetch Redump BIOS DAT files and write a provenance snapshot.
|
||||
|
||||
Redump serves BIOS DATs as static clrmamepro files linked from
|
||||
https://redump.info/downloads under /static/bios/. The downloads page
|
||||
is scanned for those links, so new BIOS DATs are picked up without
|
||||
code changes.
|
||||
Redump serves BIOS DATs as Logiqx files linked from
|
||||
https://redump.info/downloads. The links were static files under
|
||||
/static/bios/<name>.dat and are now one route per system,
|
||||
/bios/<CODE> (PSX, PS2, GC, XBOX), served as an attachment. The
|
||||
downloads page is scanned for either shape, so new BIOS DATs are
|
||||
picked up without code changes.
|
||||
|
||||
Run manually, then commit the snapshot:
|
||||
python -m scripts.scraper.redump_dat_scraper --dry-run
|
||||
@@ -40,6 +42,7 @@ def _fetch(url: str) -> str:
|
||||
def discover_bios_datfiles(downloads_html: str) -> list[str]:
|
||||
"""Extract BIOS DAT paths from the downloads page."""
|
||||
paths = set(re.findall(r'href="(/static/bios/[^"]+\.dat)"', downloads_html))
|
||||
paths.update(re.findall(r'href="(/bios/[A-Za-z0-9_-]+)"', downloads_html))
|
||||
return sorted(paths)
|
||||
|
||||
|
||||
|
||||
@@ -860,7 +860,6 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"apple-iie": "Apple IIe",
|
||||
"apple-ios": "Apple iOS",
|
||||
"apple2": "Apple II",
|
||||
"apple2gs": "Apple IIGS",
|
||||
"arcade": "Arcade games",
|
||||
"arcade-laserdisc": "Laserdisc arcade games",
|
||||
"arcadia-systems": "Arcadia Systems Multi Select",
|
||||
@@ -869,7 +868,6 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"aristocrat-mk6": "Aristocrat MK6",
|
||||
"aristocrat-mk7": "Aristocrat MK7",
|
||||
"arm": "ARM",
|
||||
"astrocde": "Bally Astrocade",
|
||||
"atari-falcon": "Atari Falcon",
|
||||
"atari-jaguarcd": "Atari Jaguar CD",
|
||||
"atari-ste": "Atari STE",
|
||||
@@ -920,10 +918,6 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"commodore-cdtv": "Commodore CDTV",
|
||||
"commodore-cubo": "CD Express Cubo CD32",
|
||||
"coolbar": "Coolbar feature phones",
|
||||
"cps1": "Capcom CPS-1",
|
||||
"cps2": "Capcom CPS-2",
|
||||
"cps3": "Capcom CPS-3",
|
||||
"crvision": "VTech CreatiVision",
|
||||
"cstrike": "Counter-Strike",
|
||||
"ctf": "Quake II: Capture the Flag",
|
||||
"czero": "Counter-Strike: Condition Zero",
|
||||
@@ -1073,7 +1067,6 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"nintendo-nss": "Nintendo Super System",
|
||||
"nintendo-playch10": "Nintendo PlayChoice-10",
|
||||
"nintendo-sfcbox": "Nintendo Super Famicom Box",
|
||||
"nintendo-sgb": "Nintendo Super Game Boy",
|
||||
"nintendo-virtualboy": "Nintendo Virtual Boy",
|
||||
"nintendo-wii-arcade": "Nintendo Wii arcade boards",
|
||||
"nmk16": "NMK16",
|
||||
@@ -1092,7 +1085,6 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"pce-tourvision": "TourVision",
|
||||
"pdark": "Perfect Dark",
|
||||
"pegasus": "Aamber Pegasus",
|
||||
"pgm": "IGS PolyGame Master",
|
||||
"philips-p2000t": "Philips P2000T",
|
||||
"philips-vg5k": "Philips VG 5000",
|
||||
"picocomputer-6502": "Picocomputer 6502 programs",
|
||||
@@ -1216,6 +1208,7 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"tomb-raider-1": "Tomb Raider",
|
||||
"tomb-raider-2": "Tomb Raider II",
|
||||
"transport-tycoon-deluxe": "Transport Tycoon Deluxe",
|
||||
"tvgames": "Plug-and-play TV games",
|
||||
"tyrian": "Tyrian",
|
||||
"ur-quan-masters": "Star Control II",
|
||||
"urban-terror": "Urban Terror",
|
||||
|
||||
@@ -32,6 +32,7 @@ from scripts.scraper.mame_devices import (
|
||||
attribute_softlists,
|
||||
attribute_systems,
|
||||
default_floppy_samples,
|
||||
device_systems,
|
||||
drive_form_factor,
|
||||
find_rom_block,
|
||||
floppy_drives,
|
||||
@@ -500,6 +501,37 @@ class DeviceSetsFollowTheMachinesThatLoadThem(unittest.TestCase):
|
||||
)
|
||||
|
||||
|
||||
class MachinesNoEntryPlacesCountUnderArcade(unittest.TestCase):
|
||||
"""MAME starts any machine from its set name: a machine no seed places
|
||||
is one an arcade folder can pass it, so its devices go under arcade."""
|
||||
|
||||
def test_a_set_only_unplaced_machines_load(self):
|
||||
systems = device_systems(_release().machines, SEEDS, "arcade")
|
||||
# ibm5150 is no system of the profile, and pc_kbd only it loads.
|
||||
self.assertEqual(systems["pc_kbd"], ["arcade"])
|
||||
|
||||
def test_a_set_both_kinds_load_keeps_both(self):
|
||||
# aes is placed by no seed and loads ym2610, as the MVS does.
|
||||
systems = device_systems(_release().machines, SEEDS, "arcade")
|
||||
self.assertEqual(systems["ym2610"], ["arcade", "snk-neogeo-mvs"])
|
||||
self.assertEqual(systems["a2diskii"], ["apple2gs"])
|
||||
self.assertEqual(systems["cart_dev"], ["snk-neogeo-mvs"])
|
||||
|
||||
def test_a_set_no_machine_instantiates_keeps_none(self):
|
||||
machines = {
|
||||
**_release().machines,
|
||||
"orphan": MachineLinks("", True, ()),
|
||||
}
|
||||
systems = device_systems(machines, SEEDS, "arcade")
|
||||
self.assertNotIn("orphan", systems)
|
||||
|
||||
def test_no_fallback_listed_is_attribute_systems(self):
|
||||
machines = _release().machines
|
||||
self.assertEqual(
|
||||
device_systems(machines, SEEDS, ""), attribute_systems(machines, SEEDS)
|
||||
)
|
||||
|
||||
|
||||
class TheMergeWritesTheSystems(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
||||
@@ -134,6 +134,21 @@ class TestRedumpScraper(unittest.TestCase):
|
||||
["/static/bios/Nintendo%20GC.dat", "/static/bios/Sony%20PSX.dat"],
|
||||
)
|
||||
|
||||
def test_discover_bios_routes(self):
|
||||
html = (
|
||||
'<td><a href="/bios/XBOX">Datfile</a></td>'
|
||||
'<td><a href="/bios/GC">Datfile</a></td>'
|
||||
'<td><a href="/bios/PSX">Datfile</a></td>'
|
||||
'<td><a href="/bios/PS2">Datfile</a></td>'
|
||||
'<td><a href="/bios/PSX">Datfile</a></td>'
|
||||
'<td><a href="/datfile/psx">Datfile</a></td>'
|
||||
'<td><a href="/bios/">Index</a></td>'
|
||||
)
|
||||
self.assertEqual(
|
||||
discover_bios_datfiles(html),
|
||||
["/bios/GC", "/bios/PS2", "/bios/PSX", "/bios/XBOX"],
|
||||
)
|
||||
|
||||
def test_parse_redump_dat(self):
|
||||
name, version, entries = parse_redump_dat(LOGIQX_MACHINE_FIXTURE)
|
||||
self.assertEqual(name, "Sony - PlayStation - BIOS Images")
|
||||
|
||||
@@ -32,7 +32,6 @@ UNLINKED: dict[str, str] = {
|
||||
# several systems' files or not reviewed as the system's own. The
|
||||
# heading names the program, not the system.
|
||||
"capcom-cps3": "Arcade > FBNeo",
|
||||
"cps3": "Arcade > Arcade holds one CPS-3 set among every board's",
|
||||
"commanderx16": "Arcade > Arcade",
|
||||
"dark-forces-ii": "Game Engines > OpenJKDF2",
|
||||
"fpinball": "Other > future-pinball-fploader",
|
||||
|
||||
@@ -16,8 +16,8 @@ from pathlib import Path
|
||||
REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(REPO_ROOT / "scripts"))
|
||||
|
||||
from common import SYSTEM_ALIASES, load_emulator_profiles # noqa: E402
|
||||
from packextras import _slug_for # noqa: E402
|
||||
from common import SYSTEM_ALIASES, _norm_system_id, load_emulator_profiles # noqa: E402
|
||||
from packextras import _names_content, _slug_for # noqa: E402
|
||||
|
||||
|
||||
class ProfilesSpellEachMachineOnce(unittest.TestCase):
|
||||
@@ -35,6 +35,61 @@ class ProfilesSpellEachMachineOnce(unittest.TestCase):
|
||||
self.assertEqual(sorted(set(found)), [])
|
||||
|
||||
|
||||
class PlatformNamesReachTheProfileSystem(unittest.TestCase):
|
||||
"""Folder and system names a platform gives a machine, joined to the
|
||||
profile that runs it there. Each pair fell back to the whole profile in
|
||||
a survey of the rom folders of 38 setups, the two spellings not meeting
|
||||
once normalized."""
|
||||
|
||||
# (name a platform uses, profile running it there)
|
||||
PAIRS = [
|
||||
("apple-iigs", "mame"),
|
||||
("apple2gs", "gsplus-legacy"),
|
||||
("astrocde", "mame"),
|
||||
("astrocade", "mame"),
|
||||
("creativision", "mame"),
|
||||
("gamepocketcomputer", "mame"),
|
||||
("nintendo-sgb", "bsnes"),
|
||||
("nintendo-sgb", "mesen-s"),
|
||||
("capcom-cps1", "fbalpha2012_cps1"),
|
||||
("capcom-cps2", "fbalpha2012_cps2"),
|
||||
("capcom-cps3", "fbalpha2012_cps3"),
|
||||
("capcom-cps1", "fbalpha2012"),
|
||||
("igs-pgm", "fbalpha2012"),
|
||||
]
|
||||
|
||||
def test_each_name_meets_a_system_of_its_profile(self):
|
||||
profiles = load_emulator_profiles(str(REPO_ROOT / "emulators"))
|
||||
unmet = [
|
||||
f"{name} -> {emulator}"
|
||||
for name, emulator in self.PAIRS
|
||||
if _norm_system_id(name)
|
||||
not in {_norm_system_id(str(s)) for s in profiles[emulator].get("systems", [])}
|
||||
]
|
||||
self.assertEqual(unmet, [])
|
||||
|
||||
def test_both_spellings_normalize_alike(self):
|
||||
for alias, canonical in SYSTEM_ALIASES.items():
|
||||
with self.subTest(alias=alias):
|
||||
self.assertEqual(_norm_system_id(alias), _norm_system_id(canonical))
|
||||
|
||||
|
||||
class AFoldedClaimKeepsItsProof(unittest.TestCase):
|
||||
"""One spelling per machine folds bsnes-hd's SGB1.sfc onto bsnes's: the
|
||||
entry still pins the bytes, so it is placed before nSide's SGB1.sfc/
|
||||
tree and the file keeps its path."""
|
||||
|
||||
def test_a_hash_on_a_folded_claim_counts(self):
|
||||
entry = {
|
||||
"name": "SGB1.sfc", "md5": None, "sha1": None,
|
||||
"other_claims": [{"name": "SGB1.sfc", "md5": "b15ddb15721c657d82c5bab6db982ee9"}],
|
||||
}
|
||||
self.assertTrue(_names_content(entry))
|
||||
|
||||
def test_names_alone_name_no_content(self):
|
||||
self.assertFalse(_names_content({"name": "SGB1.sfc", "other_claims": [{"name": "SGB1.sfc"}]}))
|
||||
|
||||
|
||||
class AFileGoesToItsOwnSystemFolder(unittest.TestCase):
|
||||
PROFILES = {"picodrive": {"systems": ["sega-game-gear", "sega-megacd"]}}
|
||||
SYSTEMS = {"sega-game-gear", "sega-mega-cd"}
|
||||
|
||||
Reference in new issue
Block a user