Операционная система MS DOS (том 2)


Характеристики дисководов - часть 7


Наиболее широко распространены флоппи-диски емкостью 360К, 1.2М, 720К, 1.44М. Их параметры приведены в следующей таблице:

Тип Емкость, Кбайтов Диаметр, дюймы Количество секторов на одну дорожку Количество цилиндров
1 360 5 9 40
2 1200 5 15 80
3 720 3 9 40
4 1440 3 18 80

Тип дискеты в приведенной таблице соответствует возвращаемому функцией disk_cfg.

Анализируя содержимое КМОП-памяти в машинах AT или установку переключателей конфигурации на материнской плате в машинах PC и XT, BIOS процессе инициализации создает таблицу параметров дискеты DPT (Diskette Parameter Table), а также одну или две таблицы параметров жесткого диска HDPT (Hard Disk Parameter Table). Если имеется специальный дисковый BIOS, то он сам создает таблицы HDPT.

Таблица параметров дискеты DPT имеет длину 10 байт, ее адрес располагается в области данных BIOS по адресу 0000:0078, что соответствует вектору прерывания INT 1Eh. Таблица содержит параметры, важные для работы дисковода:

(0) 1 srt_hut Биты 0...3 - SRT (Step Rate Time) - задержка для переключения головок, лежит в пределах 1-16 мс и задается с интервалом 1 мс (0Fh - 1mc, 0Eh - 2 mc, 0Dh - 3 mc, ...);

биты 4...7 - задержка разгрузки головки, лежит в пределах 16-240 мс и задается с интервалом 16 мс (1 - 16 mc, 2 - 32 mc, ..., 0Fh - 240 mc).

(+1) 1 dma_hlt Бит 0 - значение этого бита, равное 1, говорит о том, что используется прямой доступ к памяти (DMA);

биты 2...7 - время загрузки головок HLT - интервал между сигналом загрузки головок и началом операции чтение/запись, лежит в пределах 2-254 мс и задается с интервалом 2 мс (1 - 2 mc, 2 - 4 mc, ..., 0FFh - 254 mc).

(+2) 1 motor_w Задержка перед выключением двигателя.
(+3) 1 sec_size Код размера сектора в байтах (0 - 128 байтов, 1 - 256, 2 - 512, 3 - 1024).
(+4) 1 eot Номер последнего сектора на дорожке
(+5) 1 gap_rw Длина межсекторного промежутка для чтения/записи.
(+6) 1 dtl Максимальная длина передаваемых данных, используется когда не задана длина сектора.
(+7) 1 gap_f Длина межсекторного промежутка для операции форматирования.
(+8) 1 fill_char Байт-заполнитель для форматирования (обычно используется F6h).
(+9) 1 hst Время установки головки в миллисекундах.
(+10) 1 mot_start Время запуска двигателя в 1/8 долях секунды.
<


- Начало -  - Назад -  - Вперед -