Commit Graph
590 Commits
Author SHA1 Message Date
Abdessamad Derraz 0f45cbc97d fix: record the pin blastem's tmss prose names
The tmss.md note lived under three pins, so profile_sync could not
tell which revision its three citations describe and refused any bump.
At 1e0de94d libblastem.c:514-529 is the tmss.md and bios_MD.bin lookup,
genesis.c:3036-3051 the fatal_error without a TMSS ROM and 3054-3065
the mirror loop, as the note says. prose_written_at names that pin.
2026-10-21 09:59:07 +02:00
Abdessamad Derraz 56eebb849d fix: profile ppsspp from hrydgard/ppsspp
libretro/ppsspp answers as libretro-mirrors/ppsspp-old, a 2020 tree
frozen in 2022. The buildbot builds ppsspp from hrydgard/ppsspp master,
whose libretro/ directory holds the wrapper, so the profile is read
again at 58935bbf and pinned there.

The asset directory, PPGe atlas and font lookup are cited where they
sit now. The notes record the NAND under the save directory that a
disc's firmware updater fills, and the modules it replaces.
2026-10-21 09:58:33 +02:00
Abdessamad Derraz c3fdfba412 fix: profile flycast from flyinghead/flycast
libretro/flycast now answers as libretro/parallel-dc, a separate core.
The buildbot builds flycast from flyinghead/flycast master
(libretro-super recipes, cores-linux-x64-generic), so the profile is
read again at 34ad8c82 and pinned there.

At that revision the Dreamcast boot ROM is dc_boot.bin or dc_bios.bin,
the flash is dc_nvmem.bin, arcade platforms read no flat boot ROM, the
system font is compiled in, and NAOMI 2 and System SP load naomi2.zip
and segasp.zip. Archive members carry the CRC the loader looks up.
2026-10-21 09:56:25 +02:00
Abdessamad Derraz 9409ec12b3 fix: keep the two mt32emu.h citations together
Each MT-32 entry cites the SHA-1 line and the ROMInfo line of one
mt32emu.h. dosbox_pure wrote them under two repository words, so the
ROMInfo line was self-checked alone and read MOVED onto the SHA-1 line.
Both now sit in the port that carries the file, and in the upstream for
dosbox-pure-unleashed, whose tree has no src/gui.

A recale that lands on a line a sibling part already cites goes to
review, and a part settled by its anchor keeps that anchor's repository.
2026-10-21 09:50:40 +02:00
Abdessamad Derraz ab16555014 fix: give the bizhawk DSi NAND slots their region
DecideNAND (MelonDS.cs:684-706) keeps, for a DSi title, only the NAND
slots whose bit is set in header byte 0x1B0. The six DSi_Nand entries
now carry that territory, so --region keeps one 240 MB image, not six.
AUS answers oceania, as every other Australian slot does.
2026-10-21 07:00:48 +02:00
Abdessamad Derraz bbd778b390 fix: file nicaiemu and coolbaremu as one system
The buildbot serves nicaiemu_libretro (frozen at 4c9b73f7, last built
2026-10-16 05:15) beside coolbaremu_libretro. They are two builds: each
reads its own orientation list from the system directory, so both
profiles stay, each with its own core name. Both read the same .cbe
archives from the same workspace, which builds a standalone binary at
both revisions: one system id and one build type for the two.
2026-10-21 06:55:42 +02:00
Abdessamad Derraz 85a44d9bf7 chore: merge amiberry and hatari re-profile
# Conflicts:
#	README.md
#	emulators/amiberry.yml
#	install/batocera.json
#	install/emudeck.json
#	install/lakka.json
#	install/recalbox.json
#	install/retroarch.json
#	install/retrobat.json
#	install/retrodeck.json
#	install/rocknix.json
2026-10-21 06:21:30 +02:00
Abdessamad Derraz e1a4f19737 feat: re-profile amiberry at 8.4.2
Pin moves to 2de3bf8 (v8.4.2). roms/aros-ext.bin, roms/aros-rom.bin and whdboot/game-data/whdload_db.json changed upstream and are collected at that revision. The WHDLoad database is matched on the archive SHA1 first and refreshed from the bundled copy when newer. kick02019.AROS and its .ext are names the Recalbox launcher writes, so the profile now documents the kickstart_rom_file settings instead.
2026-10-21 06:18:10 +02:00
Abdessamad Derraz 27ab0c3872 feat: re-profile hatari at libretro 5092994
Pins move to libretro/hatari 5092994 and hatari/hatari 90949cf. The port now reads floppy.raw from the system directory (floppy_sound.c:146-186), documented as an optional user sample. Upstream decodes IPF without capsimage, the icon block moved by four lines, and the launcher file names leave the tos.img note for the platform layer.
2026-10-21 06:18:04 +02:00
Abdessamad Derraz 58dc7f70b4 chore: merge profile data follow-up 2026-10-21 06:13:25 +02:00
Abdessamad Derraz 67f1f05ff2 docs: state what three cores do without data trees
The Dolphin Sys, PPSSPP assets and blueMSX trees stay required, and the
profiles now cite why. blueMSX finds no machine without Machines/, the
C-BIOS ones included, and the load fails (Src/Board/Machine.c:637-656,
libretro.c:1447-1449). Its tree reference cited libretro.c:1119-1120,
which at the pinned revision is the Sunrise IDE option, and now cites
1196-1197. PPSSPP has no internal font without flash0/font, so
sceFontOpen fails for games using the system fonts
(Core/HLE/sceFont.cpp:805-864, 984-986). Dolphin loads no GameCube font
without Sys/GC/ or an IPL dump and warns that games may crash
(Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:328-340).
2026-10-21 06:12:41 +02:00
Abdessamad Derraz 6b4010907d feat: list the six BizHawk DSi NAND slots
FirmwareDatabase.cs:405-410 declares NDS+NAND_JPN, EUR, USA, AUS, CHN
and KOR, each with a placeholder hash and 251658240 + 64 bytes. In DSi
mode DecideNAND takes the first one set, limited to the regions a
DSi-enhanced header allows, and stops the load with none
(MelonDS.cs:114, 304, 484, 684-706). DSi mode is off by default, so the
entries are optional, like DSi_Firmware.bin and the DSi BIOS slots.
2026-10-21 06:07:30 +02:00
Abdessamad Derraz 7056dd84ea fix: state why WinUAE needs the CD extended ROMs
A missing extended ROM only raises a notice (memory.cpp:1833-1849), but
the machine then runs on the Kickstart alone. cdstrap, cd.device,
cdtv.device and cdfs.library are resident modules of the CD32 and CDTV
extended ROMs and absent from their Kickstarts, the CD32 and base CDTV
models have no floppy drive (cfgfile.cpp:9375-9379, 9405-9406), so no CD
is read or booted. Both entries stay required. The AROS replacement
stands in only for a missing Kickstart (memory.cpp:3055-3063), so the
CDTV entry loses hle_fallback.
2026-10-21 06:06:35 +02:00
Abdessamad Derraz d678e6acfa fix: declare the FreeIntv overlays on the core
FreeIntv declared no data tree while its alias freeintv_ts_overlay,
the same code, declared freeintv_overlays. The core reads
freeintv_overlays/<rom>.png only with the multi-screen option and draws
its embedded keypad image without one (src/libretro.c:278-280, 294,
321-325), so the tree is optional. A test holds every alias to the trees
of its core.
2026-10-21 06:06:07 +02:00
Abdessamad Derraz 47d9e1d629 fix: tag US PlayStation images latin-america too
Each core picks its US image for a disc licensed by Sony Computer
Entertainment America, and DuckStation, SwanStation and Beetle PSX
also for a disc whose region they cannot read. Tagged north-america
alone, a --region brazil,jp pack withdrew those images.
2026-10-21 06:04:42 +02:00
Abdessamad Derraz 9f1dbaa6c2 chore: merge audit fixes (packcli)
# Conflicts:
#	README.md
#	scripts/generate_pack.py
#	scripts/pipeline.py
2026-10-21 05:51:12 +02:00
Abdessamad Derraz 43c6df58ee chore: merge audit fixes (region)
# Conflicts:
#	install.ps1
#	install.sh
2026-10-21 05:48:59 +02:00
Abdessamad Derraz 06ae666f92 fix: describe WinUAE kickstarts by its own code
Every entry took its names from RetroBat's Uae.Generator.cs, which
the RetroBat launchers: records already hold. Kickstarts are now
labels of the ROM scan, and kick.rom, the name the loader opens under
its data path, is listed.
2026-10-21 05:23:14 +02:00
Abdessamad Derraz e318bb4503 fix: read pcsx_rearmed us slot as the default
CheckCdrom sets PSX_REGION_US before it reads the licence, and only
"Inc." or "Euro pe" move it (libpcsxcore/misc.c:422-453). A Latin
American disc boots the US slot, so its four BIOS images carry
latin-america and --region br,jp keeps them.
2026-10-21 05:20:03 +02:00
Abdessamad Derraz 4e8d375074 fix: serve australian mega cd discs their pal bios
BlastEm and Kega Fusion pick the European Mega CD BIOS for every disc
whose region code is the PAL one, Australian discs included: BlastEm
reads E or bit 8 of the header region (romdb.c:176-215), Fusion the
security byte 0x64 at 0x20B. Both now carry oceania, and a repo-wide
test holds every European Mega CD BIOS to it.

Fusion picks its export Master System BIOS from the CountryOrder
setting or a CRC32 list, never from the cart, so bios_U.sms and
bios_E.sms carry no region.
2026-10-21 05:20:00 +02:00
Abdessamad Derraz 7e6b80d501 fix: keep amiberry to the names its code reads
kick02019.AROS and its .ext were Recalbox configgen names, shipped at
the BIOS root of four packs whose code never opens them. Recalbox
keeps them through its own amiga/bios declarations. amiga-os-310.rom
is a ROM scan label, now found_by content.
2026-10-21 05:19:56 +02:00
Abdessamad Derraz 247093d7d2 fix: name BizHawk firmware by its own database
BizHawk finds firmware by SHA-1 scan or a user specification, so the
profile is found_by content. 38 entries used the names RetroBat's
generator writes; they now carry FirmwareDatabase.cs recommended
names, and the pooled NDS firmware entry is split per option.
2026-10-21 05:17:34 +02:00
Abdessamad Derraz 7fdf17f77e docs: drop launcher prose from hatari tos.img
8dc485dc moved the TOS names into each platform's launchers: records,
but the tos.img notes still described the Batocera, Recalbox and
RetroBat generators and an aliases field the entry no longer has.
2026-10-21 05:13:34 +02:00
Abdessamad Derraz 742b1f584f fix: keep sonic3-air notes to the engine's code
The three data package notes cited Batocera's sonic3-air.mk:40, a
package recipe outside the declared repository, so profile_sync
reported it absent for good. The engine data note now cites
EngineMain.cpp by its full path.
2026-10-21 05:12:35 +02:00
Abdessamad Derraz 8931d738dc fix: read fbalpha2012 hiscore.dat from save dir
HiscoreInit opens <g_save_dir>/hiscore.dat (hiscore.cpp:411). Without
load_from the entry was packed at bios/hiscore.dat and took the slot
mame2000 reads on RetroDECK, which now gets its sha1-pinned file.
2026-10-21 05:11:36 +02:00
Abdessamad Derraz 37a5bd05ff docs: state .info facts in profile notes
Ten notes and comments called .info entries phantom, misleading or
incorrectly written. They now say what the .info declares and what
the code reads, and a prose test refuses those verdicts in profiles.
2026-10-21 05:10:45 +02:00
Abdessamad Derraz b44d57a32f fix: pin nicaiemu to the last nicaiemu build
The repository was renamed to CoolbarEmu (PR #78) and its buildbot
recipe now builds coolbaremu. Hold the profile on 4c9b73f7, the last
revision built as nicaiemu, and document the orientation list it reads
from the system directory.
2026-10-21 05:08:00 +02:00
Abdessamad Derraz 5fc2423ca5 fix: apply --required-only to data directories
The Required packs and manifests carried every data tree, the FreeIntv
overlays included. A data_directories entry now accepts required: false,
and the platform, emulator and manifest walks leave such a tree out under
--required-only. FreeIntv reads its overlays only with the multi-screen
option and draws a placeholder keypad without one (src/libretro.c:294-296,
350-369).
2026-10-21 05:05:49 +02:00
Abdessamad Derraz 8dc485dcd5 fix: move Hatari's TOS names to the launcher layer
The 43 tos.img aliases in hatari.yml and 10 in hatarib.yml were names Batocera, Recalbox and RetroBat launchers pass to Hatari (hatariGenerator.py, Hatari.Generator.cs, libretroCores.py), now recorded in each platform's launchers: records. With standalone Hatari profiled, those records attach. Measured on Batocera, RetroBat, Recalbox, ROCKNIX and RetroPie: verify statuses, manifest files, omissions and Hatari entries are identical before and after.
2026-10-20 22:03:20 +02:00
Abdessamad Derraz 40e9ed58ad feat: profile standalone Hatari
Batocera (v2.6.1, hatari.mk), RetroBat (v2.4.1 release), Recalbox and ROCKNIX run standalone Hatari, which the profile did not describe, so their launcher records had no build to attach to. Standalone Hatari reads tos.img from its data directory by default (src/configuration.c:810-812, src/paths.c:316-330), retries a missing name with .img, .rom and .tos (src/file.c:275-308, 481-520), and exits when no TOS loads (src/main.c:191-201). The profile is now standalone + libretro, with the keymap file and the window icon as standalone entries and BOOT.ST scoped to libretro.
2026-10-20 21:59:32 +02:00
Abdessamad Derraz ec1a441f4a fix: drop Recalbox launcher names from gsplus
apple2gs1.rom and apple2gs3.rom come only from Recalbox's gsplusGenerator.py:107-110, 140, a platform launcher now recorded in platforms/recalbox.yml. No platform resolves gsplus.yml (Recalbox, Batocera and RetroBat run gsplus-legacy), and verify and the manifests of Recalbox, RetroDECK, ROCKNIX and EmuDeck are identical before and after.
2026-10-20 21:48:43 +02:00
Abdessamad Derraz c445c18bdc fix: map RetroPie's standalone builds to profiles
RetroPie builds minivmac/minivmac, winterheart/quasi88 and TurtleBazooka/px68k under the package names minivmac, quasi88 and px68k (scriptmodules/emulators/minivmac.sh:12, quasi88.sh:12, px68k.sh:12). With built_by retropie and those names in cores, RetroPie resolves them to minivmac37, quasi88kai and px68k-sdl, while its libretro builds stay reached through retroarch. Measured: RetroPie keeps 532 of 532 platform files OK and gains the 14 files the standalone builds read; no other platform's resolution changes.
2026-10-20 21:46:16 +02:00
Abdessamad Derraz 6295bf4545 refactor: drop the RetroBat LaserActive v1.02 name
RetroBat's ares launcher tries v1.05, v1.02 then v1.01 (Ares.Generator.cs:371-437), now recorded under launchers: in platforms/retrobat.yml. ares itself identifies the image by sha256. No file carries the name, so the database is unchanged.
2026-10-20 21:26:48 +02:00
Abdessamad Derraz ebfe987de7 fix: pin BizHawk on the 2.11.1 it ships
The profile was pinned at 427556b5 (2.11) while the platform transcribes 2.11.1. In 2.11.1 FirmwareDatabase.cs rates one option per slot Ideal (MCD_eu_100, MCD_jp_100p, SCD_m1_us_110, SMS v1.3, gbaNormal and others), adds TI83_110.rom and a doom2.wad slot (DSDA.cs:85-99), and resizes the TI-83 Plus ROMs. The Ideal option of each slot is the required one, refs into the 12 changed files are remapped, and the 40 firmware files 2.11.1 names that the collection lacked are collected, each sha1-verified (LA_us_102.bin matches No-Intro [BIOS] LaserActive (USA) (v1.02)).
2026-10-20 19:21:31 +02:00
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