Commit Graph
1610 Commits
Author SHA1 Message Date
Abdessamad Derraz c4e58b54bd feat: link arcade boards and program folders 2026-10-23 14:45:02 +02:00
Abdessamad Derraz 6c52d24a30 feat: arcade boards and the 28 unlinked ids
siterender.arcade_board(sha1) names the board a set archive is the
BIOS of, from the profiles' bios_zip entries and their contents CRC32s,
never the folder. board_slug(id) gives the section slug. A board links
once the system pages call record_board_section(), so no page links a
section nobody wrote. Thirteen ids whose files sit in one program's
folder get a reviewed parent, mz800 the Sharp MZ section. The link
test counts set archives.
2026-10-23 14:32:34 +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 36427edbb2 fix: point source refs at paths held at the pin
trident cites the Panda3DS fork 3dsTrident vendors as a submodule, now
its upstream at the submodule pin 69095ee6. pce-emu, uqm and stonesoup
wrote paths from a subdirectory (PCE.emu/, sc2/, crawl-ref/), nesoid
named two Java files without their directory; lines unchanged, each read
at the pin.

The pages no longer take a binary citation (DesktopKinect.dll, an
address continuing a BAM.dll range) for a source path, and a Forgejo
tree is read page by page: mirrors/Ryujinx holds 4704 entries, 1000 a
page.
2026-10-23 13:11:48 +02:00
Abdessamad Derraz aeb68fe753 fix: credit readers the file their pack resolves
The name step tried the destination's basename alongside the entry's
own names. With dsi_nand.bin absent from a checkout, nand.bin from
dsi/nand.bin let the Wii NAND outrank the entry's own DSi variant, and
the site named melonDS Nightly a reader of it. The basename is now tried
only when no own name answers.

FileConsumers also resolved profile entries without the archive members
the emulator pack passes, so gngeopi and neo-emu were credited with the
MAME neogeo.zip instead of the archive their pack carries.
2026-10-23 13:03:39 +02:00
Abdessamad Derraz c2875a3851 fix: attach profile aliases by held content
A profile entry without a hash matched the collection by name, but
only primary names were looked up, and which copy of identical bytes is
primary follows path order. After the refile, project64's
64DD_IPL_v12_JPN.bin was a copy, so 64dd_ipl_J.bin and 64dd_ipl_U.bin left
the name index. The lookup now counts every copy's name, and a name held
by two contents still names neither.
2026-10-23 12:58:06 +02:00
Abdessamad Derraz 2a29ca309c fix: settle round 3 checks across packages 2026-10-23 11:58:23 +02:00
Abdessamad Derraz f0e7d87def fix: settle the round 3 site packages together 2026-10-23 11:12:12 +02:00
Abdessamad Derraz d168ceb8a8 feat: round 3 reference and data 2026-10-23 11:02:31 +02:00
Abdessamad Derraz 62d0d62968 feat: round 3 emulator pages 2026-10-23 11:02:31 +02:00
Abdessamad Derraz c1cd15c10d feat: round 3 system pages 2026-10-23 11:02:30 +02:00
Abdessamad Derraz 703f05657f feat: round 3 entry pages 2026-10-23 11:02:29 +02:00
Abdessamad Derraz b1cbadc335 feat: round 3 navigation and search 2026-10-23 11:02:28 +02:00
Abdessamad Derraz f5eb31f910 feat: system sections start with their own files
The start line keeps entries read for the section's own system, groups a section holding several, names files the way most setups do, links an Arcade-filed set the system requires and says when no file is needed. Cards of MAME and FBNeo sets name the releases whose recipe matches their members. Console headings lose their icon, Arcade gets its own group on the index, and install boxes count toward the weight that splits a heavy manufacturer page.
2026-10-23 10:56:39 +02:00
Abdessamad Derraz 863b119528 feat: load tile logos past the first row lazily
Home on a phone over 4G: 217.3 KiB to 134.5 KiB on first load, 19 images to 10.
2026-10-23 10:56:35 +02:00
Abdessamad Derraz cdffbcdfe4 feat: share cards for manufacturer pages
One card per systems page, titled with the manufacturer and listing its consoles as far as three lines hold. Rendered once and committed like the platform cards.
2026-10-23 10:56:33 +02:00
Abdessamad Derraz 94d18bd7e5 feat: name the system in each lookup record 2026-10-23 10:54:34 +02:00
Abdessamad Derraz c5ba17d3dd refactor: fit setup pages in 220 words
The new answers are shortened and the safety list, shown in full on the home page, is linked from each setup page instead of repeated. The setup ceiling stays at 220.
2026-10-23 10:50:52 +02:00
Abdessamad Derraz 6bcaa3a936 feat: cap a page at 10,000 elements 2026-10-23 10:49:55 +02:00
Abdessamad Derraz 1e5e795060 feat: say what each emulator page needs first
Romset row and line on MAME and FinalBurn pages, files an app ships
under their own badge and section, collection counts under the table,
empty or constant summary columns dropped, short hashes with the full
value in the title, the profile card and cards past Required folded,
data directory pages kept out of the search.
2026-10-23 10:49:52 +02:00
Abdessamad Derraz aac613bea7 feat: answer version and handheld questions
Setup pages name the setup version the ZIP was made from, offer a partial install, answer a file in place but reported missing, and link the offline install. Get your files folds its tables into one closed block with part buttons. The setup comparison moves to the verification modes page. New Linux handhelds guide page.
2026-10-23 10:47:38 +02:00
Abdessamad Derraz add2d87190 feat: cite the handheld systems that run retroarch
One row per system the installer detects RetroArch on, with the card folder and the devices each system's own pages list, every value carrying its source. Android and Linux handhelds become tiles of the handheld group.
2026-10-23 10:47:34 +02:00
Abdessamad Derraz 046c376448 feat: serve platform logos as 80 px webp
Shown at 40 px, the 96 px PNG logos were 136 KiB of the home page. WebP at twice the display size is 27 KiB for the twelve raster marks. SVG stays as each project publishes it.
2026-10-23 10:46:58 +02:00
Abdessamad Derraz 2b64eaab9b feat: publish manifests, id indexes and licence
The CSV and SQLite carry zipped_file and the Recalbox flags, contracts
leave registry keys in a registry field and validate, every envelope
carries commit, lookup URLs are site-absolute, systems.json and
cores.json answer an id, the Data page shows the manifest fields and a
folder check, and platform overviews link emulators by name.
2026-10-23 10:46:13 +02:00
Abdessamad Derraz c3b45182ca feat: add a folder check built on the api 2026-10-23 10:46:08 +02:00
Abdessamad Derraz db22cc37bb fix: link a source path its cached tree holds 2026-10-23 10:46:08 +02:00
Abdessamad Derraz 5b1120aeb5 feat: rank console pages above setup lists
A setup's list for one console is a reference page kept out of the
search index, naming its setup as parent. System pages carry file names
and the platforms' own ids as attribute search fields, never as text.
Arcade gets its own sidebar group.
2026-10-23 10:36:04 +02:00
Abdessamad Derraz 3d0b013588 fix: link systems to their new console folders 2026-10-23 10:17:34 +02:00
Abdessamad Derraz 42c235abb9 chore: one folder per console 2026-10-23 10:16:51 +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 3db85ba74f feat: print the system link count at build 2026-10-23 09:06:55 +02:00
Abdessamad Derraz fad947e9d0 feat: link system ids to their files' section
A reviewed SYSTEM_PARENTS table leads variants (WonderSwan Color, Neo Geo MVS, MSX2) to the section holding their files, an Arcade heading that reads the name exactly is accepted, and system_search_aliases() gives the platforms' native ids for search. 260 of 636 ids linked before, 338 after.
2026-10-23 09:06:55 +02:00
Abdessamad Derraz b657cff327 feat: export md5 lists the checker reads 2026-10-23 08:27:27 +02:00
Abdessamad Derraz 5b083c45b5 feat: export md5 lists the pinned checker reads
The script exporters (Batocera, ROCKNIX, KNULLI, AmberELEC, EmuELEC)
read the checker of the pinned original: when checkBios hands an
item's md5 to a function that tests it with isinstance(..., list),
as md5Matches does since batocera.linux 6b08b873, an entry whose
emulator code accepts several dumps is written with all of them, and
an addition that needed several becomes writable. Items with altmd5
keep a string, since checkBios wraps them in a list of its own.

No cached original reads lists today, so every export is unchanged.
The report records a list as a list, counts the lists written, and
records a list the truth extends without contradicting it.
2026-10-23 08:06:58 +02:00
Abdessamad Derraz fed03c3db7 fix: pack each zip with the collection's bytes 2026-10-23 07:47:35 +02:00
Abdessamad Derraz 34f9195860 feat: settle site integration items 2026-10-23 07:45:02 +02:00
Abdessamad Derraz 651813f10a feat: guard split packs and install offline 2026-10-23 07:42:32 +02:00
Abdessamad Derraz 0b4504992b feat: read batocera md5 written as a list
batocera.linux 6b08b873 lets a biosFiles item declare its md5 as a
list of strings, and checkBios accepts a file matching any of them.
The scrapers join the values with commas, as for Recalbox, and record
md5_list so the export writes the list back as a list, byte for byte.
2026-10-23 07:39:25 +02:00
Abdessamad Derraz 462d1abb05 fix: name one emulator's kind in the singular
A row of the emulators index and of the cross-reference tables named
one core's class in the plural (Official ports). The upstream table's
headers no longer break inside a word.
2026-10-23 07:36:49 +02:00
Abdessamad Derraz e83371ef19 fix: list large data directories on own pages
Dolphin's Sys tree put 2,164 rows and 16,900 elements on the Dolphin,
PrimeHack and Ishiiruka pages. A tree past 400 files is now listed on
pages of its own, 1,000 files each, and the file lookup sends each
member's sha1 there.
2026-10-23 07:33:31 +02:00
Abdessamad Derraz e62607350a fix: keep every page under 600 KB of html
The wanted lists of the provenance page and the files to source of the
gaps page move to pages of their own, cut in parts past 300 KB of
Markdown. System pages split from 300 KB and emulator cards from 220 per
page. A moved card keeps its anchor through the files/?sha1= lookup.
2026-10-23 07:22:32 +02:00
Abdessamad Derraz 7c6af30a0c fix: name the file existence mode finds
verify_entry_existence returned no path, so RetroArch, Lakka and
RetroPie pages showed no Served by line. It now returns the resolved
path as the hash modes do. verify.py --all prints the same bytes and
its JSON is unchanged.
2026-10-23 07:16:05 +02:00
Abdessamad Derraz 6cac923a91 fix: date pages in words and count setups once
Every page closed on a raw ISO stamp. It now reads data_as_of(), which
write_if_changed ignores as it ignored the old stamp. The diagram text
counts setups with setup_count(), and the data model page names the
Data and API page by its title.
2026-10-23 07:12:15 +02:00
Abdessamad Derraz c2de7c3a8e feat: mark each pack part with its siblings 2026-10-23 07:09:43 +02:00
Abdessamad Derraz bb13e7b5f9 fix: link a system to the section of its name
A system link followed the folder its files sit in: emerson-arcadia-2001
reached the Saturn and sega-naomi the Dreamcast. It now goes to the
section system_name() reads, or stays a plain name. Console headings
carry an explicit id, so Sega's Mega-CD no longer shares mega-cd.
2026-10-23 07:08:09 +02:00
Abdessamad Derraz a9181f9d04 feat: platform logos and emulator letter sections
The decoration pass now forwards the logo front matter, pointed at the
local copy. The emulators index lists every profile under the initial
the sidebar draws, so each letter link lands on its section.
2026-10-23 07:02:40 +02:00
Abdessamad Derraz e86defdb1e fix: settle tests the site packages left apart 2026-10-23 05:32:08 +02:00
Abdessamad Derraz 51b2976515 feat: cite sources and files on reference pages
# Conflicts:
#	wiki/testing-guide.md
2026-10-23 02:59:34 +02:00
Abdessamad Derraz 8b26a8fcac feat: cite sources and files on reference pages
Platform pages link each reader's source line at its pinned revision, name the collection file that serves each entry, show launcher records with their lines, name systems with the id beside them and the list they were read from in words. The largest system lists move to pages of their own so a platform page stays under 500 KB.

Gaps: plain numbers with a bar, a badge only for missing required firmware, Files to source as a heading. Cross-reference: counts per platform, one page per platform, one row per upstream project. Exports: gaps listed once, status, category and the serving file in the CSVs and SQLite, the commit in each API envelope, the provenance Wanted list as CSV. Catalog dates in words on the provenance page.
2026-10-23 02:58:51 +02:00
Abdessamad Derraz 14a6518d49 fix: cite the reader that accepts the hash
A platform entry that declares a hash is now answered by the profile entries accepting it. Batocera's scph1001.bin (md5 dc2b9bf8, v2.0) cited DuckStation's bios.cpp:36, the v2.2 line. A same-named entry is kept, marked by name, only when none accepts the hash and its own hashes do not contradict it. Categories are unchanged: verify --all prints the same report.
2026-10-23 02:58:43 +02:00