]> FriiDump Source - friidump.git/blobdiff - README.md
Document exact-release Linux hardware validation
[friidump.git] / README.md
index 9853ea5ef9ad0f16897ba898be812f4823b08a59..9816d34aee42ed652275deb9e7609be2daeff641 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,9 +1,72 @@
 # FriiDump — Project Frankenstein Branch
 
 # FriiDump — Project Frankenstein Branch
 
+## FriiDump 0.5.3.16-pf1 Linux Xbox DMI boundary correction
+
+Candidate20 proved the complete Linux GDR-8050L Xbox command and data path:
+direct SG_IO challenge delivery, both game-view transitions, XDVDFS metadata,
+drive-captured game lead-in, partial GAME-XDVDFS output, controlled
+cancellation, hashes, native reporting, and STOP UNIT.
+
+FriiDump 0.5.3.16-pf1 preserves that exact Windows-sequence control flow and
+SG_IO handshake. It corrects one remaining MMC boundary: standard READ DVD
+STRUCTURE uses CDB byte 7 for the Format field. Candidate20 incorrectly wrote
+the format to byte 11 (Control), so DMI format `0x04` was not captured and the
+media ID remained empty.
+
+The release also adds persistent PFI/DMI capture diagnostics and a source
+contract that compares the portable request against the proven copied Windows
+`GetMediaID()` request.
+
+The generic Xbox path still contains no RecoveryKick, generic media-auth kick,
+or synthetic LBA-zero recovery sequence.
+
+Linux vendor-command work continues to require a normal-user process with
+`cap_sys_rawio=ep` on the exact validated executable. Rebuilding or replacing
+the executable clears that capability.
+
+See [`docs/LINUX.md`](docs/LINUX.md) before Linux hardware use.
+
+## Exact-release Linux hardware validation
+
+The exact FriiDump 0.5.3.16-pf1 Linux executable was validated on two
+GameCube paths after release publication:
+
+- an `HL-DT-ST CDRW/DVD GCC4244 B101` completed profile selection, all 20 seed
+  blocks, a controlled partial read, cancellation, native reporting, profile
+  reporting, and STOP UNIT;
+- a physical GDR-8163B cross-flashed with modified GDR-8050L `0012` firmware
+  completed the modified `0xE7` path, all 20 seed blocks, a controlled partial
+  read, cancellation, native reporting, profile reporting, and FriiDump's
+  internal STOP UNIT.
+
+The validated cross-flashed unit had to start with a readable Video DVD before
+it identified as `HL-DT-ST DVD-ROM GDR8050L 0012`. The drive stayed powered and
+connected while the disc was changed to Sonic Mega Collection (US). Linux host
+media probing was temporarily quarantined for that run because earlier
+background reads had blocked the USB/SCSI path.
+
+See
+[`docs/reports/FRIIDUMP_LINUX_EXACT_RELEASE_HARDWARE_VALIDATION_0.5.3.16-pf1.md`](docs/reports/FRIIDUMP_LINUX_EXACT_RELEASE_HARDWARE_VALIDATION_0.5.3.16-pf1.md)
+for the exact evidence identities and validation limits.
+
+## Candidate11 Linux Xbox parity baseline
+Candidate11 begins the Linux parity campaign without replacing the validated
+Windows/MSVC GDR-8050L path. The Windows copied-reference implementation remains
+unchanged for challenge drives. Linux now uses the existing portable MMC/Xbox
+dump path with a shared XDFS/XBE metadata reader, XBE-derived default filenames,
+exact native-report result handoff, partial/full hashes, and consistent Xbox
+title, media ID, and region reporting.
+
+Candidate11 subsequently completed real Linux GameCube validation on a
+GCC-4244 B101, including an exact full-dump hash match. Candidate12 retains that
+transport and dump behavior while correcting resource discovery and evidence
+wording. The development-only XGD1 layout and raw-ID probes remain separate from
+ordinary Linux ISO/XISO user paths.
+
 FriiDump is a command-line optical-disc dumping tool for Nintendo GameCube,
 Nintendo Wii, standard DVD-ROM, and selected Original Xbox/XGD workflows. This
 FriiDump is a command-line optical-disc dumping tool for Nintendo GameCube,
 Nintendo Wii, standard DVD-ROM, and selected Original Xbox/XGD workflows. This
-repository preserves the Project Frankenstein development branch based on
-FriiDump **0.5.3.5**.
+repository preserves the Project Frankenstein release line through
+FriiDump **0.5.3.16-pf1**.
 
 The branch extends the original FriiDump code with:
 
 
 The branch extends the original FriiDump code with:
 
@@ -12,6 +75,7 @@ The branch extends the original FriiDump code with:
 - redump-style Original Xbox/XGD1 reconstruction and metadata;
 - optional game-partition XISO output;
 - media preflight, profile reporting, and STOP UNIT cleanup;
 - redump-style Original Xbox/XGD1 reconstruction and metadata;
 - optional game-partition XISO output;
 - media preflight, profile reporting, and STOP UNIT cleanup;
+- optional atomic `friidump-test-result.v1` compatibility evidence reports;
 - validated Windows/MSVC and Linux/CMake build paths.
 
 The original detailed user documentation remains in [`README`](README).
 - validated Windows/MSVC and Linux/CMake build paths.
 
 The original detailed user documentation remains in [`README`](README).
@@ -19,31 +83,27 @@ Xbox-specific behavior is documented in [`docs/XBOX.md`](docs/XBOX.md).
 
 ## Repository status
 
 
 ## Repository status
 
-This is the active canonical Project Frankenstein FriiDump repository. Authority
-was accepted at annotated tag `v0.5.3.5-pf1`. The imported baseline is
-intentionally conservative: source and
-maintained documentation were preserved, while disc images, live logs, compiled
-binaries, build directories, result archives, and unrelated reverse-engineering
-work were excluded.
-
-The baseline source came from:
+This is the active canonical Project Frankenstein FriiDump repository.
+FriiDump 0.5.3.16-pf1 incorporates the accepted native-reporting campaign,
+Linux raw-I/O authorization boundary, GameCube/Linux parity work, and the
+GDR-8050L Linux Xbox DMI correction.
 
 
-```text
-D:\vscode-workspace\friidump
-```
+Release authority is the annotated tag `v0.5.3.16-pf1`. Verify its live tag
+object, peeled commit, and tree before treating a checkout or archive as
+canonical.
 
 
-No firmware binaries or disc images belong in this Git repository.
+Disc images, live logs, compiled binaries, build directories, result archives,
+and unrelated reverse-engineering work remain outside this repository.
 
 Authority surfaces:
 
 ```text
 repository: /srv/project-frankenstein/repos/friidump.git
 authority marker: /srv/project-frankenstein/catalog/authority/friidump.json
 
 Authority surfaces:
 
 ```text
 repository: /srv/project-frankenstein/repos/friidump.git
 authority marker: /srv/project-frankenstein/catalog/authority/friidump.json
-canonical tag: v0.5.3.5-pf1
+canonical tag: v0.5.3.16-pf1
 ```
 
 ## Build
 ```
 
 ## Build
-
 ### Windows — validated MSVC 32-bit path
 
 The maintained Windows helper invokes the Visual Studio 2019 Build Tools
 ### Windows — validated MSVC 32-bit path
 
 The maintained Windows helper invokes the Visual Studio 2019 Build Tools
@@ -74,9 +134,16 @@ cmake --build build
 ./build/src/friidump --help
 ```
 
 ./build/src/friidump --help
 ```
 
-The canonical repository baseline was locally compiled with GCC using this path. The
-build completed successfully. One inherited warning remains in
-`libfriidump/rs.c` concerning a right-shift count; it is recorded as technical
+The build prints a warning that Linux vendor-command hardware paths require a
+separate, explicit `CAP_SYS_RAWIO` installation step. After validating the
+binary:
+
+```bash
+bash ./validation/friidump-linux-rawio-capability.sh install   ./build/src/friidump
+```
+
+Run FriiDump as the normal user, not with `sudo`. One inherited warning remains
+in `libfriidump/rs.c` concerning a right-shift count; it is recorded as technical
 debt and was not silently changed during repository import.
 
 ## Common commands
 debt and was not silently changed during repository import.
 
 ## Common commands
@@ -111,8 +178,16 @@ Original Xbox/XGD game-partition XISO:
 friidump -d <drive> -T 4 -X xbox.xiso
 ```
 
 friidump -d <drive> -T 4 -X xbox.xiso
 ```
 
-Consult [`README`](README), [`docs/options`](docs/options), and
-[`docs/XBOX.md`](docs/XBOX.md) before hardware use.
+Native compatibility reports are created automatically in the working
+directory using the log filename. To override the destination directory:
+
+```text
+friidump -d <drive> -8 -s -i game.iso --report-dir reports
+```
+
+Consult [`README`](README), [`docs/options`](docs/options),
+[`docs/XBOX.md`](docs/XBOX.md), and
+[`docs/NATIVE_REPORTS.md`](docs/NATIVE_REPORTS.md) before hardware use.
 
 ## Safety and evidence rules
 
 
 ## Safety and evidence rules
 
@@ -152,3 +227,12 @@ CMakeLists.txt       portable build entry point
 FriiDump is distributed under the GNU General Public License, version 2 or
 later. See [`COPYING`](COPYING). Existing source-file copyright notices and
 authors are preserved.
 FriiDump is distributed under the GNU General Public License, version 2 or
 later. See [`COPYING`](COPYING). Existing source-file copyright notices and
 authors are preserved.
+
+## FriiDump 0.5.3.16-pf1 Xbox Linux scope
+
+Candidate21 preserves Candidate20's successful SG_IO Xbox handshake and
+Windows state-machine order. The only functional correction is the standard
+READ DVD STRUCTURE Format byte used for PFI/DMI capture. The mode-select-6
+sticky-descrambling command remains evidence-bearing and non-authoritative:
+final READ CAPACITY plus XDVDFS readability determine whether game view was
+established.