Низкоуровневое програмирование Главная - Реальный режим - Прерывания Bios - INT 1Eh: Указатель параметров дискеты.

INT 1Eh: Указатель параметров дискеты.

Этот вектор (0:0078) указывает на таблицу параметров дискеты, которую сервисная служба BIOS 13h использует для различных операций с дискетами.

В эту таблицу входят такие значения, как "время парковки головок" и "step rate time", оказывающие огромное влияние на скорость операций ввода-вывода дискеты. Можно создать RAM-резидентную версию этой таблицы и модифицировать некоторые ее параметры, чтобы изменить отдельные детали операций с дискетами. DOS создает модифицированную версию этой таблицы для улучшения производительности дискет. Странно, но DOS восстанавливает нормальные (более медленные) значения, когда возвращает управление прикладной программе.
Для того, что бы изм6енения в таблице вступили в силу, следует вызвать функцию 0 прерывания 13h
Формат таблицы следущий:
БайтЗначение
0
биты 3-0 : head unload time (0Fh = 240 мс)
биты 4-7 : bits 7-4: step rate (Fh=2мс,Eh=4мс,Dh=6мс, и т.д.)
1
бит 0 : испольховать DMA (всегда 0)
биты 1-7: head load time (01h = 4 мс)
2Время бездействия до отключения мотора FDD(в квантах времени, см. INT 08h)
3Байт в секторе (00h см. поле длинна данных, 01h = 256, 02h = 512, 03h = 1024)
По некоторым сведеньям 0 означает 128 байт
4Секторов на трек (Если для разных треков значение разное, то выбирается максимальное)
5Пауза между секторами на треке (2Ah для дискет размера 5.25", 1Bh для дискет размера 3.5")
6Длинна данных (если поле байт-в-секторе не нуль, то игнорируется)
7Размер паузы при форматировании (50h для дискет размера 5.25", 6Ch для дискет размера 3.5")
8Байт заполнения при форматировании (стандартно - F6h)
9Время парковки головок, в мс.
10Время запуска двигателя, в 1/8 секуды