Я сначала проверял, отправлял пронумерованные пустые пакеты, определенное количество, и смотрел сколько приходит. При использовании JEDI HID действительно пакеты терялись, хотя USB монитор все пакеты видел и принимал (видимо в Jedi так буфер устроен что если его вовремя не считать, то он затирается следующим пакетом) Поэтому пересел на WinLIB USB. Там все четко сколько ушло, столько и получишь, к тому же дорожки читаются нормально, нет потерянных секторов и CRC у них нормальный.
Ну это я с MFM разбирался:
Если период 4мкс, то это или 0 или 1(зависит от того что было перед ним)
Если период 6мкс, то это или 00 или 1(зависит от того что было перед ним)
Если период 8мкс, то это 01 (но после 0 это 00 и период встречается только в маркерах 0xA1)
Если при начале декодирования выбрать не ту фазу (0 или 1), то получается совсем другая последовательность, так же и в межсекторных данных видимо происходит выпадание бит и в течении дорожки фаза меняется несколько раз.
Вобщем или как-то надо синхронизироваться по 8мкс периодам, или как я делаю ищу прямое значение маркера и сдвинутое, если найден сдвинутый, то меняю фазу и дальше до следующего маркера.
Вот мне интересно как ВГ это делает (ведь сепаратор я думаю тоже фазу не сдвигает, он ее только чуть подстраивает)





Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
Ответить с цитированием

