Книга: Аппаратные интерфейсы ПК. Энциклопедия

1.4. Системная поддержка LPT-порта

1.4. Системная поддержка LPT-порта

Системная поддержка LPT-порта включает поиск установленных портов и сервисы печати (Int 17h, см. п. 8.3.3). В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам 3BCh, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0408h, 040Ah, 040Ch, 040Eh. Эти ячейки хранят адреса портов LPT1-LPT4, нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие тайм-аут для этих портов.

Поиск портов обычно ведется достаточно примитивно — по базовому адресу (в регистр данных предполагаемого порта) выводится тестовый байт (AAh или 55h), затем производится ввод по тому же адресу. Если считанный байт совпал с записанным, предполагается, что найден LPT-порт; его адрес помещается в ячейку BIOS Data Area. Базовые адреса портов могут быть впоследствии изменены программно. Адрес порта LPT4 система BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных.

Обнаруженные порты инициализируются — записью в регистр управления формируется и снимается сигнал Init#, после чего записывается значение 0Ch, соответствующее исходному состоянию сигналов интерфейса. В некоторых случаях сигнал Init# активен с момента аппаратного сброса до инициализации порта при загрузке ОС. Это можно заметить по поведению включенного принтера во время перезагрузки компьютера — у принтера надолго гаснет индикатор On-Line. Следствие этого явления — невозможность распечатки экранов (например, параметров BIOS Setup) по нажатию клавиши Print Screen до загрузки ОС.

Оглавление книги


Генерация: 1.108. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз