X-Git-Url: https://git.jtryba.com/browse/friidump.git/blobdiff_plain/8972240b0bb13e52c39c651cb66bac8e56b7eb57..759ff43c97423ceb8ce4be11002237ff507284c6:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 9853ea5..0318a06 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,49 @@ # 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. + +## 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 -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: @@ -12,6 +52,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; +- 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). @@ -19,31 +60,27 @@ Xbox-specific behavior is documented in [`docs/XBOX.md`](docs/XBOX.md). ## 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 -canonical tag: v0.5.3.5-pf1 +canonical tag: v0.5.3.16-pf1 ``` ## Build - ### Windows — validated MSVC 32-bit path The maintained Windows helper invokes the Visual Studio 2019 Build Tools @@ -74,9 +111,16 @@ cmake --build build ./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 @@ -111,8 +155,16 @@ Original Xbox/XGD game-partition XISO: friidump -d -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 -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 @@ -152,3 +204,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 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.