Выполнив сброс контроллера, вам надо его проинициализировать, указав все рабочие параметры. Затем можно выдавать контроллеру команды, каждый раз проверяя регистр основного состояния ST и анализируя байты результата ST0...ST3. Можно предложить следующую последовательность действий:
• сброс контроллера выдачей в порт 3F2h байта с битом 2, установленным в 0;
• разрешение работы контроллера выдачей в этот же порт байта с битом 2, установленным в 1;
• выдача контроллеру команды "Инициализация";
• выдача контроллеру команды "Определить параметры";
• включение двигателя и ожидание в течение примерно 0,5 с (время разгона двигателя);
• установка головки в нужное положение командой "Поиск";
• проверка результатов установки командой "Чтение состояния прерывания";
• для IBM PC/AT установка нужной скорости передачи данных выдачей в порт 3F7h байт с соответствующим значением: 0 для дискет с высокой плотностью записи (HD), 1 для двойной плотности (DD) и 2 для одинарной (SD);
• если установка головок выполнена правильно, можно выдавать команды чтения или записи данных (перед этим надо правильно запрограммировать контроллер прямого доступа к памяти, если вы собираетесь использовать режим ПДП).