]> FriiDump Source - friidump.git/blob - docs/reports/FRIIDUMP_NATIVE_REPORT_CANDIDATE6_PLATFORM_CLASSIFICATION.md
FriiDump 0.5.3.16: finalize release identity and documentation
[friidump.git] / docs / reports / FRIIDUMP_NATIVE_REPORT_CANDIDATE6_PLATFORM_CLASSIFICATION.md
1 # FriiDump native-report candidate6 platform classification
2
3 ## Live evidence
4
5 Candidate5 was tested with a stock `HL-DT-ST CDRW/DVD GCC4244` firmware
6 `B101` and a retail copy of *Super Smash Bros. Melee*.
7
8 The partial ISO begins with disc ID `GALE01`. Its first 32 bytes contain:
9
10 - Wii magic at byte `0x18`: `0x00000000`
11 - GameCube magic at byte `0x1c`: `0xc2339f3d`
12
13 Candidate5 nevertheless reported `Wii_DL`, 4,155,840 expected sectors,
14 `Contains update: Yes`, and native-report platform `wii`. The legacy
15 capacity classifier had accepted an out-of-range dummy read instead of
16 receiving the expected LBA-out-of-range sense response.
17
18 Candidate5's other live corrections passed:
19
20 - the native report was written beside the retargeted log;
21 - cancellation was represented as partial output;
22 - completed sectors and bytes matched the file;
23 - throughput used completed output bytes and measured dump duration.
24
25 ## Candidate6 correction
26
27 For automatic GameCube/Wii detection, FriiDump now reclassifies the disc
28 after unscrambling sector 0:
29
30 1. `0x5d1c9ea3` at byte `0x18` means Wii.
31 2. Otherwise, `0xc2339f3d` at byte `0x1c` means GameCube.
32 3. Otherwise, the earlier classifier result is retained.
33
34 A GameCube header sets:
35
36 - disc type `GameCube`;
37 - expected sector count `712880`, unless `-S` was explicitly supplied;
38 - native-report platform `gamecube`;
39 - no Wii update-partition claim.
40
41 Explicit `-T` selections are never overridden.
42
43 ## Validation
44
45 The shared fixture executable now tests:
46
47 - captured `GALE01`-shaped GameCube header classification;
48 - Wii header classification;
49 - unknown magic;
50 - truncated input.
51
52 The Windows live-report validator also reads the first 32 bytes of a
53 cancelled output and requires the native report, console disc type, and
54 expected geometry to agree with the platform magic.