Commit Graph
340 Commits
Author SHA1 Message Date
Abdessamad Derraz e4e6126a59 feat: cut the ps3 ps2_emu bios from firmware
RetroBat and Batocera list ps3_ps2_emu_bios.bin, the PS2 BIOS the PS3
carries for ps2_emu. RPCS3 installed the held PS3UPDAT.PUP (4.90,
sha1 093f8698) and decrypted dev_flash/ps2emu/ps2_emu.self, and the
image is the span firmware_bios_claim release 2 cuts, padded to 4 MiB.
Its romdir parses and ROMVER reads 0220JD20121227. Two runs give the
same bytes, sha1 2dc921be.
2026-11-09 18:03:38 +01:00
Abdessamad Derraz a6aea81c17 chore: merge integ into fix-launch-names 2026-11-09 17:47:35 +01:00
Abdessamad Derraz 0a62f065b8 feat: collect the xm7 drive sound effects
XM7 plays fddseek.wav, relay_on.wav and relayoff.wav from its data
directory (linux-sdl/sdl/api_snd2.cpp:155-159, 213-267). The three come
from Win32/ of the XM7 V3.4L77SX+z09 final release archive by PI. and
Ryu Takegami, archived on archive.org as xm7tr_3477sxz09.
2026-11-09 17:44:16 +01:00
Abdessamad Derraz b5c517b07a feat: add dsi boot blobs cut from the dsi nands
Each blob is TWLCFG 0x88-0x1AF, HWINFO_N 0x88-0x9B and HWINFO_S 0x88-0x9F, read from a retail NAND dump by DSperate's own nand_boot_blobs at ddf2910e. The primary comes from dsi_nand.bin, the seven others from the regional dumps and the dsi_nand.bin variant.
2026-11-09 17:35:05 +01:00
Abdessamad Derraz 9bb1cfaa82 feat: collect openmsx svi-738 system roms
openMSX reads the SVI-738 and SVI-738 SE machines' ROMs by the
SHA-1s their machine XMLs list. The disk and BASIC ROMs come from
the MAME svi738 set and match the XML, TOSEC and MAME hashes. The
SE BASIC and RS-232 ROMs were already held under other names.
2026-11-09 17:26:15 +01:00
Abdessamad Derraz f04c2d7f7a feat: collect mame4droid hiscore.dat
plugins/hiscore/hiscore.dat from res/raw/files.zip at 32d78192, sha1 6f730abe (CRLF copy of MAME 0.289's file).
2026-11-09 17:04:29 +01:00
Abdessamad Derraz 63d94b9415 feat: collect splitwolf lwmp tree
lwmp.zip from the project's downloads (sha1 1145464c), 2308 files read by path. Equal files sit in one folder per rotation, so the tree is kept out of dedup.
2026-11-09 16:55:31 +01:00
Abdessamad Derraz 1bee8b44ca feat: add pico-8 0.2.7 arm and x86_64 files
From the official pico-8_0.2.7_raspi.zip and _amd64.zip, captured
from lexaloffle.com by the Wayback Machine. Archive SHA512 equals the
Gentoo dev-lang/pico8 Manifest. 0.2.5g files are kept as primaries.
2026-11-09 15:12:12 +01:00
Abdessamad Derraz 636716ec4b fix: file the bbk pairs where bbkemu reads
bbkemu now opens {system}/bbkemu/<a4980|a4988>/, names matched exactly
(firmware.rs:25-95). The files kept the old BBKEmu/A4980 casing and were
found by name only. Moved without byte change.
2026-11-09 12:23:51 +01:00
Abdessamad Derraz 9ddd310287 feat: collect fmtownsmx.zip and Music.xml 0.4
fmtownsmx.zip holds the two members geartowns reads, each matching MAME
fmtowns.cpp:2941,2947 (CRC f3fc636e, 16e78766). Music.xml is Supermodel
0.4's (trzy/Supermodel efbdc86, git blob 0d87602a), the copy the pack
ships where a platform's package leaves it out.
2026-11-09 12:23:21 +01:00
Abdessamad Derraz 0652bb692f fix: reach the held Quadra 800 ROM for basiliskii 2026-11-09 09:29:55 +01:00
Abdessamad Derraz 139c370fce feat: collect the sm2-emu game database
data/games.xml of Zer0one/sm2-emu-libretro at 6b282b94, the revision
the profile pins (git blob 536a7003). The core loads no game without it.
2026-11-09 07:37:38 +01:00
Abdessamad Derraz b4f4bc76ac feat: collect firmware the cores and lists name
sfiii2a.zip for FBNeo, the Odin board sets, HyperScan, Basilisk II,
the XM7 and FM-7/X1/PC-88/VideoBrain MiSTer ROMs, the FM Towns ROMs
RetroBat now checks, CD-i vmpega.rom, Apple II card ROMs for POM2, four
Amiga accelerator ROMs, and the no$gba DSi SD image (release asset).
Each file matches a hash its profile or platform declares, or MAME's.
2026-11-09 07:25:18 +01:00
Abdessamad Derraz 43b71ded72 feat: collect dcdev 0.260 and build demul dc.zip
set5v0.972.ic507 (Katana Set5 v0.972, crc32 1a2f2a91, sha1 08df891f) entered MAME's dcdev set in 0.260. It comes from the archive.org item MAME_0.278_ROMs_non-merged_2025, whose dcdev.zip is the TorrentZip of the 0.260+ recipe. It becomes the primary dcdev.zip, and the five-member pre-0.260 set is kept as a variant.

Demul's dc set (11 rows of demul.exe's table) is built with build_torrentzip from members checked against the table's crc32 and sha1, in bios/Other/demul/. Only Demul reads dc.zip, so only its manifest entries move.
2026-11-05 23:40:43 +01:00
Abdessamad Derraz 755259517f feat: assemble the naomi.zip demul reads
Demul 0.7 reads 44 NAOMI BIOS rows from naomi.zip, the HOTD2, F355 and Airline Pilots BIOS among them. No copy held them all. The set is built with build_torrentzip from members already in the collection, each checked against the crc32 and sha1 of demul.exe's table, and kept in bios/Other/demul/. Batocera, KNULLI and RetroBat place it at bios/naomi.zip, the file MAME cores there also open, so it carries the nine MAME members the Demul table does not list.

The resolver left another emulator's own copy out of the member and superset ranking, so Flycast and the MAME cores keep the copies they were served.
2026-11-05 23:37:06 +01:00
Abdessamad Derraz b90f8bb0b9 chore: merge tooling batch 2026-11-05 15:57:19 +01:00
Abdessamad Derraz 2753387905 chore: merge main 2026-11-05 13:14:01 +01:00
VERHILLE Arnaud 441d41294b feat: pom2 1.1.0 profile, Apple II dumps back
POM2 v1.1.0 ships no firmware dump in any package, so the 26 Apple II files dropped in ef8b37281 return byte for byte, with the DAN ][ slot EPROM from ThorstenBr/Apple2Card. The profile is re-read at de86e8e3: bundled false on the firmware, 8 entries for the new cards, refs re-anchored. (#86)
2026-11-05 12:58:29 +01:00
Abdessamad Derraz 8db1ee7743 feat: collect ep128emu ide12.rom
Extracted from the ep128emu ROM package (http://ep128.hu/Emu/ep128emu_roms-2.0.11.bin, sha256 775f65b4...0441) that installer/makecfg.cpp downloads, unpacked with Ep128Emu::decompressData from src/decompm2.cpp and split per the makecfg.cpp table. The ROM identifies as EPIDE version 1.2.
2026-11-05 11:53:31 +01:00
Abdessamad Derraz 1a7389076d fix: file the xbox dashboard under the console
x1-box and hakuX both import the retail partition C tree. It sat in
hakuX's tree, so for x1-box the C/xbox.xtf tail was set aside as foreign
and the name step served Xenia's Xbox 360 dashboard font. xbox.xtf and
xboxdash.xbe now live in bios/Microsoft/Xbox/C/ and resolve by path for
both. msdash.xbe stays: its bytes are cxbx-reloaded's xboxdash.xbe, whose
path the RetroBat manifest names.
2026-11-05 11:49:27 +01:00
Abdessamad Derraz 78a5aca760 fix: lead mpeg_card.bin with the Movie Card
The copy shipped first was the European MK-80310 Video CD card (its header reads VIDEO CD PLAYER PAL MK-80310, version 1.105). Lunar Silver Star Story MPEG, the Saturn game that needs a card, names the Movie Card, so the Japanese HSS-0119 (V1.102) now leads and the MK-80310 stays as a variant. No emulator tested reads the card's content today (records in measurements/beetle_saturn.jsonl), and no platform pins a hash for this file. Issue 85.
2026-10-27 11:33:56 +01:00
Abdessamad Derraz bc67711d2c feat: collect amiberry's current whdboot files
boot-data.zip and host-quit as BlitterStudio/amiberry holds them at
f3924d4, and the A500 37.175, A3000 36.143 and A1200 39.106 RTB files
from aminet util/boot/skick346.lha (sha256 02b4d018), which amiberry pins.
The previous boot-data.zip stays as a variant for older builds.
2026-10-26 23:11:37 +01:00
Abdessamad Derraz fa1141085e feat: collect mame2003_plus hiscore.dat at 03fc843
metadata/hiscore.dat as the core ships it at 03fc843 (sha1 b48347a1,
131926 bytes), with three Asura Buster sets added.
2026-10-24 04:07:48 +02:00
Abdessamad Derraz e88bd4ad6f chore: file xefu where xenia-edge reads it
The Compatibility folder of an Xbox 360 drive is what xenia-edge mounts
as Xenia-Edge/xefu/ (libretro) and xefu/ (standalone): the collection
files it under that tail so the directory entry resolves.
2026-10-23 17:57:40 +02:00
Abdessamad Derraz 2d706cbd5d feat: add xbox 360 xefu backward compatibility
Compatibility folder of an Xbox 360 hard drive and the April 2018
backward compatibility title update (FFFE07D2, v2.0.5832.0).

xbox.xex and xefu.xex (v2.0.1884.0) and dash/fonts/xbox.xtf are equal in
archive.org items backwards-compatibility-files and
xbox-360-backwards-compatibility-partition-backup. Xbox Book.xtf is equal
in backwards-compatibility-files and a second upload of the folder.

The xefu1_1 to xefu7b builds and xefutitle5 to xefutitle7b come from the
title update package tu20075c00_00000000 (backwards-compatibility-files).
Every block of the package matches its hash tables up to the header top
hash, and every XEX verifies against the retail PIRS public key. The
package's xbox.xexp and xefu.xexp name the base files above by the SHA-1
of their signatures.
2026-10-23 17:55:39 +02:00
Abdessamad Derraz 65f67d53e7 feat: collect the boom3 vr paks
pak399.pk4 and pak399roe.pk4 as libretro/boom3 ships them at efe140c
(tools/vr_paks/compiled/, git blob 2f5c1ad6 and 18254709). VR builds
mount them over base/ and d3xp/.
2026-10-23 17:00:06 +02:00
Abdessamad Derraz 21485e8680 feat: collect 178 amiga expansion roms
Expansion, accelerator, controller, freezer, bridgeboard and CDTV/CD32
ROMs that Amiberry and WinUAE identify by SHA-1 (rommgr.cpp). Each file
is named after its rommgr label and matches the listed SHA-1.

All 178 are in archive.org item doc_2025-08-26_04-38-36 ("Amiga
roms/bin"), compared by the item's per-file SHA-1.

Independent copies that reproduce the same bytes:
- MAME archives already in bios/Arcade (a590.zip, amiga_a590.zip,
  amiga_a2091.zip, buddha.zip, amiga_ar1.zip, amiga_oktagon2008.zip,
  amiga_a570.zip): 13 ROMs, 7 of them by byte-interleaving the
  even/odd chip halves (A590/A2091 v4.4 to v7.0)
- TOSEC Commodore Amiga - Firmware (archive.org commodore-amiga-firmware):
  Action Replay Mk I v1.0/v1.5, Action Replay 1200, Action Cartridge
  Super IV Pro v4.3, CDTV A570 v2.30, Nordic Power v1.5/v2.0/v3.0,
  X-Power Professional 500 v1.2/v1.3
- archive.org a2091-6_6, a2091PDMA-07, commodore-amiga-a-2286-bios-v-3.6
  (even/odd halves merged), bios-a-2088 (A2088 BIOS 3.4, 3.6.1)
2026-10-23 16:55:02 +02:00
Abdessamad Derraz 3bf2784c3b feat: collect mame2003_plus and jazz2 data
hiscore.dat and artwork/dotron.zip as mame2003-plus ships them at
ffc68e3 (sha1 d41b1c32, c6d6579f, both as its profile declares), and
Plus.j2d from the JJ2+ installer of 2026-08-31 (get.jj2.plus, sha1
fcec91aa), which jazz2-native converts textured layers from.
2026-10-23 16:11:50 +02:00
Abdessamad Derraz 8b4cc0db41 chore: one folder for fbalpha 2012 samples 2026-10-23 14:47:59 +02:00
Abdessamad Derraz 6d7304725f chore: one folder for fbalpha 2012 samples
The three committed samples sat under FBAlpha 2012 while the four
release assets and the profile use fba2012/samples. The folder check
now folds Alpha to A and also reads database paths, which list the
release assets the index never holds.
2026-10-23 14:35:22 +02:00
Abdessamad Derraz 15f69a2212 chore: file QEMU, Roland, Chihiro and Oric
QEMU's 79 files go to QEMU/QEMU and Roland's four loose ROMs to MT-32
and CM-32L. The mt32-roms, soundcanvas-roms and sounddata trees stay as
the code addresses them. Chihiro joins Sega and the Oric joins
Tangerine, the names the site and libretro already use. No destination
held other bytes.

The three QEMU EDK2 images are release assets, and their .gitignore
lines follow them. Database and manifests are regenerated together.
verify --all and cross_reference give the same output once moved paths
are mapped.
2026-10-23 13:49:37 +02:00
Abdessamad Derraz 3de2d52629 chore: one folder per console
DS and DSi split into Nintendo DS and Nintendo DSi. 64DD, Mega-CD,
ZXSpectrum, VSmile, BBC and Game Engines/DOOM merge into the folder
of the same console. Same-named dumps with other bytes are kept:
BBC Micro's earlier zips in .variants/, the vsmilem set in vsmilem/,
the Doom II 1.666 IWAD in v1.666/, BizHawk's DSi firmware in bizhawk/.
Galaksija and Vircon get a console folder, sdlpal's desc.dat joins
its tree, VICE's PET and CBM-II ROMs leave C128 with their vice/ tail.

Database and manifests regenerated together. Verify and cross
reference give the same result once moved paths are mapped.
2026-10-23 10:15:49 +02:00
Abdessamad Derraz 00174538b2 chore: file trs-80 roms under tandy, drop dupes
level2/3/4/4P.rom are the TRS-80 Model I, III, 4 and 4P ROMs (groovymame names two by hash) and sat under Mattel/Intellivision. dedup.py removes ten byte-identical MAME archives and records them in the clone map.
2026-10-22 15:12:59 +02:00
Abdessamad Derraz 06e37b36f7 feat: collect the tyrian files emuelec declares
EmuELEC declares 19 files of the Tyrian 2.1 distribution (setup.ini,
netterm.int, the net*.pcx screens...) that bios/ did not hold. They
resolved only at the data directory step, against data/opentyrian, the
cache refresh_data_dirs.py fills from the opentyrian-data.zip asset. verify
gave 544/572 in a checkout holding that cache and 525/572 in one without
it, for the same commit.

The 19 files are taken from the freeware tyrian21.zip (camanis.net, sha1
29827de9), each equal to the cached copy. netset.pcx and tyrset.pcx are
the same bytes under two names, so the folder joins NODEDUP_DIRS. A test
resolves every platform entry with the data directory caches present and
fails on any that only a cache answers.
2026-10-22 15:08:15 +02:00
Abdessamad Derraz 398ece6b75 fix: rebuild mixed archives from their recipes
The recipe check now fails on a single member outside every recipe of the
archive's name. 29 unpinned archives held one or two such members.

Device sets never have their sub-devices looked up in their own archive:
a device searches its own name, then the system's (device_t::searchpath,
src/emu/device.cpp:140-152). bbc_tube_a500, bbc_tube_a500d and sw1000xg are
rebuilt as TorrentZip from the mame profile recipe. The Arcade/ copies of
a2diskiing, a2mouse, coco_fdc_v11, hp82937, hp98034, pc8001 and mz80k go:
their recipe build already exists under the same name.

In a system set, a device ROM is found in the machine's archive: SAA5050
in bbcm, DragonDOS (default cartridge) in dragon32/64, PC-80S31 in
pc6001mk2sr and pc8001mk2sr. Those are listed as device ROMs in the test.

trs80.zip and trs80m3.zip are rebuilt from the mame recipe; level2.rom and
8041730.u12 stay held loose. The Arcade/ copies of trs80, dragon64 (with a
nested dragon32.zip), pcw9512 and tvc64, and the bk0010 variant, go: every
member is held elsewhere, the only bytes dropped being the empty tmctv
marker of a platform pack.

cvs.zip and aquarius_ar.zip become their recipe builds; the originals move
verbatim to .variants/ for cvs.txt (mame.dk banner) and TMCTV.png, held
nowhere else. The cvs build equals the old .variants/cvs.zip.95581230.
dc.zip (dc_boot.bin, dc_flash.bin) is not MAME's dc set and the bbcb
variant is MAME 0.150's
set; both stay, named in the test.
2026-10-22 15:08:05 +02:00
Abdessamad Derraz ba9e1656cc fix: file svg_bios.u49 under the svgpcb set
svg_bios.u49 is listed in svgpcbBIOSRomDesc (d_pgm.cpp:923-929), which only
STDROMPICKEXT(svgpcb, svgpcb, svgpcbBIOS) at line 7035 pulls in. The FBNeo
DAT likewise places it in svgpcb, and pgm's own list (pgmRomDesc, lines
879-892) has six members. The fbneo profile now files it under svgpcb.zip.

bios/Arcade/Arcade/pgm.zip is rebuilt as TorrentZip from the six members of
the FBNeo pgm recipe. The build is byte for byte the copy that was in
.variants/pgm.zip.6bbbce09, which goes. The two unpinned seven-member
copies (.variants/pgm.zip.931a4971 and MAME/.variants/pgm.zip.6ade4934)
go too: every member is still held, svg_bios.u49 as
bios/Arcade/FBNeo/svg_bios.u49. The pinned copies (87cc944e in MAME/,
68ef99a1 in .variants/) are untouched.
2026-10-22 15:07:42 +02:00
Abdessamad Derraz 67a4eb9c64 chore: merge the device set repair 2026-10-22 11:19:47 +02:00
Abdessamad Derraz 57cbff781a chore: merge the remaining platform core profiles 2026-10-22 11:15:32 +02:00
Abdessamad Derraz 6c00caeaca fix: keep pinned device sets as variants
RetroDECK pins the container md5 of 170 of the archives 6ee162f8 imported, which carry the ROMs of every slot option reachable from the set. Those copies move verbatim to .variants/, where the md5 still resolves them, and the primary is rebuilt as TorrentZip from the recipe the profiles declare, each member checked by crc32 and sha1. Where a same-named copy in bios/Arcade/Arcade held the same pollution, it is rebuilt too.

Two members only these copies held stay in the older recipe that names them: pio_a72.bin in imds2ioc and presap2rb_123.rom in electron_romboxp (MAME 0.195 to 0.220), both under .variants/.
2026-10-22 11:10:57 +02:00
Abdessamad Derraz 4e5d8ba61f fix: rebuild device sets from their recipes
6ee162f8 imported MAME device and machine archives that each carried the ROMs of every slot option reachable from the set (H19 terminal ROMs in sys68k_cpu30.zip, 371 ISA card ROMs in slvrball.zip). MAME reads a slot card from the card's own archive, so those members were never read there.

Each archive is rebuilt as TorrentZip from the recipe its profiles declare (their union when profiles of several MAME versions differ), every member checked by crc32 and sha1. A copy whose recipe build already exists under the same name is removed, keeping the one filed under its manufacturer. 341-0057.bin, held only in these copies, stays in the MAME 0.220 a2pic recipe under .variants/. Every member removed is still held elsewhere in the collection.
2026-10-22 11:10:36 +02:00
Abdessamad Derraz 480c400958 feat: collect the pro-1000 logo database
Both pairs from the Real3D SDK disc (_SETUP.1): Bayou 0x64130009 at
Assets/, Orlando 0x64130005 in .variants/. The .pmem size check against
the .cmem header keeps a pair from mixing models.
2026-10-22 10:49:19 +02:00
Abdessamad Derraz 1aebd36d5b feat: add chocolate-doom emulator profile
chex.deh and french.deh come from idgames (themes/chex/chexdeh.zip, utils/exe_edit/patches/french.zip), both released with no restriction by their author.
2026-10-22 08:19:30 +02:00
Abdessamad Derraz f110f34f8c fix: rebuild sys68k_cpu30.zip from its recipe
The archive held 33 members of other sets (H19, Mockingboard...) next to its five CPU-30 ROMs. Every extra member is held elsewhere in the collection. Rebuilt as TorrentZip from the five members MAME 0.289's listxml names, checked by crc32 and sha1.
2026-10-22 08:18:37 +02:00
Abdessamad Derraz bf6106ce23 chore: collect the real3d pro-1000 firmware set
p1_p4.bin and p2.bin come from Group13 of the InstallShield archive on
the PRO-1000 SDK CD (archive.org item real3d, real3d.iso sha1
042fbf36). Both match the crc32 Config/Games.xml declares. Built as
TorrentZip.
2026-10-22 08:15:41 +02:00
Abdessamad Derraz e3e78dfe9a chore: merge name the doukutsu-rs content file 2026-10-22 07:53:54 +02:00
Abdessamad Derraz 4ae169ad11 chore: merge collect the naomi.zip emuelec pins 2026-10-22 07:53:54 +02:00
Abdessamad Derraz 48f3042740 feat: collect the naomi.zip emuelec pins
EmuELEC pins bios/dc/naomi.zip at md5 e63d892c since its batocera-systems
of 2019-10-25 (8952db90), and AmberELEC inherits the entry. The archive is
an older MAME naomi set (20 members, dcnaodev.bios, epr-21578b) kept
verbatim from BatoceraPLUS/Batocera.PLUS-bios naomi.zip (602a91e9).
2026-10-22 07:29:52 +02:00
Abdessamad Derraz 18b0c556bf feat: collect the dinothawr game manifest
dinothawr.game is the content file or, without content, system_dir/dinothawr/dinothawr.game. The copy is the one at the pinned revision, which references bg.apng; the 2013 buildbot archive carries an older manifest.
2026-10-22 07:13:34 +02:00
Abdessamad Derraz c9e40eff0b feat: collect tyrian enemy sprite banks
A type 5 level event loads newsh<char>.shp through shapeFile[34] with dir_fopen_die. The 31 banks the Tyrian 2.1 levels name are listed, those of episode 1 required, and taken from the freeware tyrian21.zip. newsh1 and newsh6 load on every run and are required.
2026-10-22 07:13:30 +02:00
Abdessamad Derraz 2d7e3b9c48 feat: collect the bios set layouts profiles name
Each profile's contents list names one version of a MAME, AdvanceMAME,
FBA or MAME4droid set. MAME 0.278-0.289 sets come from the archive.org
non-merged romsets; the 0.37b5-0.139 sets are TorrentZip builds of the
listed members, taken from the 0.78 reference set, MAME 0.149 and the
MAME4droid 0.139 romset.
2026-10-22 06:18:24 +02:00