Przy okazji prac nad sterownikiem karty NEC USB dla Hadesa okazało się, że dwie partycje:
/dev/sdc1              2048   61439   59392     29M  c W95 FAT32 (LBA)
/dev/sdc2             61440  120831   59392     29M  c W95 FAT32 (LBA)

są to partycje FAT16 oznaczone jako FAT32.

Co ciekawe starsze sterowniki pod MiNT radzą sobie z tym prawidłowo i partycje działają normalnie, natomiast nowsze/aktualne "głupieją" i nie są w stanie odczytać partycji, błąd ponoć jest w sterowniku FATFS. Tak mi to wytłumaczył Klaudiusz :)

Najpierw ustala rodzaj FAT z identyfikatora partycji: 0x0B/0x0C daje FAT32 (linie 5266-5269).
Potem ma sprawdzić boot sector. Jeśli "sektory na FAT" (fat_length) = 0, to na pewno FAT32. Jeśli jest niezerowe, w komentarzu stoi tylko "potwierdzimy później", ale typ zostaje FAT32.
Następnie liczy układ partycji według FAT32: rozmiar FAT bierze z fat32_length, początek katalogu głównego z root_cluster pod $2C (czyli z etykiety "EDEN"), a początek danych z tych śmieci.
Na końcu ma przeklasyfikować na FAT16 według liczby klastrów. Liczba klastrów policzona z błędnego początku danych jest jednak bez sensu (przekracza zakres), więc ta korekta nie zachodzi.
Partycja trafia do val_bpb() jako FAT32 z "klastrem katalogu" 1313162309 i zostaje odrzucona.

Dla mnie to czarna magia :)

Było miło :) Do widzenia.