X-Git-Url: https://git.jtryba.com/browse/friidump.git/blobdiff_plain/6e43cd3fd4f7324a177331a01d653b4c19c4bca7..410adc894dbd68d10080151171b8c42a9197df46:/README?ds=inline diff --git a/README b/README index 00bbfb8..a983057 100644 --- a/README +++ b/README @@ -7,6 +7,16 @@ FF 08 01 vendor lock-state path, redump-style metadata output, optional XISO output, and a convenient forced-DVD mode (`-D` / `--dvd`). See docs/XBOX.md for Xbox-specific details. +FriiDump 0.5.3.16-pf1 also creates native compatibility evidence reports +by default for normal dump invocations using the `friidump-test-result.v1` +contract. The default report is written beside the final FriiDump log and +derives its filename from that log. `--report-json` overrides the pathname, +`--report-dir` overrides the destination directory, and +`--firmware-modified ` records modified firmware; omission assumes +stock firmware. Reports are atomic, preserve exact live drive/firmware +identity, and distinguish complete, partial, failed, cancelled, diagnostic, +and resumed runs. See `docs/NATIVE_REPORTS.md`. + FriiDump is a program that lets you dump Nintendo Wii and GameCube disc from your computer, without using original Nintendo hardware. It basically performs the same functions as the famous "RawDump" program, but with a big difference, @@ -176,6 +186,11 @@ or a command-prompt under Windows. The basic usage is as follows: friidump -d -a +A native compatibility report is created automatically for the same run. +To place it in a different directory: + +friidump -d -a --report-dir reports + For a plain DVD-ROM dump from any readable drive, use `-D` / `--dvd` or the numeric equivalent `-T 3`: @@ -201,6 +216,22 @@ checked against DiscImageCreator's Original Xbox/XGD1 model: total size 3,820,880 sectors, layer break LBA 1,913,776, DVD start PSN 0x30000, and Xbox/game start PSN 0x60600. +FriiDump 0.5.3.11 adds a read-only evidence mode for the unresolved synthetic +XGD1 ranges: + +```powershell +friidump -d --xgd1-layout-probe xgd1-layout-probe.json +``` + +This mode creates no ISO. On the GDR-8050L challenge-handshake profile it +establishes locked/video and unlocked/game states, reads selected boundary LBAs +with READ(10) and READ(12), verifies the exact expected capacities, and writes +an atomic JSON report containing SCSI status/sense evidence, SHA-1, nullable +failed-read classifications, explicit command comparability, and the complete +sector data for successful reads. The current pregame padding, postgame padding, and 32-sector +game lead-in remain unresolved; probe success must not be represented as an +exact Redump image. + On a GDR-8050L, FriiDump follows the original dumper's state order and timing: primary handshake, media-cycle, re-handshake, RefreshVolume plus full settle delays, metadata/XBE probe, media-cycle back to the visible DVD-video view, @@ -476,9 +507,9 @@ does the final handshake for game/XDVDFS data. FriiDump 0.5.3.9 also closes the Xbox live-summary boundary: the copied GDR-8050L path now returns title, media ID, finalized output sectors, and elapsed evidence to the final validation summary, and final STOP UNIT ownership is singular. -FriiDump 0.5.3.10 checks each successfully completed ISO against the canonical -Redump DAT selected for the detected or forced disc type. Verification begins -only after CRC32, MD5, SHA-1, and SHA-256 have been finalized. +FriiDump checks each successfully completed ISO against the canonical Redump +DAT selected for the detected or forced disc type. Verification begins only +after CRC32, MD5, SHA-1, and SHA-256 have been finalized. Stable DAT paths: @@ -542,18 +573,22 @@ an incomplete object with missing string values. For the GDR-8050L/cross-flashed GDR-8163B full-ISO path, the report identifies `GDR-8050L reference finalized full-file hashes` as the hash source. FriiDump also records that XGD1 acquisition success and exact Redump hash identity are -separate claims. The current reconstruction contains documented synthetic -ranges, so a clean physical read can legitimately produce `NO EXACT MATCH`. -That result must not be promoted to archive identity. +separate claims. The current reconstruction contains unresolved zero-filled pregame and +postgame spans, so a clean physical read can legitimately produce +`NO EXACT MATCH`. That result must not be promoted to archive identity. Options: -- `--redump-dat-dir ` selects another directory containing the three stable - DAT filenames above. +- `--redump-dat-dir ` explicitly selects a directory containing the + three stable DAT filenames above. Without it, FriiDump checks `redump_dat` + beside the executable and then under the current working directory. - `--redump-report ` writes the atomic machine-readable evidence report. - `--no-redump-verify` disables DAT lookup for a run. - `--nohash` also prevents DAT verification because the required hashes are not calculated. +- `--xgd1-layout-probe ` is a separate read-only Windows diagnostic for + the GDR-8050L challenge-handshake profile. It cannot be combined with image + output, conversion, all-methods, or HLDS 0xE7 probe options. Example: @@ -568,5 +603,68 @@ Example: ``` The DAT files are data inputs, not compiled into the executable. Replace the -three files in `redump_dat` with newer Redump exports while keeping the stable -filenames, or point `--redump-dat-dir` at an alternate set. +three files in the executable-relative `redump_dat` directory with newer Redump +exports while keeping the stable filenames, or point `--redump-dat-dir` at an +alternate set. The current-working-directory lookup is retained as a fallback +for source-tree and legacy workflows. + +FriiDump 0.5.3.12 adds a second read-only XGD1 evidence mode for the user's +modified GDR-8050L firmware: + + --xgd1-raw-id-probe + +The probe establishes the locked/video and unlocked/game views, performs +controlled 16-sector READ(12) cache fills, then uses the accepted HIT 0xE7 +memdump command at cache base 0x80000000 to capture the selected 2064-byte raw +sector. The report records the raw ID field and decodes its 24-bit physical +sector number. This is intended to test logical-to-physical geometry; it does +not read inaccessible filler sectors, does not modify the current XGD1 image +layout, and requires the modified 0xE7 firmware profile. + +The 0.5.3.11 live logical probe found 17 successful READ(10)/READ(12) pairs, +all byte-identical. Both active capacities rejected the sampled out-of-range +LBAs with 05/21/00. Therefore ordinary logical reads do not supply the current +synthetic pregame/postgame filler bytes. + +FriiDump 0.5.3.13 corrects the raw-ID probe after the first live v68 run +showed that arbitrary request LBAs could leave cache base 0x80000000 pointing +at an earlier or block-start window. The corrected probe aligns every request +to a 16-sector block, issues the proven zero-transfer READ(12) cache flush, +and dumps only the target slot's 12-byte header and four-byte EDC. It validates +layer bits and raw/normalized PSNs against the current full-output geometry. +Raw-cache user-data equality is no longer treated as evidence because Method 8 +reconstructs that field from READ(12) data before unscrambling. Geometry may be +resolved by a complete match; inaccessible filler bytes remain unresolved. + +FriiDump 0.5.3.14 drive-captured XGD1 game lead-in +---------------------------------------------------- + +The 0.5.3.13 live cache-aligned raw-ID run matched all 13 selected locked/video +and unlocked/game samples. It proved that unlocked source LBA 0..31 occupies +full-output LBA 198144..198175 and immediately precedes the XDVDFS header at +unlocked source LBA 32. FriiDump therefore no longer synthesizes the 32-sector +game lead-in for the GDR-8050L redump-style path. + +The reference Xbox path now reads unlocked source LBA 0..31 strictly before +copying source LBA 32..3431263. The native libfriidump path uses the same source +mapping and retains per-sector zero-fill only as an explicitly counted fallback +for a genuinely unreadable lead-in sector. Pregame and postgame physical +locations are resolved, but their inaccessible content remains zero-filled and +must not be described as exact without independent evidence. + + +FriiDump 0.5.3.15 release cleanup +----------------------------------- + +The 0.5.3.15 release candidate consolidates the XGD1 investigation into a +repository-ready tree. Local build logs, runner transcripts, package rehearsals, +duplicate stdout/stderr captures, and full logical-sector byte dumps are not +retained as source authority. Compact evidence is stored under +`docs/evidence/xgd1`. + +Automatic DAT discovery is now executable-relative first, with the historical +current-working-directory lookup retained as a fallback. An explicit +`--redump-dat-dir` remains authoritative. + +The reference and native full-output mappings remain those validated in +0.5.3.14. No XGD1 output bytes changed in this cleanup.