Когда-то писал читалку битых секторов на дискете. Читала сектор много раз, кодировала прочитанное обратно в MFM, и выводила для визуального редактирования. Если искажён хотя бы один бит, то дальше читается как бы мусор, но читалка позволяла найти правильную байтовую синхронизацию.
Поток с битовыми сдвигами и битыми секторами можно закодировать в MFM, а потом поискать в этих "RAW"-данных синхропоследовательности других секторов, с поправкой на некоторые искажения, внесённые декодером при чтении трека.
А IOCTL_FDCMD_READ_TRACK может читать не с первого сектора? А потом пройтись MFM кодером-декодером для получения всего что есть на треке.





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
