2026-07-18 - FriiDump 0.5.3.10 state-aware GDR-8050L handshake cleanup

- Replaces the copied reference bridge's unconditional unlock -> tray cycle ->
  unlock preamble with state-aware READ CAPACITY(10) classification.
- When the bridge enters in the unlocked game view, it skips both the redundant
  initial handshake and the redundant tray cycle before title/XDVDFS probing.
- When the bridge enters in the locked/video view, it performs one direct full
  handshake without a media transition and verifies the resulting visible
  sector count before metadata probing.
- Retains one explicitly logged tray-cycle recovery only when the direct
  handshake fails to expose the game view, then retries the full handshake once.
- Preserves the one required media transition used later to restore the
  locked/video view before VIDEO-L0/VIDEO-L1 capture, followed by the final full
  handshake for game/XDVDFS data.
- Corrects XDVD authentication metadata: unlocking does not require a media
  transition, while restoring the locked/video view does.
- Live 0.5.3.9 evidence basis: Red Faction II completed 3,820,880 sectors,
  produced finalized four-hash/sidecar evidence, wrote the atomic Redump report,
  issued one final STOP UNIT, and exposed the prior three-handshake/two-tray
  sequence targeted by this cleanup.
- No firmware update, write, flash, erase, 3B06, 3B07, or FLASHUP path was added
  or modified.

2026-07-17 - FriiDump 0.5.3.9 Xbox live-summary and cleanup correction

- Preserves the successful 0.5.3.8 Xbox finalized-hash handoff and shared
  Redump verification path.
- Carries the Xbox title, media ID, finalized output-sector count, and elapsed
  time across the copied GDR-8050L bridge boundary.
- Reports the real Xbox title/media ID and 3,820,880-sector reconstructed output
  in the final HLDS validation summary instead of the generic pre-bridge values.
- Marks the GC/Wii seed field not applicable for the Xbox reference-auth path.
- Uses the copied reference dumper's elapsed-time handoff for Xbox runs, eliminating the
  misleading 0.00-second duration and average-rate output.
- Removes the inner DumpXboxGameDisc STOP UNIT call.  Embedded runs now issue
  exactly one final STOP UNIT from FriiDump after Redump verification; standalone
  bridge runs retain cleanup ownership before closing their handle.
- Live evidence basis: Red Faction II[TQ00501A] completed as a 7,825,162,240-byte
  reconstructed XGD1 image, produced finalized four-hash evidence, atomically
  wrote schema-2 NO MATCH evidence against 2,689 Xbox DAT entries, and exposed
  the summary/duplicate-cleanup defects corrected here.

2026-07-17 - FriiDump 0.5.3.8 Xbox reference-path Redump evidence handoff

  * Routed successful GDR-8050L/cross-flashed GDR-8163B full-disc ISO results
    into the shared Redump DAT verifier and atomic schema-2 evidence report.
  * Added an explicit result contract carrying the actual finalized output path,
    byte count, output sectors, CRC32, MD5, SHA-1, and SHA-256 from the copied
    Xbox reference dumper into FriiDump's front end.
  * Reused the reference dumper's existing finalized full-file hash pass; the
    7.29 GiB Xbox ISO is not reread solely for DAT verification.
  * Corrected the copied DumpXboxGameDisc/bridge success handoff so FriiDump now
    receives the real dump/write result rather than assuming success after the
    call returns.
  * Kept the active target log open across the bridge return so shared Redump
    evidence and the final validation summary remain in the same Xbox run log.
  * Added `hash_source` and `representation_note` to schema-2 reports. Xbox
    reports state that successful acquisition and exact Redump hash identity are
    separate claims because documented synthetic XGD1 ranges may prevent a match.
  * Confirmed the prior live Red Faction II reconstructed hashes produce the
    expected `NO EXACT MATCH` result against the current Xbox DAT: 2,626
    same-size entries and zero CRC32/MD5/SHA-1 correlations.
  * Kept Xbox `-X` excluded from DAT verification because XISO is not a full
    Redump disc image.
  * Recorded the independent Super Smash Bros. Melee (USA) (En,Ja) (Rev 2)
    live validation: seed retrieval 3 seconds, full dump and STOP UNIT OK, and
    exact Redump match across size, CRC32, MD5, and SHA-1.
  * No firmware update, write, flash, erase, 3B06, 3B07, or FLASHUP path was
    added or modified.

2026-07-17 - FriiDump 0.5.3.7 PFES-aligned Redump evidence reporting

  * Replaced the compact MATCH/NO MATCH block with a field-by-field evidence
    presentation for image size, CRC32, MD5, and SHA-1.
  * Added explicit overall conclusions and confidence statements, including
    `VERIFIED AGAINST REDUMP` / `Exact archive match` for exact matches.
  * Added a closest-candidate path only when at least one hash correlates; when
    no hash correlates, FriiDump reports aggregate field-match counts instead
    of presenting an arbitrary same-size disc.
  * Advanced the Redump report to schema 2 while preserving the original
    top-level status/output/hash fields for compatibility.
  * Added SHA-256, expected DAT values, per-field PASS/FAIL evidence, match kind,
    match counts, overall conclusion, and confidence to the JSON report.
  * Corrected report/log separation: JSON structural writes no longer pass
    through the logged `fprintf` wrapper, so the run log no longer contains an
    incomplete mirror with omitted string values.
  * Reports are now written to a sibling `.tmp` file, flushed/synchronized,
    closed, and atomically moved over the final path. A failed write leaves the
    previous complete report untouched.
  * Documented the existing Xbox scope boundary accurately: the copied
    GDR-8050L reference-dumper bridge keeps its own full-file hash/sidecar path
    and is not yet routed through this DAT-verifier report.
  * Recorded a live GCC4244/B101 Sonic Mega Collection dump: media preflight OK,
    seed retrieval 3 seconds, full dump OK, STOP UNIT OK, 2324.52 seconds,
    2156.33 MiB/h, and exact Redump verification. Exact B101 parser metadata
    remains pending analyzer results; no parser profile was promoted here.
  * No firmware update, write, flash, erase, 3B06, 3B07, or FLASHUP path was
    added or modified.

2026-07-17 - FriiDump 0.5.3.6 automatic Redump DAT verification

  * Added automatic post-dump verification against Redump Logiqx XML DAT files.
  * Bundled stable GameCube, Wii, and Xbox DAT paths under `redump_dat/`.
  * A positive match requires output size, CRC32, MD5, and SHA-1 to agree;
    SHA-256 remains printed as a local integrity hash.
  * Added `--redump-dat-dir <dir>`, `--redump-report <file>`, and
    `--no-redump-verify`.
  * Added JSON reporting with DAT path, entries scanned, exact-match count,
    Redump game/ROM names, output hashes, size, and status.
  * DAT absence or a no-match result is reported clearly without deleting the
    output or changing a completed read into a destructive/error path.
  * No firmware update, write, flash, erase, 3B06, 3B07, or FLASHUP path was
    added or modified.

2026-07-10 - FriiDump 0.5.3.5
  * Promoted live INQUIRY `HL-DT-ST CDRW/DVD GCC4244/B103` to `known_supported_profile_hardening_live_validated`.
  * Recorded exact GCC-4244N B103 Stage5B profile evidence: JCS3 tokens, CDB base 0x894, gate 0x900386FB.
  * Recorded successful media preflight, 4-second seed retrieval, full Sonic Mega Collection dump, STOP UNIT, and Redump-matching hashes.
  * Recorded 2329.16-second runtime and 2152.04 MiB/h observed average.
  * Added FriiDump 0.5.3.5 consolidated HLDS live-validation report and advanced the next test target to GCC-4243N.

2026-07-08 - HLDS profile documentation sync v58

  * README now documents the Stage5B-promoted HLDS 0xE7 profile rows added in
    v57: GCC-4244N B103 and GDR-8163B revisions 0B30, 0D20, 0E15, 0L20,
    0L23, 0L30, and 0M26.
  * README now documents --hlds-profile-report <file> and records the validated
    GDR-8163B 0L30 Sonic Mega Collection dump in the observed fleet table.
  * ChangeLog now records the v57 profile-table update so package docs match
    the code.

2026-07-08 - HLDS promoted parser-signature profile update v57

  * Added GCC-4244N B103 as a promoted Stage5B E7 parser-signature profile
    using CDB base 0x894, gate 0x900386FB, and tokens
    HL;IT;RPC;RPC_JCS3;RPC_SUFFIX.
  * Promoted the observed GDR-8163B inventory variants from family fallback
    rows to exact parser-signature profile rows: 0B30, 0D20, 0E15, 0L20,
    0L23, 0L30, and 0M26.
  * Recorded the exact GDR-8163B CDB/gate evidence: 0B30 0x5E0/0x90025030,
    0D20 0x5E0/0x90024AE7, 0E15 0x5D8/0x900247D1, 0L20
    0x5E0/0x90024C8F, 0L23 0x5E0/0x90024D5A, 0L30
    0x5E0/0x90025021, and 0M26 0x5E0/0x90024FF7.
  * Kept the static CDB/gate fields as report/evidence metadata only; FriiDump
    does not use them as host-side commands or runtime addresses.
  * No FLASHUP, 3B06, 3B07, updater, write, flash, erase, or commit paths were
    added or touched.


2026-07-01 - HLDS 0xE7 log-noise cleanup

  * GDR-8050L modified-0xE7 no-prefetch read-schedule logging is now emitted once per run/profile selection instead of once per read chunk.
  * Accelerated-profile fallback resets the one-shot schedule log so the fallback profile is still visible exactly once.
2026-06-30 / GDR-8050L + GDR-8081N probe v2

* Fixed the modified GDR-8050L speed-probe-pending profile so it defaults to Method 8; the prior combined build could still present/run like the static single-window fallback.
* Made seed cracking fail the run when the experimental GDR-8081N cache-profile probe cannot validate any candidate, instead of continuing after a failed probe.
* Improved visible probe logging so the first probe line starts on a fresh line after the seed-retrieval prompt.

2026-06-30 / GDR-8050L speed-probe visibility fix

* Corrected the GDR-8050L modified-0xE7 speed-probe build so the initial
  drive info reports an explicit speed-probe-pending profile instead of
  looking like the old static single-window fallback.
* Probe status is now printed with direct visible output even in non-VERBOSE
  builds, so runs show each GDR-8050L/GDR-8081N candidate and the selected
  profile during the seed-retrieval phase.

2026-06-30 / seed-retrieval elapsed timer

* Added elapsed timing to the GC/Wii seed retrieval line.  The console/log now reports
  `Retrieving disc seeds, this might take a while... [Elapsed:HH:MM:SS] OK`
  or the same elapsed marker before `Failed`.
* Added `Seed elapsed` to the HLDS 0xE7 validation summary.
* Documented seed-retrieval expectations and kept timeout behavior manual/operational
  rather than adding a hard timeout that could interrupt a blocked optical-drive I/O
  command unsafely.

2026-06-30 / combined GDR-8081N probe + GDR-8050L speed-probe update

* Combined the GDR-8081N experimental 0xE7 cache-profile probe layer with a
  GDR-8050L modified-firmware speed probe so two fleet tests can be run from the
  same source package.
* GDR-8050L modified 0xE7 now keeps the proven 0x80000000 one-window/no-prefetch
  profile as fallback, but probes guarded no-prefetch 3-window, 2-window, and
  5-window candidates before seed cracking.
* If an accelerated GDR-8050L profile later fails during dumping, FriiDump logs
  the failure and falls back to the proven single-window profile for the rest of
  the run.
* GDR-8081N remains experimental: it is recognized as a candidate, enters the
  seed path, and probes multiple cache profiles rather than being advertised as
  confirmed GC/Wii support.
* README wording now clarifies that GDR-3120L support means the Xbox ripping path
  is preserved; it is not claimed as a GC/Wii-tested drive.

2026-06-30 / GDR-8081N experimental 0xE7 probe layer

* Added GDR8081N/GDR-8081N as an experimental HLDS 0xE7 GC/Wii candidate.
* Added a small runtime cache-profile probe before seed cracking: Type4-derived
  0x80000000/5-window, single-window 0x80000000, Type1-base 0x00a13000,
  and a moving-cache candidate 0x7fff7f00.
* Fixed unsupported-drive HLDS profile display by zero-initializing dvd_drive
  state and returning zero cache/window fields when no 0xE7 profile is active.

2026-06-30 / GDR-8050L modified 0xE7 GC/Wii test profile

* Added a special HLDS profile for GDR8050L/GDR-8050L drives running cross-flashed
  or modified firmware with 0xE7 memdump support added.
* The special profile keeps the Type4 cache geometry, base 0x80000000 and five
  16-sector memory windows, but defaults GC/Wii tests to Method 8.
* Stock GDR-8050L firmware is still documented as Xbox-path only; this GC/Wii
  path is explicitly a modified-firmware experiment and does not replace the
  existing GDR-8050L challenge-table Xbox dumper or GDR-3120L vendor-unlock path.

FriiDump 0.5.3.2 HLDS 0xE7 validation summary and speed-log update

- Added an end-of-run HLDS 0xE7 validation summary for GC/Wii dumping.
- The summary records model, DIC-style profile, cache base, memory-window count, seed-read status, dump status, STOP UNIT status, duration, and observed average ISO-payload speed.
- Documented observed Sonic Mega Collection validation speeds for GCC-4244N/B103 and GCC-4243N/A102, with GCC-4160N/0010 left as in-progress pending hash verification.

2026-06-29 / HLDS 0xE7 AutoPlay warning

* Added explicit Windows AutoPlay warning before non-Xbox HLDS 0xE7 GC/Wii
  volume-lock and seed reads.
* GCC-4160N Type1 testing confirmed users may need to disable AutoPlay and
  close File Explorer/"insert a disc" dialogs even when FriiDump applies
  the shared volume guard.

FriiDump 0.5.3.2 HLDS 0xE7 DIC profile-layer update

- Added a DIC-style HLDS 0xE7 profile layer for GC/Wii cache dumping.
- Type1 GCC-4160N/GCC-4240N now use cache base 0x00a13000 with one
  16-sector memory window.
- Type3/Type4 retain cache base 0x80000000 with five 16-sector memory windows.
- GCC-4241N/GCC-4242N are identified as Type2 experimental profiles but are
  not yet promoted to DIC-equivalent support.
- Command/method logging now prints the selected HLDS 0xE7 profile, cache base,
  and memory-window count.
- GDR-3120L Xbox ripping support remains on the explicit vendor lock/unlock
  path; unsupported Xbox-forced drives still fail fast rather than falling back
  to GC/Wii methods.

0.5.3.2-gcc4243n-method8-split-recovery (29/06/2026)
- Added Method 8 split recovery for GCC-4243N/GCC-4244N GC/Wii dumping.
  After normal Method 8 and dump-level retries fail for a 16-sector block,
  FriiDump now tries to reconstruct that block using 8-, 4-, 2-, then
  1-sector streaming chunks, validates the rebuilt block with the existing
  unscrambler/EDC path, and logs every attempted subrange.
- Preserved the shared FriiDump/Xbox log path and the GDR-3120L FF 08 01
  Xbox vendor lock/unlock path.
- Confirmed the DIC source lists TSSTcorp/Samsung Kreon-firmware candidates
  and GSA-4163B as an Xbox swap candidate; TSST/Kreon candidates remain
  recognized as vendor-unlock experiment profiles, while GSA-4163B remains
  documented as a separate swap-workflow target rather than being misrouted
  into the vendor-unlock path.
> jtryba / ChatGPT

FriiDump 0.5.3.2 GCC-4243/4244 default path and shared logging update

- Promoted HLDS GCC-4243N/GCC4243* and GCC-4244N/GCC4244* drives to
  Hitachi command 2 / Method 8 by default for GC/Wii dumping.  GCC-4244N was
  validated with Sonic Mega Collection; GCC-4243N is routed to the same path
  for the next fleet test.
- Extended the existing Xbox reference logger into a shared FriiDump run logger.
  Every invocation now creates a log: `<output>.log` when an output file is
  known, `friidump_<drive>.log` when only a drive is known, otherwise
  `friidump.log`.
- Kept GDR-3120L Xbox ripping support on the FF 08 01 vendor lock/unlock path.
- Forced Xbox/XGD mode now refuses non-supported Xbox unlock profiles instead
  of falling back to GC/Wii dumping methods.


2026-06-29  jtryba

	* libfriidump/xbox_ref/utils.c: Add SHA-256 to the copied GDR-8050L
	  reference full-file hash calculation, console/log summary, and XDVD/media
	  sidecar hash metadata.
	* src/friidump.c: Suppress the legacy FriiDump hash footer for the GDR-8050L
	  copied-reference path so empty CRC32/MD5/SHA-1/SHA-256 lines are not
	  printed after the authoritative Xbox reference summary.


2026-06-28  jtryba / ChatGPT

	* libfriidump/xbox_ref/xbox_ref_log.[ch], libfriidump/xbox_ref/utils.c:
	  Keep carriage-return progress updates on the console only. The GDR-8050L
	  log now remains a line-oriented diagnostic record with SCSI dumps,
	  phase markers, hash summaries, metadata writes, and final elapsed time,
	  instead of recording every transient progress repaint as a separate line.
	  Full READ DVD STRUCTURE 0xAD payloads remain untruncated in the log.


2026-06-29  jtryba

	* GDR-8050L reference hook: preserve the original dumper timing sleeps
	  exactly (tray-cycle 3000 ms, readiness settle 1500 ms or 10000 ms
	  fallback, RefreshVolume's 1000 ms plus the explicit post-refresh
	  2000 ms settle).
	* Xbox/GDR-8050L filename behavior now matches the reference dumper: the
	  first unlock/metadata pass derives Title[MediaID].iso/.xiso from the XBE
	  title and DMI media ID by default. Supplying -i <file> or -X <file> is an
	  explicit filename override; bare -i or bare -X uses the derived name.
	* If FSCTL_LOCK_VOLUME fails, report that the copied reference dumper treats
	  it as fatal before XBE/title probing, instead of collapsing the error into
	  a generic sector 0..15 dump failure.


2026-06-28  jtryba

	* GDR-8050L Xbox redump/XISO path: dispatch native Windows runs directly
	  into a copied-in reference implementation from the original Xbox dumper
	  (main.c/utils.c/unlock.c helpers) instead of approximating the state
	  machine inside FriiDump's generic read loop.
	* Preserve GDR-3120L on the separate FF 08 01 vendor command path and leave
	  non-native drives on FriiDump's existing command/method fallback behavior.
	* Keep STOP UNIT/spin-down cleanup after the reference dump attempt.


2026-06-29  jtryba

	* libfriidump/dumper.c, libfriidump/dvd_drive.c, libfriidump/disc.c:
	  Align the GDR-8050L Xbox redump state machine more literally with the
	  reference dumper. UnlockDrive() calls are treated as required state actions
	  rather than fatal capacity gates; RefreshVolume/settle/ready/speed/volume-lock
	  behavior is mirrored for the post-media-change metadata phase; STOP UNIT is
	  reserved for final cleanup.
	* src/friidump.c:
	  Initialize Xbox dump failure-sector reporting before setup begins.
FriiDump 0.5.3.2 GDR-8050L main.c alignment follow-up

- Relaxed the GDR-8050L UnlockDrive() port to match the original dumper: the
  final READ CAPACITY observation is diagnostic, not a fatal condition.  This
  allows the first handshake to prime the drive before the required media-change
  event instead of failing early while the visible DVD-video view still reports
  6,992 sectors.
- Added visible stage messages for the GDR-8050L redump path: primary handshake,
  media-cycle, re-handshake, metadata/auth kick, video-view restore, and final
  game-view handshake.
- Changed the GDR-8050L redump 32-sector game lead-in to the original dumper's
  zero-fill behavior.  The lead-in read/fallback experiment remains for non-8050L
  Xbox strategies.
- Preserved GDR-3120L on the separate FF 08 01 vendor lock-state path and kept
  non-native drives on FriiDump's original behavior unless Xbox mode is forced.
> jtryba

FriiDump 0.5.3.2 Xbox flow/build follow-up

- Corrected the GDR-8050L redump-style state machine to follow the original
  dumper order: unlock/read game metadata, media-cycle back to the visible
  DVD-video view, capture video L0/L1, unlock again, read game lead-in/game
  data, then write PFI/DMI/redump JSON.
- Added START STOP UNIT LoEj tray-cycle support for the GDR-8050L redump path.
- Added unconditional STOP UNIT / spin-down cleanup after dump attempts, on
  success or failure.
- Clarified docs to avoid describing the DVD-video section itself as locked;
  the video section is the normal visible DVD-video view.

0.5.3.2 (28/06/2026)
- Added Xbox redump retry/recovery kicks around GDR-8050L view-switch reads,
  mirroring the original dumper cadence: re-trigger auth, set maximum speed,
  and issue harmless READ(10) probes before retrying game-view reads.
- Added visible Xbox failure diagnostics that report the failing phase, source
  LBA, and reconstructed output LBA even in non-VERBOSE builds.
- Improved Xbox redump failure reporting so the generic final sector range no
  longer always falls back to 0..15 after a later layout phase fails.
> jtryba

0.5.3.2 (28/06/2026)
- Fixed forced Xbox/XGD (`-T 4`) routing so GDR-8050L/GDR-3120L dumps use
  the native Xbox direct MMC/SCSI path instead of displaying or selecting the
  original GC/Wii Hitachi command 2 / method 9 memdump path.
- Reworded the runtime status text: Xbox initialization no longer says
  "Retrieving disc seeds", because seed cracking is only for GC/Wii paths.
- Xbox `-i` now prints that it is writing an Xbox/XGD redump-style ISO.
- Added single-sector READ(10) fallback inside Xbox redump range reads so
  visible DVD-video boundaries and other edge ranges are retried like the original
  dumper before the dump is declared failed.
- Preserved the program version at 0.5.3.2; the preceding MSVC-only build-task
  refresh did not receive a program version bump.
> jtryba

0.5.3.2 (28/06/2026)
- Added `-D` / `--dvd` as a clear standard DVD-ROM mode available to all
  drives. It is equivalent to forcing disc type `-T 3` and uses FriiDump's
  original DVD/raw/ISO path rather than Xbox unlock or metadata paths.
- Added DiscImageCreator-compatible Original Xbox/XGD1 redump layout constants
  to the redump JSON: XBOX_SIZE 3,820,880 sectors, layer break LBA 1,913,776,
  DVD start PSN 0x30000, Xbox/game start PSN 0x60600, and output game start
  LBA 0x30600 / 198144.
- Added a runtime sanity check that the hardcoded Xbox redump layout still
  matches the DiscImageCreator-compatible XGD1 constants before writing an
  Xbox redump-style ISO.
- Updated README, README.technical, XBOX.md, options, and CLI help to make
  standard DVD dumping and Xbox redump/XISO dumping commands clearer.
> jtryba
0.5.3.1 (28/06/2026)
- Added GDR-3120L/Kreon-style vendor helpers: get feature list (`FF 08 01 10`),
  set lock state 0/2 (`FF 08 01 11 xx`), and disable error-skip
  (`FF 08 01 15 00`) before dumping.
- Added Samsung/Kreon-style Xbox-capable candidates TS-H352C, TS-H353A,
  SH-D162C, SH-D162D, SH-D163A, and SH-D163B for forced Xbox experiments
  when the drive firmware supports the FF 08 01 command family.
- Expanded the Hitachi-LG supported-drive list for GC/Wii profiles to include
  GDR-8082N/8083N/8084N, GDR-8161B/8162B/8163B/8164B,
  GCC-4160N/4240N/4243N/4244N/4247N, with notes for probable/error-prone
  related models; added GSA-4163B as an experimental Hitachi-LG profile.
- Added AUTHORS credit for scsi1.pas / The Specialist and the xboxhacker.net
  contributors for the GDR-8050L challenge-table handshake, and DiscImageCreator
  reference credit for the FF 08 01 vendor lock-state path.
- Added native Xbox/XGD disc support.
- Added Xbox disc type selector: `-T 4`.
- Added GDR-8050L profile with challenge-table handshake, partition unlock,
  sticky descramble enablement, and direct 2048-byte READ(10) dumping.
- Corrected the GDR-3120L profile to use the DiscImageCreator-style FF 08 01 vendor feature-list and lock-state command family instead of treating it as a plain direct READ(10) drive.
- Changed Xbox `-i` output from a simple unlocked host-view copy to a
  redump-style Original Xbox/XGD1 2048-byte-sector reconstruction with locked
  video L0/L1, padding, 32-sector game lead-in, and unlocked game/XDVDFS data.
- Deferred the GDR-8050L unlock until dump time so redump-style ISO output can
  capture the visible DVD-video view before switching to the unlocked game view.
- Added optional Xbox redump metadata output: `.pfi.bin`, `.dmi.bin`, and
  `.redump.json` next to Xbox `-i` ISO dumps when the drive exposes PFI/DMI.
- Xbox `-i` and `-X` both attempt to read the 32-sector game lead-in and
  zero-fill only unreadable lead-in sectors.
- Confirmed non-Xbox drives remain on FriiDump's original autodetection and
  command/method paths unless Xbox mode is explicitly forced with `-T 4`.
- Added Xbox XISO output mode: `-X <file>` / `--xiso <file>`.
- XISO output probes XDVDFS at LBA 306112, falls back to LBA 32, copies
  dual-layer retail-style images through LBA 1913920, and uses the XDVDFS
  VolumeSize byte field for single-layer/homebrew-style images.
- XISO output attempts to read the 32-sector lead-in from the active drive view
  and zero-fills only unreadable lead-in sectors.
- Added MMC/SCSI helpers for READ CAPACITY(10), READ(10), MODE SENSE(10),
  MODE SELECT(10), MODE SELECT(6), READ DVD STRUCTURE, and TEST UNIT READY.
- Updated documentation for Xbox usage, options, output modes, and the
  GDR-8050L handshake.
- Fixed `-A` / `--allmethods` so each command/method attempt opens a
  fresh drive/disc object and binds the command-specific memory-dump function
  before testing the method. The sweep now includes Xbox direct READ(10)
  method 10.
- Fixed progress timing/statistics propagation from the dump routine to the
  command-line front-end.
- Fixed the command-line process return code so successful operations return
  `EXIT_SUCCESS` and failures return `EXIT_FAILURE`.
- Replaced the legacy MD5 and SHA-1 hash implementations with the fixed
  implementations from the merged hash-upgrade branch.
- Added SHA-256 hashing/reporting for raw ISO, unscrambled ISO, and Xbox XISO
  outputs while preserving existing CRC32/MD5/SHA-1 reporting.
- Updated the GDR-8050L challenge-table path to use the fixed SHA-1
  implementation for its RC4 key derivation.
> jtryba
0.5.3 (15/03/2010)
- Fixed failing after 1st DL media layer with non-Hitachi methods.
- Fixed still hashing with 'nohash' parameter when resuming.
- Fixed resuming larger files (~4 GB).
- Fixed unscrambling larger files.
- Faster file unscrambling.
- Slight modifications to methods;
  possible performance increase with Hitachi based devices.
- Restructured methods and added some new ones.
- Added layer break information.
- Added current position output when error occurs.
- Added SH-D162A, SH-D162B, SH-D162C & SH-D162D as supported.
> Jackal, gorelord4e, themabus
0.5.2 (10/01/2010)
- Corrected handling of standard DVDs
  (type should be forced to 3, when dumping or unscrambling).
- Better response to 'speed' parameter.
- Uniform raw output for all devices: unscrambled data + headers.
- Slight performance increase (~1650 MB/h on LH-18A1H).
- Added LH-18A1P, LH-20A1H, LH-20A1P to list of supported devices.
> Jackal, themabus
0.5.1 (01/12/2009)
- New command 'vanilla 2384'.
- Restructured methods, some now support optional parameters.
- Ability to select standard DVDs as source.
- Limited recognized Lite-On drives to LH-18A1H.
> Jackal, themabus
0.5.0 (27/11/2009)
- Regions: Italy, France, Germany, Spain, Australia, PAL-X, PAL-Y.
- Updated publisher list from http://wiitdb.com/Company/HomePage
- Included GDR8082N & GDR8161B as supported Hitachi drives.
- Lite-On, Renesas & vanilla memory buffer access commands.
  Lite-On tested on LH-18A1H, should work on many more
  (LH*, SH, DH*, DW* & possibly other MediaTek drives)
- Shifted methods 1..4 to 0..3 and added new ones 4..6
  Associated known drives with default methods.
- Additional commandline parameters:
  stop, speed, command, type, size
- Some minor changes and fixes.
> Jackal, Truman, themabus
0.4 (08/03/2008)
- Support for DL Wii DVDs.
> mado3689
0.3 (06/10/2007)
- First public release.

Build packaging note:
  - Fixed direct MSVC response-file build for copied GDR-8050L reference hook by avoiding duplicate sha1.obj output names and by exporting disc_get_device()/dvd_get_device().


2026-06-29 / HLDS 0xE7 Windows volume guard
---------------------------------------------

* The existing Xbox FSCTL_LOCK_VOLUME-style guard is now exposed as a shared
  FriiDump volume lock helper.
* HLDS 0xE7 GC/Wii paths apply the guard before disc seed retrieval, so Windows
  Explorer/AutoPlay is less likely to interrupt GCC-4160N/GCC-4240N Type1 seed
  reads with an "insert a disc" prompt.
* The guard is warning-only: if Windows already owns a transient handle, FriiDump
  logs the failure and continues so the hardware read result remains authoritative.


2026-06-30 / GCC-4160N Type1 confirmed
---------------------------------------

* Updated observed Sonic Mega Collection (US) fleet results: GCC-4160N/0010
  Type1 (0x00a13000, one memory window) completed a verified matching dump.
* Recorded observed rate 1613.08 MB/h and total runtime 3127.98 seconds.
* Documented that AutoPlay had to be disabled for reliable GCC-4160N seed
  retrieval even though the shared volume guard succeeded.

2026-07-01  HLDS 0xE7 GDR-8081N scan mode

	* Added --hlds-e7-scan / --scan-log for fast HIT 0xE7 cache-base discovery without seed cracking or full dumping.
	* The scan fills the drive cache with tiny reads, tries candidate cache/memdump bases, scores raw-sector ID headers, and writes a JSON report.
	* Seeded GDR-8081N scan candidates from known HLDS families plus first-pass GDR-8081N firmware/binary constants and aliases.
	* Preserved GDR-8050L modified-firmware read-quiet behavior and GDR-3120L Xbox-only support wording.

2026-07-10 - FriiDump 0.5.3.3
  * Added media-ready preflight before disc detection and GC/Wii seed retrieval.
  * TEST UNIT READY now blocks vendor seed/cache commands when no disc is present.
  * Added bounded retry for transient becoming-ready / unit-attention states.
  * Added clear no-disc and not-ready sense reporting.
  * Added live INQUIRY alias `GCC4244/B103` for the promoted GCC-4244N B103 profile.
  * Promoted the successfully validated GDR-8163B 0L20, 0D20, 0B30, 0E15, and 0M26 rows to live-validated status; retained 0L30 live validation.
  * Added a consolidated real-hardware validation report with Redump comparisons.


2026-07-10 - FriiDump 0.5.3.4
  * Corrected Windows/Linux MMC error semantics: ignore_errors now suppresses diagnostics only and no longer converts failed commands into success.
  * Windows SCSI pass-through now treats non-GOOD SCSI status as command failure even when DeviceIoControl succeeds.
  * Strengthened media preflight: TEST UNIT READY is followed by READ CAPACITY(10), requiring a nonzero 2048-byte logical-block medium before vendor seed/cache commands.
  * Fixed empty-tray false positive observed on HL-DT-ST CDRW/DVD GCC4244/B103 over USB.
  * Added completed GDR-8163B 0L23 Redump-matching validation result.
