mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 03:09:08 -05:00
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.
This commit is contained in:
1 parent
e9e56f545d
commit
7a3cbc657d
9 files changed
+20
-19
No files matched your search
@@ -209,7 +209,7 @@ System ID consistency matters for cross-platform operations. The same console mu
|
||||
- Batocera uses 29-character truncated MD5 hashes in some entries. The resolution
|
||||
layer handles prefix matching, but the scraper should store the hash as-is.
|
||||
|
||||
Scraped data reflects what the upstream declares, which may not match reality. The scraper's job is faithful transcription of upstream data, not correction. Corrections happen in the emulator profiles (source-verified) and in `_shared.yml` (curated). If a scraper detects an obviously wrong hash or filename, log a warning but still include the upstream value. The divergence will surface during truth diffing.
|
||||
Scraped data reflects what the upstream declares, which may not match reality. The scraper's job is faithful transcription of upstream data, not correction. Corrections happen in the emulator profiles (source-verified) and in `_shared.yml` (curated). If a scraper meets a hash or filename that differs from the emulator source, log a warning and still include the upstream value. The divergence will surface during truth diffing.
|
||||
|
||||
## Creating a target scraper
|
||||
|
||||
|
||||
@@ -47,12 +47,13 @@ hashed with MD5, and compared case-insensitively against the expected value.
|
||||
If the `resolve_local_file` step already confirmed the MD5 match (status `md5_exact`),
|
||||
`verify.py` skips re-hashing and returns OK directly.
|
||||
|
||||
### Truncated MD5 (Batocera bug)
|
||||
### Truncated MD5 (Batocera)
|
||||
|
||||
Some entries in Batocera's system data contain 29-character MD5 strings instead of
|
||||
the standard 32. This is a known upstream bug. `verify.py` handles it by prefix matching:
|
||||
if the expected hash is shorter than 32 characters, the actual hash is compared against
|
||||
only its first N characters.
|
||||
Some entries in Batocera's system data carry 29-character MD5 strings instead of
|
||||
the usual 32. Batocera's script compares the full string (`batocera-systems:1088`), so
|
||||
those entries report the file as untested. `verify.py` compares the prefix instead, to
|
||||
find the file the entry designates: if the expected hash is shorter than 32 characters,
|
||||
the actual hash is compared against only its first N characters.
|
||||
|
||||
### md5_composite (Recalbox ZIP verification)
|
||||
|
||||
@@ -255,8 +256,8 @@ What the pack does with a `hash_mismatch` follows the platform's own mode. An
|
||||
MD5 or SHA1 platform would reject those bytes, so the file is left out and
|
||||
counted as an unsafe exclusion, distinct from a file the collection does not
|
||||
have. An existence platform reads no bytes at all, so the file is packed and
|
||||
the divergence is printed as a discrepancy: an error in an upstream BIOS list
|
||||
must not remove a file the frontend would have loaded.
|
||||
the divergence is printed as a discrepancy: a value in an upstream BIOS list that
|
||||
differs from the emulator source must not remove a file the frontend would load.
|
||||
|
||||
|
||||
## Discrepancy detection
|
||||
|
||||
Reference in new issue
Block a user