Commit Graph
556 Commits
Author SHA1 Message Date
Abdessamad Derraz a8732ca9df feat: profile the GSplus legacy build
Recalbox builds digarok/gsplus-legacy-archive (gsplus.mk:8-9), Batocera a fork of it whose loading code matches, and RetroBat runs its gsplus-win-sdl release (GsPlus.Generator.cs:26-30). digarok/gsplus, which gsplus.yml documents, is a later KEGS 1.38 import sharing no history with it. The legacy build reads ROM, ROM1, ROM3, ROM01, ROM03, ROM.01, ROM.03 at 128 or 256 KB (src/config.c:863-908), refuses to start without one, and reads c600.rom, parallel.rom and printer fonts as optional.
2026-10-20 16:57:24 +02:00
Abdessamad Derraz dfdb887fb8 fix: say which cores find their BIOS by content
DuckStation (bios.cpp:208, 397-427), SwanStation (host_interface.cpp:
136-194), rustation (lib.rs:107-160), FS-UAE (rommgr.cpp:92-151),
ares (firmware.cpp:116-136) and Altirra (uifirmwarescan.cpp:29-113)
scan a folder and identify firmware by hash; Ymir does in its
standalone build only. FS-UAE still opens rom.key by name
(rommgr.cpp:1397-1498). The export then stops writing their labels
into platform lists: Batocera's psx block goes from 106 entries to 10,
and System.dat's scph5000.bin keeps its own hashes.
2026-10-20 16:49:16 +02:00
Abdessamad Derraz 1b50170922 fix: give MAME and FBNeo data files their system
Entries without a system in multi-system profiles were left unattributed by the truth model, and four System.dat additions left the export. Each system is read from the core's code at its pin. hiscore.dat, cheats and history serve every running machine (mame2000 cpuintrf.c:664-666, mame2003 cpuexec.c:280-282, mame2003_plus cpuexec.c:296-298, fbneo hiscore.cpp:154-161 gated on BDF_HISCORE_SUPPORTED), all arcade in those builds, so arcade. BIOS sets take the id their driver gives in the other MAME profiles, and bctvidbs is barcrest-mpu4 everywhere. Files serving several systems of one build (groovymame data files, raine) keep no system. Core resolution is unchanged on every platform.
2026-10-20 16:45:54 +02:00
Abdessamad Derraz 194ed23ded feat: list the 1,254 MAME 0.289 device sets
Generated by mame_hash_scraper --devices from mame0289lx.zip, the release asset whose sha256 matches GitHub's digest. Each set is optional: the core runs without it, and only a machine using the device needs it. 1,252 cite their ROM block, two are written without a ref because two blocks hold the same ROMs. Two note citations now carry their full upstream path.
2026-10-20 15:12:23 +02:00
Abdessamad Derraz 60dfba51f3 feat: profile px68k SDL standalone
IPL search order iplrom, iplromxv, iplromco, iplrom30 and font cgrom30, cgrom30.tmp, cgrom, cgrom.tmp (SDL/SDL2/winx68k.cpp:277-331), SCSI ROMs (:140-271), all from $HOME/.keropi (SDL/prop.c:172-194). One IPL and one font are required: without them the CPU loop never starts.
2026-10-20 15:07:21 +02:00
Abdessamad Derraz f61c3d9ca5 feat: profile QUASI88kai standalone
The ROM list is src/memory.cpp:87-100. A missing ROM is filled with 0xFF and the emulator starts, so only N88.ROM, N88SUB.ROM and N88EXT0.ROM, without which nothing boots, are required. The directory is QUASI88_ROM_DIR, else <home>/rom (src/file-op.cpp:444-521). The CMake ROMDIR setting only appears in the help text.
2026-10-20 15:07:21 +02:00
Abdessamad Derraz 78fd70ae50 feat: profile Mini vMac 37 standalone
The SDL build reads vMac.ROM, fixed at build time to the Mac Plus ROM name and 128 KB (setup/SPCNFGAP.i:60-63), and checks it against three Mac Plus checksums (src/CONTROLM.h:1344-1388). Search order: --rom, the executable's directory, mnvm_rom/ under the SDL pref path, the working directory (src/OSGLUSDL.c:546-620).
2026-10-20 15:07:21 +02:00
Abdessamad Derraz a5c66bab46 fix: geargrafx reads PAC firmware for LaserActive
load_pac_bios runs only for .mmi content (platforms/libretro/libretro.cpp:507, 521-522), so pac-n1, pce-lp1 and pac-n10 carry system laseractive, and the system cards nec-pc-engine-cd.
2026-10-20 14:56:38 +02:00
Abdessamad Derraz 50beb0ca27 fix: o2em reads one BIOS, chosen by an option
o2em_bios defaults to o2rom.bin and only the chosen file is opened (libretro_core_options.h:52-64, libretro.c:989). Loading fails when it is missing or under 1024 bytes (libretro.c:160-189, 1043-1044). The four files share a variant group, o2rom.bin stays required, the others are optional. Only the first 1024 bytes are read and an unknown CRC still loads, so size becomes min_size and crc32 leaves validation.
2026-10-20 14:56:38 +02:00
Abdessamad Derraz 920f0eb67c fix: give mame2010's system-less sets their system
hiscore.dat and cheat.zip serve every machine (machine.c:361-363), so arcade. The other twenty BIOS sets take the system ids the other MAME profiles give the same sets, from their drivers (naomi.c:4654-4661 for hod2bios, f355bios, airlbios). mac2bios is declared in macs.c:514, 740, not suprnova.c.
2026-10-20 14:56:38 +02:00
Abdessamad Derraz 07f1e881f1 fix: give each DOSBox-X file the system it serves
The profile set no system on its entries, so the truth model filed every one under the only profile system a platform has (nec-pc-98 on Batocera, truth.py:487-499). system.rom boots only on PCjr (dos_programs.cpp:2995-2996), MIDI ROMs and SoundFonts serve every machine (mpu401.cpp:678-793), FONT.ROM and the PC-98 bitmaps serve PC-98, the VGA and ROM BASIC images serve the IBM PC. The system BIOS image boots either kind and keeps no system.
2026-10-20 14:56:38 +02:00
Abdessamad Derraz 63556b4873 fix: fuse runs without its model ROMs
A Pentagon, Pentagon 512/1024 or Scorpion reset returns an error when a ROM is missing (fuse/machines/pentagon.c:131-139, pentagon512.c:76-91, pentagon1024.c:72-87, scorpion.c:76-78), machine_select_machine fails (fuse/machine.c:237) and machine_select falls back to the built-in 48K machine (fuse/machine.c:150-162). The core keeps running, so the eight model ROMs are optional.
2026-10-20 14:42:30 +02:00
Abdessamad Derraz cc31f9f863 fix: put ide250.zip under openMSX's systemroms
Every other openMSX entry documents the default file pool folder, share/systemroms. Batocera adds bios/openmsx to the pool and its pack keeps the destination it declares.
2026-10-20 14:35:28 +02:00
Abdessamad Derraz e05ce9c643 fix: list the MAME sets platforms run
Sets the platforms' MAME launches load: CoCo, SCV, BBC, Electron, Mac, Dragon 64, Archimedes and others, each with its members' crc32 from libretro/mame at the pin. The note now states the version the commits pin (0.289) instead of a hand-kept count.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 48969cabbd fix: list the Amiga and Mac images cores open
amiga-os-310.rom and Recalbox's kick02019.AROS pair are opened by amiberry's ROM scan (amiberry_gui.cpp, rommgr.cpp at the pin). MinivMacBootv2.dsk is opened by minivmac.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 43fee39139 fix: list the PS3 ps1_rom.bin swanstation reads
SwanStation hashes the first 512 KB of the 4 MB PS3 ps1_rom.bin, which is its table entry c02a6fbb (bios.cpp:70). Two refs pointed one line off: the hashes are on lines 66 and 71 at the pin.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 5129b967e6 fix: list the PS2 images PCSX2 builds accept
ps2-0250j-20100415.bin passes the folder scan of pcsx2, armsx2 and yaps2. EmuDeck's SCPH-70004 .BIN, .ROM1 and .ROM2 are aliases in pcsx2, and the .rom1 note now says the stat is case-sensitive.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz b55e48b0bc fix: list LaserActive and Mega CD images for ares
RetroBat's ares launcher writes the LaserActive BIOS paths into ares's settings, and ares loads them with no hash check. Three EmuDeck Mega CD md5s are images ares's sha256 table names, so their md5 sits beside the sha256.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz fb9198937a fix: name the ROMs Recalbox gives GSplus
Recalbox's GSplus launcher passes apple2gs1.rom or apple2gs3.rom as the ROM path. They are aliases of ROM.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz b8fcdd68c1 fix: name the flash ROMs platforms give xemu
RetroDECK, ROCKNIX and EmuDeck write Complex.bin or Complex_4627v1.03.bin into xemu's flash ROM path, and Batocera points chihiro at cerbios.bin. They are aliases of Complex_4627.bin.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 20216858a4 fix: list the IPL images Ymir identifies
Ymir standalone identifies an IPL by its XXH128 with seed kIPLHashSeed (memory_defs.hpp:10) against ipl_db.cpp:9-17. Each image's digest was recomputed with that seed and falls on the cited row.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz bc2fe238e7 fix: list the MSX ROMs blueMSX and openMSX read
blueMSX names Msx2pe, Msx2pexte, pesadelo and svi328a in its machine configs. openMSX declares the sha1 of nine RetroBat system ROMs in its machine XMLs, and unpacks IDE250.DAT from ide250.zip.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 85db3cad72 fix: list the ROMs xroar's ROM lists name
xroar finds ROMs through its ROM lists and adds .rom itself: disk10, ddos10, ddos40, dplus48 and d64rom1 are named there (src/xroar.c:714).
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 186ad0fafa fix: list the ROMs atari800 finds by checksum
atari800 scans the system folder and recognises each OS and BASIC ROM by CRC32 (sysrom.c:104, 317-420), whatever its name. RetroDECK's ROM_* names are those config keys. Eleven entries carry md5, crc32 and size, under the label altirra already uses for the same dump where one exists.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz b3545d3cc4 fix: name the TOS images launchers pass to Hatari
Batocera, Recalbox and RetroBat choose the TOS file and pass its name to standalone Hatari (--tos, szTosImageFileName) or to hatariB (hatarib_tos): hatariGenerator.py:74-75, 158-193 (Batocera), Hatari.Generator.cs:144-154 (RetroBat). The libretro build still opens tos.img only. The names are aliases of tos.img.
2026-10-20 14:26:24 +02:00
Abdessamad Derraz 7a3cbc657d docs: describe other projects by facts only
Profile notes and wiki pages called .info entries phantom or incorrect, and labelled an upstream list a known defect. They now state what each file declares and what the code reads. The wiki claimed Batocera prefix-matches truncated md5s; its script compares the full string (batocera-systems:1088), which the page now says. The gaps column reads "Not read by profiles" and notes that a profile may be incomplete.
2026-10-20 13:33:53 +02:00
Abdessamad Derraz 4f5349c8fd fix: blastem's U region covers Latin America
The Sega CD region code U is the Americas, as for the other profiles' US Mega CD BIOS.
2026-10-20 11:27:07 +02:00
Abdessamad Derraz b298ec6773 feat: profile Recalbox's uae4all core
Recalbox compiles uae4all from Chips-fr/uae4all-rpi (libretro-uae4all.mk:8-9), a libretro core that reads kick34005.A500 from the system directory and nothing else. built_by makes the name resolve to it on Recalbox only.
2026-10-20 10:37:33 +02:00
Abdessamad Derraz 74514930d0 fix: list MAME's hash, plugins and floppy sounds
The libretro core passes system/mame/{hash,plugins,samples} (retro_init.cpp:111-155). Software lists are required in mamemess, where softlists are on by default. The trees and the 19 floppy samples are collected from libretro/mame at the pin.
2026-10-20 10:37:33 +02:00
Abdessamad Derraz 57d5c3ffd0 fix: list the artwork mame2003-plus ships
Seven artwork zips from the core's metadata/artwork are read from mame2003-plus/artwork/ when Display Artwork is on, the default (artwork.c:2242-2258).
2026-10-20 10:37:32 +02:00
Abdessamad Derraz e9dfcc97a7 fix: list the WHDBoot files amiberry needs
The libretro core copies whdboot from the system directory and uses a candidate only when WHDLoad, JST, AmiQuit, boot-data, the game database and the five RTB files are all there (amiberry.cpp:11510-11584). The core zip has none of them, so they are collected.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 690a4bd664 fix: list ymir's gamecontrollerdb.txt
The standalone build loads it from the working directory then the profile root (app.cpp:5084-5119). The release packages ship it, the libretro tree never reads it.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 405e1fa4e9 fix: list Nouveau_IBM.ttf for DOSBox-X
readTTF loads it when ttf.font names it, as the Windows installer sets it (output_ttf.cpp:318-386). It ships with the emulator.
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 6255c822ae docs: say which cannonball files are built in
tilemap.bin and tilepatch.bin are compiled into the core and settings come from core options, so no res/ file or config.xml is opened (omusic.c:50-67, config.c:86-87).
2026-10-20 10:37:32 +02:00
Abdessamad Derraz 85ecaf7e63 fix: list PUAE's floppy sounds and capsimg
The A500 and LOUD floppy sound sets are read from uae_data/ (driveclick.c:77-104) when the option picks them, and capsimg is loaded from the system folder for IPF images (caps.c:37-96). The ten samples are collected from the core repository.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz 58ca16be6d fix: prboom builds prboom.wad in, reads IWADs
Since 3fffeb1 prboom.wad is compiled into the core (d_main.c:1449-1465). The IWADs it searches beside the content, in system/prboom/ and in system/ are now listed, with the ZDoom pk3 loaded before a pk3 mod.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz 4466a9c87d fix: list the PAK files tyrquake reads
The profile listed none. id1/pak0.pak is required (host.c:711-760), the retail and mission pack paks are read in order until one is missing, and Quoth 2.2 is mounted when the content path names it (common.c:1017-1020, 1724-1725). The three Quoth paks are collected, pak1.pak as a release asset.
2026-10-20 10:37:31 +02:00
Abdessamad Derraz fd6c0451e0 fix: document gambatte's custom palette lookup
With colorization set to custom, a DMG game reads palettes/<rom>.pal, then <header title>.pal, then default.pal under the system directory (libretro.cpp:2012-2091). A user-made file, so the entry is unsourceable.
2026-10-20 10:37:30 +02:00
Abdessamad Derraz 627a1ea57c chore: pin RealRTCW's package files by sha1
Hashed from the RealRTCW 5.2 package members, so each bundled entry names the bytes the release ships.
2026-10-20 10:37:30 +02:00
Abdessamad Derraz a67672fc71 fix: list the files RealRTCW ships in main/
realrtcwdefault.cfg is required (files.c:4364-4368), autoexec.cfg runs unless in safe mode, and eleven pk3 archives are loaded by the scan of main/. All of them ship in the RealRTCW 5.2 package, so they are bundled and stay out of the packs.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f5b0815c3a docs: say how ET: Legacy builds its legacy pk3
legacy_<version>.pk3 is the engine's own build output, named from git describe and different for each release and architecture (ETLBuildMod.cmake:301-316, ETLVersion.cmake:120-131). It is installed with the engine, not downloaded on first run as the note said.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f3a455d333 fix: pin x16emu on the r49 release
The pin was an unreleased tree past r49 labelled r50, while the rom.bin hashes were r49's. No r50 emulator release exists, so the profile now pins the r49 tag those hashes describe, and names its source repository so the pin is read.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz f4f6387854 fix: list the HLSL shaders Cxbx-Reloaded loads
LoadShadersFromDisk opens five shaders and two includes from the hlsl folder beside cxbx.exe and aborts when one is missing (Shader.cpp:812-825, 846-929). They ship in the release zip, so they are bundled.
2026-10-20 10:31:14 +02:00
Abdessamad Derraz cd777848aa fix: profile BlastEm at its pin
The pin (1e0de94d) already loads Sega CD, 32X, ColecoVision and LaserActive firmware from the system directory, and the profile still described the earlier core with no BIOS at all. Each file now carries its code reference, required flag and build. The LaserActive player firmware (uPD78237, 64 KiB) is collected from the dump its author published.
2026-10-20 10:27:15 +02:00
Abdessamad Derraz 1f64991ff5 fix: mame2015 reads hiscore.dat from its cwd
hiscore_init opens the file through emu_file with no search path. The branch that built system_dir/mame/ is under #if 0, so the profile's mame2015/ path named a place the core never reads.
2026-10-20 10:18:10 +02:00
Abdessamad Derraz d68e8c2b72 fix: put the UQM addon packs in content/addons
A .uqm in content/packages is mounted at the root, one in content/addons at addons, and loadAddon opens addons/3domusic, addons/3dovoice and addons/remix (options.c:393-402, 518-551, setup.c:118-132). The six music, voice and remix packs were placed where they would not load. The installer writes them to content\addons too.
2026-10-20 10:18:10 +02:00
Abdessamad Derraz 7ecd8c948f chore: record the sha1 of bundled files
336 entries for files that arrive with the emulator named no hash, so
the collected copy was the only record of which file the release
ships. Each now carries the sha1 and size of the copy collected from
that emulator's own release, so the profile keeps the file's identity
once the copy leaves the collection. Entries whose name is a pattern
keep no hash.
2026-10-20 09:29:18 +02:00
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00
Abdessamad Derraz 9b630a39bb fix: hold the new profiles to the shared checks
BizHawk's NDS firmware slot accepts six dumps, two of which the collection holds, and the profile named one. Kega Fusion's US Mega CD BIOS covers the Americas. Sonic 3 A.I.R. data is installed by Batocera in unpacked form. izApple2 downloads its ProDOS images when a card is added, which is no install. The Lakka list now equals a case-keeping RetroArch install less what Lakka's packages install, and the profile hash contradiction count leaves out entries no pack ships. The pipeline table names step 8b.
2026-10-20 08:12:03 +02:00
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00