mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -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
@@ -26,9 +26,9 @@ notes: |
|
|||||||
database (ananke/database/). All DSP1 games use DSP1B filenames via
|
database (ananke/database/). All DSP1 games use DSP1B filenames via
|
||||||
heuristic fallback. The database dsp1.program.rom / dsp1.data.rom names
|
heuristic fallback. The database dsp1.program.rom / dsp1.data.rom names
|
||||||
are only in the standalone build (target-ethos via ananke).
|
are only in the standalone build (target-ethos via ananke).
|
||||||
.info accuracy/balanced: firmware_count=18 (overcounts by 2, includes
|
.info accuracy/balanced: firmware_count=18, which counts the two dsp1.*
|
||||||
phantom dsp1.* from unused database). Performance .info: firmware_count=17
|
names of the database this build does not use. Performance .info:
|
||||||
(also missing cx4.data.rom).
|
firmware_count=17, without cx4.data.rom.
|
||||||
Upstream v094 source is contained within the libretro repo (sfc/, ananke/).
|
Upstream v094 source is contained within the libretro repo (sfc/, ananke/).
|
||||||
bsnes-emu/bsnes is the modern rewrite (v115+).
|
bsnes-emu/bsnes is the modern rewrite (v115+).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ notes: |
|
|||||||
|
|
||||||
Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) listed in .info but generated
|
Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) listed in .info but generated
|
||||||
algorithmically, never loaded from file (src/memory.cpp:223-253
|
algorithmically, never loaded from file (src/memory.cpp:223-253
|
||||||
generateYZoomData, CRC32 E09E253C). These are phantom .info entries.
|
generateYZoomData, CRC32 E09E253C), so the core never opens these files.
|
||||||
|
|
||||||
.info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10.
|
.info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10.
|
||||||
.info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches
|
.info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ systems:
|
|||||||
#
|
#
|
||||||
# font.rom divergence: libretro.c:566-571 loads 0x1000 bytes then
|
# font.rom divergence: libretro.c:566-571 loads 0x1000 bytes then
|
||||||
# overwrites the buffer with kanji ROM + built-in graph. The font.rom
|
# overwrites the buffer with kanji ROM + built-in graph. The font.rom
|
||||||
# data is not actually used (bug). Upstream memory.c:427 loads FONT_SZ
|
# data ends up unused. Upstream memory.c:427 loads FONT_SZ
|
||||||
# (2048) and keeps the font data in the first half.
|
# (2048) and keeps the font data in the first half.
|
||||||
#
|
#
|
||||||
# OPNA rhythm samples (2608_BD.WAV etc.): loaded by upstream via
|
# OPNA rhythm samples (2608_BD.WAV etc.): loaded by upstream via
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ notes: >
|
|||||||
"Boot to BIOS menu" core option allows booting without a disc.
|
"Boot to BIOS menu" core option allows booting without a disc.
|
||||||
Database contains 24 entries (22 good, 2 known-bad rejected)
|
Database contains 24 entries (22 good, 2 known-bad rejected)
|
||||||
covering BIOS versions 1.0 through 4.5.
|
covering BIOS versions 1.0 through 4.5.
|
||||||
.info declares firmware_count=0, which is incorrect.
|
.info declares firmware_count=0, while the core reads the BIOS images this profile lists.
|
||||||
Project abandoned, superseded by rustation-ng.
|
Project abandoned, superseded by rustation-ng.
|
||||||
|
|
||||||
files:
|
files:
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ cores:
|
|||||||
systems: []
|
systems: []
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Phantom .info: declared in libretro-core-info since 2017 but no source code,
|
Declared in libretro-core-info since 2017. No source code, build recipe or
|
||||||
build recipe, or compiled binary exists anywhere in the libretro organization.
|
compiled binary for it could be found in the libretro organization.
|
||||||
Not on the buildbot. The .info has empty authors, license, and extensions.
|
Not on the buildbot. The .info has empty authors, license, and extensions.
|
||||||
|
|
||||||
No system files required.
|
No system files required.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ notes: >
|
|||||||
Separate codebase from the newer vice-libretro port. Marked experimental and
|
Separate codebase from the newer vice-libretro port. Marked experimental and
|
||||||
superseded. Unlike the newer port, this core does NOT embed system ROMs: all ROMs
|
superseded. Unlike the newer port, this core does NOT embed system ROMs: all ROMs
|
||||||
must be on disk in <system_dir>/data/C64/ and <system_dir>/data/DRIVES/.
|
must be on disk in <system_dir>/data/C64/ and <system_dir>/data/DRIVES/.
|
||||||
The .info declares firmware_count=0 which is incorrect. No JiffyDOS support.
|
The .info declares firmware_count=0, while the core reads the ROMs this profile lists. No JiffyDOS support.
|
||||||
No save states, no netplay, no cheats.
|
No save states, no netplay, no cheats.
|
||||||
|
|
||||||
files:
|
files:
|
||||||
|
|||||||
@@ -3789,12 +3789,12 @@ def generate_gap_analysis(
|
|||||||
"platform contract, and these numbers show where that contract diverges "
|
"platform contract, and these numbers show where that contract diverges "
|
||||||
"from what the code loads.",
|
"from what the code loads.",
|
||||||
"",
|
"",
|
||||||
"| Platform | Missing from list | Phantom | Hash conflict | Required status |",
|
"| Platform | Missing from list | Not read by profiles | Hash conflict | Required status |",
|
||||||
"|----------|------------------:|--------:|--------------:|----------------:|",
|
"|----------|------------------:|--------:|--------------:|----------------:|",
|
||||||
*div_rows,
|
*div_rows,
|
||||||
"",
|
"",
|
||||||
"- **Missing from list**: a profiled emulator loads the file, the platform list does not mention it",
|
"- **Missing from list**: a profiled emulator loads the file, the platform list does not mention it",
|
||||||
"- **Phantom**: on the platform list, loaded by no profiled emulator",
|
"- **Not read by profiles**: on the platform list, loaded by no emulator profiled so far (a profile may still be incomplete)",
|
||||||
"- **Hash conflict**: the platform list and the emulator source expect different hashes",
|
"- **Hash conflict**: the platform list and the emulator source expect different hashes",
|
||||||
"- **Required status**: required/optional differs between list and code",
|
"- **Required status**: required/optional differs between list and code",
|
||||||
"",
|
"",
|
||||||
|
|||||||
@@ -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
|
- 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.
|
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
|
## 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`),
|
If the `resolve_local_file` step already confirmed the MD5 match (status `md5_exact`),
|
||||||
`verify.py` skips re-hashing and returns OK directly.
|
`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
|
Some entries in Batocera's system data carry 29-character MD5 strings instead of
|
||||||
the standard 32. This is a known upstream bug. `verify.py` handles it by prefix matching:
|
the usual 32. Batocera's script compares the full string (`batocera-systems:1088`), so
|
||||||
if the expected hash is shorter than 32 characters, the actual hash is compared against
|
those entries report the file as untested. `verify.py` compares the prefix instead, to
|
||||||
only its first N characters.
|
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)
|
### 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
|
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
|
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
|
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
|
the divergence is printed as a discrepancy: a value in an upstream BIOS list that
|
||||||
must not remove a file the frontend would have loaded.
|
differs from the emulator source must not remove a file the frontend would load.
|
||||||
|
|
||||||
|
|
||||||
## Discrepancy detection
|
## Discrepancy detection
|
||||||
|
|||||||
Reference in new issue
Block a user