docs: describe the native export without verdicts

This commit is contained in:
Abdessamad Derraz committed 2026-10-21 10:01:46 +02:00
1 parent 0b772fe255
commit e9f945857c
4 files changed
+12 -10

No files matched your search

+1
View File
@@ -273,6 +273,7 @@ class PeerToneTowardPlatforms(unittest.TestCase):
WORDS = re.compile(
r"(?i)\bgets wrong\b|\bstale (hash|entries|entry)\b|<their file>|\bpatch their\b"
r"|, corrected\b|\bcorrected in place\b|\bdeclare incorrectly\b|\blist error\b"
r"|\btheir syntax\b|\bthe platform lacks\b|\bthe odd one\b|\bmay not match reality\b"
)
def test_published_pages(self):
+1 -1
View File
@@ -211,7 +211,7 @@ System ID consistency matters for cross-platform operations. The same console mu
(`_resolve_truncated_md5`), and kept as written otherwise. The resolution layer
matches what remains by prefix.
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.
Scraped data reflects what the upstream declares, which can differ from what the emulator source reads. 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.
A few rules keep that transcription honest:
+9 -8
View File
@@ -331,10 +331,11 @@ The diff reports:
### Export to native formats
Write a platform's own BIOS file, updated from the emulators' code. The output is the file its
maintainers keep, not our data in their syntax: hashes the truth can prove
are applied, entries the truth says nothing about are left alone, and files
the truth knows and the platform lacks are added.
Write a platform's own BIOS file with the updates its emulators' source code
supports. The output is the platform's original file with those updates applied:
a hash the emulator source states is updated, an entry the source says nothing
about is kept as written, and a file the platform's emulators read that the list
does not name yet is added.
```bash
python scripts/export_native.py --platform batocera --fetch # batocera-systems
@@ -355,10 +356,10 @@ patched from the platform's own file, which `--fetch` downloads once into
`.cache/upstream-native/`. Without it the export fails rather than
publishing a fragment.
RetroPie is the odd one: it publishes no BIOS list at all, and the only
declaration is the sentence in each package's `rp_module_help`. The export
adds a missing file name to a list a maintainer already wrote, never
removes one, and never drafts a sentence where there was none.
RetroPie keeps its BIOS information in the `rp_module_help` sentence of each
package rather than in a list. The export adds a file name to a sentence a
maintainer already wrote, never removes one, and never drafts a sentence where
there was none.
The run reports what it changed, and what it had to leave out: an entry a
format cannot express is named, never written half-formed. `es_bios.xsd`
+1 -1
View File
@@ -922,4 +922,4 @@ Located in `scripts/exporter/`. Each inherits `BaseExporter`, defined in
| `romm_exporter` | `known_bios_files.json`, every entry with a size and a hash |
| `bizhawk_exporter` | `FirmwareDatabase.cs`, BizHawk's own C# |
| `misterfpga_exporter` | hash and size in MiSTer's BiosDB (`bios_db.json`) |
| `retropie_exporter` | the `rp_module_help` prose of each scriptmodule, by adding a name it lacks |
| `retropie_exporter` | the `rp_module_help` prose of each scriptmodule, by adding a file name the package's emulator reads |