# FriiDump native-report candidate6 platform classification

## Live evidence

Candidate5 was tested with a stock `HL-DT-ST CDRW/DVD GCC4244` firmware
`B101` and a retail copy of *Super Smash Bros. Melee*.

The partial ISO begins with disc ID `GALE01`. Its first 32 bytes contain:

- Wii magic at byte `0x18`: `0x00000000`
- GameCube magic at byte `0x1c`: `0xc2339f3d`

Candidate5 nevertheless reported `Wii_DL`, 4,155,840 expected sectors,
`Contains update: Yes`, and native-report platform `wii`. The legacy
capacity classifier had accepted an out-of-range dummy read instead of
receiving the expected LBA-out-of-range sense response.

Candidate5's other live corrections passed:

- the native report was written beside the retargeted log;
- cancellation was represented as partial output;
- completed sectors and bytes matched the file;
- throughput used completed output bytes and measured dump duration.

## Candidate6 correction

For automatic GameCube/Wii detection, FriiDump now reclassifies the disc
after unscrambling sector 0:

1. `0x5d1c9ea3` at byte `0x18` means Wii.
2. Otherwise, `0xc2339f3d` at byte `0x1c` means GameCube.
3. Otherwise, the earlier classifier result is retained.

A GameCube header sets:

- disc type `GameCube`;
- expected sector count `712880`, unless `-S` was explicitly supplied;
- native-report platform `gamecube`;
- no Wii update-partition claim.

Explicit `-T` selections are never overridden.

## Validation

The shared fixture executable now tests:

- captured `GALE01`-shaped GameCube header classification;
- Wii header classification;
- unknown magic;
- truncated input.

The Windows live-report validator also reads the first 32 bytes of a
cancelled output and requires the native report, console disc type, and
expected geometry to agree with the platform magic.
