Commit Graph
4440 Commits
Author SHA1 Message Date
Abdessamad Derraz 72cebb4c2b fix: tag the BizHawk USA DSi NAND for the Americas
DecideNAND (MelonDS.cs:684-706) reads the JPN, USA, EUR, AUS, CHN and KOR
bits of header byte 0x1B0. A DSi title sold in Latin America carries the
USA bit, so the USA NAND serves it. Tagged north-america alone, it fell
out of an --emulator bizhawk --region br,jp pack.
2026-11-05 19:43:14 +01:00
Abdessamad Derraz 3cd4ed2566 fix: tag citra-mmj USA font for Latin America
apt.cpp:128-140 picks the shared font archive by GetRegionValue: CHN, KOR
and TWN get their own, every other CFG region gets 0x00014002. The CFG
region set has USA and no Latin America value, so the USA font serves the
Americas, which the repo writes [north-america, latin-america]. With
latin-america missing, --region br,cn kept only the Chinese archive.
2026-11-05 19:42:05 +01:00
Abdessamad Derraz da19bb5755 fix: keep MinUI core dirs out of the tree view
Without --platform, cross_reference and the site's gap report merged every
platform's standalone set, MinUI, NextUI and MyMinUI coredir: markers
included. A marker says which cores one platform hands a folder, so in the
union every core those three do not list got no layout: px68k showed 0 of
6 files and the global report lost 238 profiles and 1201 files.
merged_standalone_set drops the markers, and both readers use it.
2026-11-05 19:39:07 +01:00
Abdessamad Derraz b20d65d129 fix: verify only pack archives in the output dir
verify_and_finalize_packs took every ZIP of the directory, so the launcher archives build_port.py writes to the same dist/ were judged as packs, failed, and were rewritten with a manifest after build_port had printed their hashes. Every name the builder gives ends in _BIOS_Pack.zip, and only those are taken.
2026-11-05 19:38:21 +01:00
Abdessamad Derraz 0428588a6c fix: give the SMS v1.3 BIOS its pinned names
Genesis Plus GX declares bios_U.sms and bios_E.sms with no hash. Only
.variants/ copies carried those names, so the name step served the Store
Display Unit BIOS and a 256 KB BIOS, while every platform pins v1.3 under
both. Two causes in generate_db: the v1.3 content's path was ZEsarUX's
sms.rom, which the resolver sets aside as another emulator's file, and a
name pinned by hash was refused when only variants carried it.

The scan now prefers a copy filed under its machine over one in an
emulator's own tree, and a name only variants carry can name the content
a hash pins it to.

Manifests: six contents change repo_path only (v1.3 SMS BIOS and five
ZEsarUX Spectrum ROMs, same sha1). On batocera, knulli, recalbox and
retrodeck the Genesis Plus GX bios_E.sms and bios_U.sms extras move from
the two variants to v1.3.
2026-11-05 19:38:07 +01:00
Abdessamad Derraz 0d21566183 fix: take an unchecked version as a match in packs
Raze lists three sized BLOOD.RFF versions and a fourth it takes without a check, the shareware RFF the collection holds. The Batocera pack printed two DISCREPANCY lines for it that verify never showed. A slot with an unchecked sibling now accepts any copy for that core, in the validation rules and in _matches_an_alternative. When every version refuses a copy, the message names all accepted values instead of the first.
2026-11-05 19:37:33 +01:00
Abdessamad Derraz 3d0ee19bcb refactor: index profile entries by name and hash
_matching walked the reader's whole profile for each platform entry, 2,135 scans of MAME in one verify --all. Each profile is now indexed once per kind by name and by accepted hash. Over every registered platform, 10,524 lookups give the same answers as the scan, in 0.13 s instead of 2.42 s.
2026-11-05 19:37:27 +01:00
Abdessamad Derraz 4af0d70e4e fix: report md5 lists Recalbox and RetroDECK grow
Both formats write every accepted md5 when the truth extends the platform's list without contradicting it, but only Batocera answered written_list, so landed_changes reported nothing for a diff the maintainer would find. Both now name the list they write when it holds several values.
2026-11-05 19:36:02 +01:00
Abdessamad Derraz 9f962488d0 chore: merge origin main 2026-11-05 19:35:40 +01:00
Abdessamad Derraz 124e96cd09 fix: keep glossary tooltips out of proper names
The glossary's capitalised terms matched mostly inside product names and paths: Free Unix Spectrum Emulator, Windows Terminal, Documents/Dolphin Emulator, on 35 pages. A capitalised term after a capitalised word or a slash is now left alone. Acronyms keep their tooltip.
2026-11-05 19:35:32 +01:00
Abdessamad Derraz a78d5ea316 fix: count data files in the check fetch line 2026-11-05 19:35:27 +01:00
Abdessamad Derraz 0624d9f735 fix: note a case twin only when its pair is there 2026-11-05 19:34:48 +01:00
Abdessamad Derraz d63ef4b1cf fix: keep an initial inside the note sentence
The emulator description taken from the notes cut at the first period followed by a space, so hcl's read "open-source port of E.".
2026-11-05 19:34:41 +01:00
Abdessamad Derraz 564bfe8b18 fix: describe platform pages by what they give
The meta description of each platform page was its summary followed by the label of a link, "ROCKNIX website.", and never said the page gives the BIOS files, their folder and the install command.
2026-11-05 19:34:19 +01:00
Abdessamad Derraz 1ad6570468 fix: drop BIOS files from app-only emulator titles
A profile whose every file comes with the app was titled "<X> BIOS files" and described by its system alone. The title now reads "<X> emulator" and the description says every file it reads comes with the app.
2026-11-05 19:34:00 +01:00
Abdessamad Derraz 101757675b fix: say in place only with data files in place 2026-11-05 19:33:05 +01:00
Abdessamad Derraz 439b2cdaba fix: split the np2 V98 font from font.bmp
NP2kai and meowPC98 read font.bmp (PC-98 bitmap) and FONT.ROM (V98) as
separate files, each through its own reader (NP2kai font/font.c:192-195,
meowPC98 font/font.c:180-181). The V98 names hung on font.bmp as aliases
let a collection without font.bmp serve the PC-88 2 KB font.rom there.
FONT.ROM is now its own entry, at least 0x46800 bytes (fontv98.c:8, 51).

Manifests: np2/FONT.ROM and np2kai/FONT.ROM are added where the platform
did not declare them, served by the V98 font bios/NEC/PC-98/font.rom.
2026-11-05 19:33:04 +01:00
Abdessamad Derraz 8cbd720480 docs: say what a SHA1 lookup leaves out
The Data page said a SHA1 lookup was enough because MD5 and CRC32 declarations are filed under the collection file's SHA1 too. That holds only for a file the collection holds: 702 platform MD5s and 18 CRC32s are filed under their own value alone.
2026-11-05 19:32:51 +01:00
Abdessamad Derraz 525c06419b feat: link the version to the file or tag
The Version cell printed the file a version is read from, or its tag, as bare text beside a pinned Revision link. The file now links at the pin where the recorded tree holds it, and the tag links to its tree. cited_paths records the version files so the record can confirm them.
2026-11-05 19:32:08 +01:00
Abdessamad Derraz e0f11ed175 fix: deploy the site when validate_pr changes
CONTRIBUTING now reads the large file issue URL from validate_pr, which imports dedup: a change to either rewrites the contributing page.
2026-11-05 19:32:08 +01:00
Abdessamad Derraz d8cfd283b4 fix: show packed core files with an empty gap list
verify --platform recalbox --system nec-pc-engine printed no Core files line while the pack held six syscard copies for geargrafx: the section returned on an empty gap report before reading packed_extras. It now prints the pack's counts whenever they are not zero.
2026-11-05 19:32:05 +01:00
Abdessamad Derraz aaaafd5771 fix: name the address a download was refused at 2026-11-05 19:31:42 +01:00
Abdessamad Derraz 137f971dae fix: drop bundled files from provenance needs
profile_needs read every profile entry, so --missing named 43 files the emulator installs itself among 50 needs and buried the six xm7 ROMs. A bundled entry is skipped unless a platform package leaves it out (not_bundled_on). The report now lists 7 needs.
2026-11-05 19:30:57 +01:00
Abdessamad Derraz a05b1da9a0 fix: leave bundled files out of auto_fetch targets
find_missing kept undeclared files reached only by bundled entries, so auto_fetch searched for and offered files the emulator installs itself, and a placed copy would fail bundled_only.py --strict. RetroPie drops from 55 to 14 missing files.
2026-11-05 19:30:29 +01:00
Abdessamad Derraz f9a786896e fix: restore the profile when the prose read fails
_apply_writes promoted the bumped profile, then read its prose under the new pin. A NotCachedError, RateLimitError or UpstreamError from that read left the profile written with a pin the guard would refuse. The original bytes are now put back before the error goes on.
2026-11-05 19:30:04 +01:00
Abdessamad Derraz d78af1b00d feat: narrow a retropie install to its pi 2026-11-05 19:29:58 +01:00
Abdessamad Derraz f8dce8f8c3 fix: keep upstream HEAD for a pin past the fork
_follow_fork_base swapped the fork merge base in as upstream HEAD even when upstream_commit was newer than that base, as for melonds and easyrpg whose upstream is the standalone build they document. melonds read its Qt refs 825 commits back and reported 4 to review. A pin that descends from the base now keeps the HEAD, melonds shows 0 to review.
2026-11-05 19:29:23 +01:00
Abdessamad Derraz 4bc9074dfe feat: say why an upstream revision is held
The emulator page showed the reason for pin_frozen and never the one for upstream_frozen, which 11 profiles record: mupen64plus read as left behind HEAD.
2026-11-05 19:29:22 +01:00
Abdessamad Derraz 1b388e3cdc fix: credit a core the archive it reads members in
FBNeo reads sm1.sm1 inside neogeo.zip. The site resolved each member entry by its crc32, credited loose copies FBNeo never opens, and no neogeo.zip card named FBNeo. A member entry now resolves through archive_entry as the pack does, and its card names the archive.
2026-11-05 19:29:02 +01:00
Abdessamad Derraz fbc530123e fix: say offline that a platform has no targets 2026-11-05 19:28:28 +01:00
Abdessamad Derraz 651cabf412 fix: rank orphaned and moved pins first in triage
drift_score ignored orphaned pins and moved repositories although triage_state says they are fixed before any ref is read: pcem ranked last at 0 with an upstream_commit on no branch. Each now weighs more than a GONE ref.
2026-11-05 19:27:36 +01:00
Abdessamad Derraz a3c853316a fix: name the dirty profiles profile_sync refuses
The refusal said the directory carried uncommitted changes without naming the profile, among about 375. It now lists the files git status reports, and says that --force writes over them.
2026-11-05 19:27:12 +01:00
Abdessamad Derraz bb5ac226d6 fix: find a python3.x beside an old python3 2026-11-05 19:26:51 +01:00
Abdessamad Derraz fb9b5592a5 feat: let --emulator take an alias name
--emulator mednafen_psx refused with 'use --emulator beetle_psx' although the profile names its target. The alias now selects that profile and says so on stderr, in verify, generate_pack and cross_reference alike. Launchers are still refused, and pipeline step 5 skips aliases since they compare under the profile they name.
2026-11-05 19:26:36 +01:00
Abdessamad Derraz 62568f6d76 fix: stop the windows bootstrap on a silent server 2026-11-05 19:26:12 +01:00
Abdessamad Derraz f24b34c1ef feat: place recognised files with validate_pr
The report named the folder of each file and left the copy to the contributor, one file and one .variants/ name at a time. --place copies each recognised file from outside bios/ to its folder under the name the lists declare, or to the .variants/ slot of a name already held, never over a file. A hash with two names or two folders is not placed.
2026-11-05 19:25:47 +01:00
Abdessamad Derraz c54a68c6ca fix: end the bootstrap with 130 on ctrl+c 2026-11-05 19:25:33 +01:00
Abdessamad Derraz 73b82375d9 feat: recognise a mister card on a computer 2026-11-05 19:25:30 +01:00
Abdessamad Derraz 640331b159 docs: regenerate the installer output samples
The RetroArch manifest gained ep128emu/roms/ide12.rom in c624a820f and the page still quoted the earlier counts, which failed test_doc_pages.
2026-11-05 19:23:54 +01:00
Abdessamad Derraz eaa7effa74 fix: mark held and unknown PR files for review
validate_pr said all checks passed for random bytes and for a copy of a held file, and sent the copy to the folder that already holds it. Each now reads REVIEW with its next step, the status line counts them, and a held copy gets no placement hint. A copy inside a tree kept out of dedup is still accepted.
2026-11-05 19:22:55 +01:00
Abdessamad Derraz 3b0112001e fix: serve a data dir file at its platform path
AmberELEC and EmuELEC declare blueMSX's Machines/<model>/config.ini and
Shared Roms/RS232.ROM with no hash. The name step served msx-emu's
ColecoVision config.ini in 192 machine folders and the 16 KB RS232.ROM,
while data/bluemsx held blueMSX's own file at that very path. A platform
declaration with no hash now reads its destination's tail in the data
directories before the name step. Profile entries keep the foreign-tree
redirect, so Dolphin's dsp_coef.bin dump still outranks the free copy.

Manifests: amberelec and emuelec omit 192 config.ini entries (held in
data/bluemsx only, so the installer has no URL) and serve colecodb.xml,
MSX2+/config.ini, MSXturboR/config.ini and RS232.ROM from blueMSX's bytes.
2026-11-05 19:21:26 +01:00
Abdessamad Derraz 4b54b82966 fix: suggest the target when no platform has it
verify --all --target swich ended on 'no platform has it' after seventeen INFO lines, two of which held the suggestion. The refusal now names the closest targets across every platform with the platforms that have them, and the per-platform lines print only when some platform keeps the target.
2026-11-05 19:21:23 +01:00
Abdessamad Derraz a06f5ad2ba fix: fetch the project main an upstream lacks
A remote named upstream added as CONTRIBUTING said and never fetched made validate_pr --changed compare with the fork's main and exit 0 on nothing. It now fetches the project's main when the remote does not hold it. profile_sync names the fetch when --base is absent, and CONTRIBUTING adds git fetch upstream.
2026-11-05 19:20:50 +01:00
Abdessamad Derraz 66dae2a974 fix: refuse a cores folder that cannot be listed 2026-11-05 19:20:14 +01:00
Abdessamad Derraz 9ae3919d34 fix: spell cited commands so a paste runs them
Messages in check_freshness, generate_pack, common, profile_sync and fileless_audit named commands as export_native.py --platform x, which fails from the repository root. They now read python scripts/<name>.py like the rest of the report.
2026-11-05 19:19:04 +01:00
Abdessamad Derraz c0bb3443c0 fix: read a batocera zen3 board as its target 2026-11-05 19:18:50 +01:00
Abdessamad Derraz 9e04bf887d docs: give files over 100 MB their route
CONTRIBUTING sent any file over the browser's 25 MB through a clone, which GitHub refuses past 100 MB, and named a release only a maintainer can write to. It now gives the route validate_pr.py prints: an issue with the hashes.
2026-11-05 19:18:38 +01:00
Abdessamad Derraz 289c180bfa feat: narrow a knulli install to its board 2026-11-05 19:18:29 +01:00
Abdessamad Derraz 46a6ac2675 docs: list the site build among the PR checks
CONTRIBUTING named the checks CI runs on a pull request and left out the npm build, validate_site.py, vermin and the pip packages the test job installs. A wiki-only change passed every listed check and failed CI.
2026-11-05 19:17:52 +01:00
Abdessamad Derraz 232cebb513 chore: ignore the metadata pip install writes 2026-11-05 19:17:34 +01:00