Тайминги проверяй. FFh - значит шина как раз в третьем состоянии. Либо накопитель не успел отработать команду чтения регистра (короткий IORn или недостаточный интервал между командами или мал промежуток между выдачей адреса и команды чтения или...), либо данные защелкнул раньше времени, либо опоздал с защелкиванием. Да, при чтении регистра надо проверять сигнал готовности данных, иначе тоже можно промахнуться. Тайминги лучше брать из расчета PIO-0, если накопитель принудительно не переводится в другой режим (хотя современные винты, как правило, по дефолту находятся в PIO-2, лучше перестраховаться). ... Кста, "остальные в единице" - это как? А IORn???
|