Видеопрограмма BIOS управляет работой двух дисплейных адаптеров,
которые могут быть установлены в IBM PC. Мы оставили ее для
рассмотрения в последнюю очередь, так как она самая большая и
сложная из всех программ, входящих в базовую систему ввода-вывода.
Секция поля данных BIOS, озаглавленная VIDEO DISPLAY DATA AREA и
начинающаяся со смещения 49H, содержит переменные, используемые
видеопрограммой. Все эти ячейки данных содержат значения,
используемые для работы с дисплейным адаптером в текущий момент
времени. Многие из этих значений копируют данные, находящихся в
регистрах дисплейных адаптеров, из которых запрещено чтение.
Видеопрограмма BIOS должна знать текущее значение таких переменных,
как CRT_MODE_SET и CRT_PALETTE при модификации регистров. В
отличие от порта вывода на системной плате (порт 61H), BIOS не
может прочитать эти регистры перед их изменением. Это означает,
что BIOS должна поддерживать в памяти образ регистра.
Все поля данных имеют содержательные комментарии, которые
поясняют назначение данных во время вашей работы с текстом BIOS.
Отдельного комментария заслуживает поле CURSOR_POSN. Так как
цветной графический адаптер может поддерживать более одной страницы
изображения в текстовом режиме, на каждой странице имеется свое
место для курсора. Контроллер CRT 6845 обслуживает только курсор
текущей страницы. Когда BIOS переключается со страницы на страницу,
контроллер запоминает положение курсора на соответствующей
странице. Так как цветная плата может содержать максимум восемь
страниц в 40-символьном режиме, имеется восемь ячеек для хранения
текущего положения курсора на каждой странице.