Работа BIOS с НГМД

Работа BIOS с НГМД. Програмное управление дискетой точнее говоря, адаптером НГМД осуществляется с помощью драйвера BIOS, вызов которого осущес- твляется через прерывание int 13. Методика вызова конкретных фун- кций стандартна, то есть номер функции загружается в ah, ос- тальные параметры в другие регистры общего назначения, для адре- совки буферов так же используется регистровая пара esbx. Всего стандартный драйвер поддерживает 6 функций работы с НГМД с номерами от 0 до 5. Перечислим их в порядке возрастания 0 - Сброс системы НГМД 3 - Записать сектор 1 - Прочитать состояние 4 - Проверить сектор 2 - Прочитать сектор 5 - Разметка дорожки Все функции выполняются, согласовываясь с базовой дисковой таблицей, на которую указывает вектор 1e. Разумеется пользова- тель может модифицировать этот вектор и создать свою таблицу.

При загрузке ОС BIOS инициализирует ее, а DOS модифицирует, чтобы улучшить производительность дискет.

Структура этой таблицы сле- дующая везде, где не сказано иное, время указывается в квантах системного таймера. Смещ Содержимое 0 биты 4-7 время перехода с дорожки на дорожку в млс биты 0-3 время подема головки после чтениязаписи 1 бит 0 1 исп. DMA , 0 DMA не используется биты 2-7 время опускания головок 2 время не остановки двигателя после окончания чтениязаписи 3 размер сектора 0128, 1256, 2512, 31024 4 номер последнего сектора на дорожке 5 длина межсекторного промежутка для операций чтениязаписи 6 Максимальная длина передаваемых данных 7 длина межсекторного промежутка для операции форматирования 8 символ-заполнитель для форматирования обычно f6 9 время позиционирования головок a время разгона мотора в 18-секундных интервалах Также в BIOS Data Segment содержатся следующие параметры НГМД 0043e требуется рекалибрация флоппи-дисковода бит 0A, бит 1B, etc. 0043f мотор дискеты включен бит 0drive A, бит 1B, etc. 00440 время до выкл. мотора.

Если 0, то мотор выключается 00441 код ошибки дискеты то же, что возвращается по int 13 00442 область информации состояния контроллера дискет 7байт Некоторые форматы дисков, принятые в MS-DOS Начиная с MS-DOS v2.0 возможна записьчтение практически лю- бых физических форматов дискет.

Эта возможность осуществляется использованием механизмом загружаемых драйверов устройств.

Появ- ление в последнее время расширенных версий BIOSa практически уп- разнило понятие стандартный формат, теперь стандартным можно считать практически любой формат, который сответствует специфика- ции MS-DOS. Вообще, появление новых форматов тесно связано с историей раз- вития DOS. Первоначальная версия MS-DOS v1.0 поддерживала только формат, обозначенный ниже как 1.0 следующая версия 1.1 добави- ла 1.1, а версия 2.0 - 2.0. Короче говоря, почти каждая вер- сия DOS приносила что-то новое.

Все, что из этого вышло, пред- ставлено ниже. Возможные варианты форматов в зависимости от типа дисковода 360 Кб дисковод 1 160 Kb 40 дорожек 8 секторов 1 сторона 180 Kb 40 дорожек 9 секторов 1 сторона 200 Kb 40 дорожек 10 секторов 1 сторона 1.1 320 Kb 40 дорожек 8 секторов 2.0 360 Kb 40 дорожек 9 секторов 400 Kb 40 дорожек 10 секторов 420 Kb 42 дорожки 10 секторов 430 Kb 43 дорожки 10 секторов 720 Кб дисковод 35 и 525 720 Kb 80 дорожек 9 секторов 747 Kb 83 дорожки 9 секторов 800 Kb 80 дорожек 10 секторов 820 Kb 82 дорожки 10 секторов 830 Kb 83 дорожки 10 секторов 1.2 Мб дисковод 180 Kb 40 дорожек 9 секторов 1 сторона 200 Kb 40 дорожек 10 секторов 1 сторона 320 Kb 40 дорожек 8 секторов 360 Kb 40 дорожек 9 секторов 400 Kb 40 дорожек 10 секторов 420 Kb 42 дорожки 10 секторов 430 Kb 43 дорожки 10 секторов 720 Kb 80 дорожек 9 секторов 747 Kb 83 дорожки 9 секторов 800 Kb 80 дорожек 10 секторов 820 Kb 82 дорожки 10 секторов 830 Kb 83 дорожки 10 секторов 1.2 Mb 80 дорожек 15 секторов 1.36 Mb 80 дорожек 17 секторов 1.39 Mb 82 дорожки 17 секторов 1.41 Mb 83 дорожки 17 секторов 1.44 Mb 80 дорожек 18 секторов 1.47 Mb 82 дорожки 18 секторов 1.49 Mb 83 дорожки 18 секторов 1.44 Мб дисковод 720 Kb 80 дорожек 9 секторов 800 Kb 80 дорожек 10 секторов 820 Kb 82 дорожки 10 секторов 830 Kb 83 дорожки 10 секторов 1.44 Mb 80 дорожек 18 секторов 1.52 Mb 80 дорожек 19 секторов 1.60 Mb 80 дорожек 20 секторов 1.64 Mb 82 дорожки 20 секторов 1.68 Mb 83 дорожки 20 секторов 1.68 Mb 80 дорожек 21 сектор 1.72 Mb 82 дорожки 21 сектор 1.74 Mb 83 дорожки 21 сектор Скорости передачи данных Дисковод 360-720 525 - 300 Кбит 720 35 - 250 Кбит 1.2 525 - 300 Кбит DD 500 Кбит HD 1.44 35 - 250 Кбит DD 500 Кбит HD 2.88 35 - вероятно 1000 Кбит Дисковод 1.44 Мб вообще интересен тем, что при той же скорости передачи данных обеспечивает гораздо более высокую плотность за- писи, чем дисковод 1.2 Мб. По этой причине при форматировании на 720-800 Кб скорость передачи ниже.