diff --git a/README.md b/README.md index 2ece31100..584fbc23d 100644 --- a/README.md +++ b/README.md @@ -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/)** diff --git a/emulators/bsnes.yml b/emulators/bsnes.yml index ef31dc4a2..aa760f8f5 100644 --- a/emulators/bsnes.yml +++ b/emulators/bsnes.yml @@ -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)" diff --git a/emulators/fbalpha2012.yml b/emulators/fbalpha2012.yml index 4d54627cb..94953f4fb 100644 --- a/emulators/fbalpha2012.yml +++ b/emulators/fbalpha2012.yml @@ -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. diff --git a/emulators/fbalpha2012_cps1.yml b/emulators/fbalpha2012_cps1.yml index 3e85ca306..71d5ce77b 100644 --- a/emulators/fbalpha2012_cps1.yml +++ b/emulators/fbalpha2012_cps1.yml @@ -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. diff --git a/emulators/fbalpha2012_cps2.yml b/emulators/fbalpha2012_cps2.yml index 5bee02d1f..c2977660d 100644 --- a/emulators/fbalpha2012_cps2.yml +++ b/emulators/fbalpha2012_cps2.yml @@ -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. diff --git a/emulators/fbalpha2012_cps3.yml b/emulators/fbalpha2012_cps3.yml index cdb667f78..1a444250f 100644 --- a/emulators/fbalpha2012_cps3.yml +++ b/emulators/fbalpha2012_cps3.yml @@ -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. diff --git a/emulators/fbneo_cps12.yml b/emulators/fbneo_cps12.yml index 4d2d50469..b36d274e7 100644 --- a/emulators/fbneo_cps12.yml +++ b/emulators/fbneo_cps12.yml @@ -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: | diff --git a/emulators/groovymame.yml b/emulators/groovymame.yml index 560d088c6..5d8f8ae23 100644 --- a/emulators/groovymame.yml +++ b/emulators/groovymame.yml @@ -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 diff --git a/emulators/jollycv.yml b/emulators/jollycv.yml index 9c74ff459..b7d11cdaf 100644 --- a/emulators/jollycv.yml +++ b/emulators/jollycv.yml @@ -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 diff --git a/emulators/mame.yml b/emulators/mame.yml index 0b47a0145..10b8f4a89 100644 --- a/emulators/mame.yml +++ b/emulators/mame.yml @@ -49,7 +49,7 @@ systems: - konami-twinkle - panasonic-3do - hyper-neogeo64 - - apple2gs + - apple-iigs - apf-m1000 - bally-astrocade - coleco-adam @@ -275,8 +275,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -305,8 +305,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -330,8 +330,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -355,8 +355,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -380,8 +380,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -405,8 +405,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -430,8 +430,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -455,8 +455,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -480,8 +480,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -505,8 +505,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - coco - coleco-adam @@ -531,8 +531,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -561,8 +561,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -591,8 +591,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -621,8 +621,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -651,8 +651,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -681,8 +681,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -711,8 +711,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -741,8 +741,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -771,8 +771,8 @@ files: - acorn-bbc-micro - andamiro-pumpitup - apf-m1000 + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - camplynx - coco @@ -3997,7 +3997,7 @@ files: - name: apple2gs.zip required: true category: bios_zip - system: apple2gs + system: apple-iigs source_ref: "source src/mame/apple/apple2gs.cpp:3865-3879" contents: - name: "341s0632-2.bin" @@ -6469,42 +6469,42 @@ files: mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "apple2_flop_misc.xml" path: "mame/hash/apple2_flop_misc.xml" mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "apple2_flop_orig.xml" path: "mame/hash/apple2_flop_orig.xml" mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "apple2gs_flop_clcracked.xml" path: "mame/hash/apple2gs_flop_clcracked.xml" mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "apple2gs_flop_misc.xml" path: "mame/hash/apple2gs_flop_misc.xml" mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "apple2gs_flop_orig.xml" path: "mame/hash/apple2gs_flop_orig.xml" mode: libretro category: game_data required: false - system: apple2gs + system: apple-iigs - name: "archimedes.xml" path: "mame/hash/archimedes.xml" @@ -7424,7 +7424,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2parprn.cpp:105-109" note: >- @@ -7787,7 +7787,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2videoterm.cpp:91-97" note: >- @@ -7807,7 +7807,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2videoterm.cpp:66-72" note: >- @@ -7827,7 +7827,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2videoterm.cpp:74-80" note: >- @@ -7847,7 +7847,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2applicard.cpp:28-31" note: >- @@ -7876,7 +7876,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/booti.cpp:33-36" note: >- @@ -7891,7 +7891,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/grappler.cpp:34-51" note: >- @@ -7911,7 +7911,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/grappler.cpp:34-51" note: >- @@ -7931,7 +7931,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2cffa.cpp:33-36" note: >- @@ -7947,7 +7947,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2cffa.cpp:28-31" note: >- @@ -7963,7 +7963,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2corvus.cpp:61-64" note: >- @@ -7979,7 +7979,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2diskiing.cpp:40-43" note: >- @@ -8012,7 +8012,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2zipdrive.cpp:86-89" note: >- @@ -8028,7 +8028,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/grappler.cpp:15-18" note: >- @@ -8044,7 +8044,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/grappler.cpp:21-31" note: >- @@ -8066,7 +8066,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2hsscsi.cpp:59-62" note: >- @@ -8082,7 +8082,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2ieee488.cpp:183-186" note: >- @@ -8126,7 +8126,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2memexp.cpp:23-26" note: >- @@ -8142,7 +8142,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/mouse.cpp:144-154" note: >- @@ -8170,7 +8170,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2parprn.cpp:100-103" note: >- @@ -8187,7 +8187,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/prodosromdrive.cpp:76-79" note: >- @@ -8202,7 +8202,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2pic.cpp:86-89" note: >- @@ -8218,7 +8218,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/q68.cpp:72-75" note: >- @@ -8234,7 +8234,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/q68.cpp:72-75" note: >- @@ -8250,7 +8250,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2memexp.cpp:28-34" note: >- @@ -8353,7 +8353,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2scsi.cpp:57-60" note: >- @@ -8411,7 +8411,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/sider.cpp:99-102" note: >- @@ -8427,7 +8427,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/sider.cpp:94-97" note: >- @@ -8443,7 +8443,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2ssc.cpp:88-91" note: >- @@ -8459,7 +8459,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2superdrive.cpp:104-107" note: >- @@ -8520,7 +8520,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2thunderclock.cpp:43-46" note: >- @@ -8550,7 +8550,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/timemasterho.cpp:55-58" note: >- @@ -8580,7 +8580,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2ultraterm.cpp:101-110" note: >- @@ -8604,7 +8604,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2ultraterm.cpp:88-97" note: >- @@ -8628,7 +8628,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/uniprint.cpp:56-59" note: >- @@ -8644,7 +8644,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2videoterm.cpp:44-64" note: >- @@ -8725,7 +8725,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2videoterm.cpp:82-89" note: >- @@ -8748,7 +8748,7 @@ files: - name: a2vulcan.zip required: false category: bios_zip - system: apple2gs + system: apple-iigs source_ref: "upstream src/devices/bus/a2bus/a2vulcan.cpp:68-71" note: >- Device ROM set, loaded when a machine instantiates `Applied Engineering @@ -8762,7 +8762,7 @@ files: - name: a2vulgld.zip required: false category: bios_zip - system: apple2gs + system: apple-iigs source_ref: "upstream src/devices/bus/a2bus/a2vulcan.cpp:78-81" note: >- Device ROM set, loaded when a machine instantiates `Applied Engineering @@ -8791,7 +8791,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2zipdrive.cpp:81-84" note: >- @@ -9641,7 +9641,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2applicard.cpp:33-36" note: >- @@ -10568,7 +10568,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -10601,8 +10601,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -10620,7 +10620,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/a2ssc.cpp:93-96" note: >- @@ -15018,7 +15018,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/ccs7710.cpp:169-181" note: >- @@ -15131,8 +15131,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15160,8 +15160,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15183,8 +15183,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15206,8 +15206,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15228,8 +15228,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15261,8 +15261,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15347,8 +15347,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -15521,7 +15521,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -15861,7 +15861,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/cmsscsi.cpp:47-55" note: >- @@ -16174,7 +16174,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -16267,7 +16267,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - atari-zn1 - coco @@ -16655,8 +16655,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -16826,8 +16826,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -16846,7 +16846,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/machine/wozfdc.cpp:31-34" note: >- @@ -18403,7 +18403,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -18439,7 +18439,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -18527,7 +18527,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -18754,7 +18754,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -19576,8 +19576,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19720,8 +19720,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19773,8 +19773,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19816,8 +19816,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19859,8 +19859,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19902,8 +19902,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -19945,8 +19945,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -20048,7 +20048,7 @@ files: category: bios_zip systems: - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - tab-silverball source_ref: "upstream src/devices/bus/ieee488/hp9122c.cpp:459-462" @@ -20066,7 +20066,7 @@ files: category: bios_zip systems: - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - tab-silverball source_ref: "upstream src/devices/bus/ieee488/hp9133.cpp:866-870" @@ -20141,7 +20141,7 @@ files: category: bios_zip systems: - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - tab-silverball source_ref: "upstream src/devices/bus/ieee488/hp9895.cpp:954-957" @@ -20257,7 +20257,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade source_ref: "upstream src/devices/bus/a2bus/ibsap2.cpp:167-170" note: >- @@ -20294,8 +20294,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -20338,8 +20338,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -21823,7 +21823,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -21855,7 +21855,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -21979,7 +21979,7 @@ files: required: false category: bios_zip systems: - - apple2gs + - apple-iigs - arcade - exidy-maxaflex source_ref: "upstream src/devices/cpu/m6805/m68705.cpp:74-77" @@ -22500,8 +22500,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -22535,8 +22535,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -23615,7 +23615,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -24521,7 +24521,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -24627,8 +24627,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -25072,7 +25072,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -25159,7 +25159,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - coco - coleco-adam @@ -26364,7 +26364,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - atari-zn1 - coco @@ -27763,8 +27763,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -27806,8 +27806,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -28108,8 +28108,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -28742,8 +28742,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - elektronika-bk - tab-silverball @@ -30243,8 +30243,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -31873,7 +31873,7 @@ files: category: bios_zip systems: - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - tab-silverball source_ref: "upstream src/devices/video/upd7220.cpp:173-176" @@ -32269,8 +32269,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -32317,8 +32317,8 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup + - apple-iigs - apple-macintosh-ii - - apple2gs - arcade - aristocrat-mk5 - coco @@ -33146,7 +33146,7 @@ files: - acorn-archimedes - acorn-bbc-micro - andamiro-pumpitup - - apple2gs + - apple-iigs - arcade - atari-zn1 - coco diff --git a/emulators/mame0258.yml b/emulators/mame0258.yml index 9420c9fd8..76bc45c4f 100644 --- a/emulators/mame0258.yml +++ b/emulators/mame0258.yml @@ -49,7 +49,7 @@ systems: - konami-twinkle - panasonic-3do - hyper-neogeo64 -- apple2gs +- apple-iigs - apf-m1000 - bally-astrocade - coleco-adam diff --git a/emulators/mame0278.yml b/emulators/mame0278.yml index ce20e9276..8ba5f4673 100644 --- a/emulators/mame0278.yml +++ b/emulators/mame0278.yml @@ -49,7 +49,7 @@ systems: - konami-twinkle - panasonic-3do - hyper-neogeo64 -- apple2gs +- apple-iigs - apf-m1000 - bally-astrocade - coleco-adam diff --git a/emulators/mamemess.yml b/emulators/mamemess.yml index 7bfd1f9d4..043df037f 100644 --- a/emulators/mamemess.yml +++ b/emulators/mamemess.yml @@ -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 diff --git a/emulators/mesen-s.yml b/emulators/mesen-s.yml index f964611c9..767629e57 100644 --- a/emulators/mesen-s.yml +++ b/emulators/mesen-s.yml @@ -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 diff --git a/emulators/mesence.yml b/emulators/mesence.yml index 88480f7ca..e0b49c6d4 100644 --- a/emulators/mesence.yml +++ b/emulators/mesence.yml @@ -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] diff --git a/scripts/common.py b/scripts/common.py index 9da469fc3..6d5c7c5e7 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -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", } diff --git a/scripts/packextras.py b/scripts/packextras.py index add6afd76..23d13e4b1 100644 --- a/scripts/packextras.py +++ b/scripts/packextras.py @@ -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: diff --git a/scripts/siterender.py b/scripts/siterender.py index 17cdfe502..b10f7e4fd 100644 --- a/scripts/siterender.py +++ b/scripts/siterender.py @@ -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", diff --git a/tests/test_site_r3_p0.py b/tests/test_site_r3_p0.py index 6128d71c0..d4bf17d61 100644 --- a/tests/test_site_r3_p0.py +++ b/tests/test_site_r3_p0.py @@ -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", diff --git a/tests/test_system_ids.py b/tests/test_system_ids.py index e452d086e..cc054d902 100644 --- a/tests/test_system_ids.py +++ b/tests/test_system_ids.py @@ -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"}