Cтраница 1
Видеобуфер 16К адаптера CGA находится в области памяти от В800: 0000п до B800: 3FFFh; изменение адреса также не допускается. [1]
Видеобуфер 64К байт адаптера MCGA занимает область адресов от A000: 0000h до A000: FFFFh. Второй видеобуфер 32K по начальному адресу A800: 0000h отображается на адресный диапазон B800: 0000h - B800: 7FFFh видеобуфера адаптера CGA. Здесь допускается запрещение адресации видеобуфера к портов ввода-вывода ( см. описание функции 12п в гл. [2]
Когда видеобуфер адаптера EGA имеет емкость 64К байт, взаимосвязь блоков памяти и плоскостей в 350-строчных режимах изменяется. [3]
Память видеобуфера подразделяется на видеостраницы. Их количество зависит от текущего режима и типа адаптера. Более одной страницы имеют видеокарты EGA, VGA, Hercules. Нумерация страниц начинается с нуля. В каждый момент времени на экране монитора может быть видимой одна страница. Страница, на которой в данный момент формируется изображение, называется активной. [4]
В видеобуфере емкостью 16К байт данные хранятся в виде двух блоков: информация 100 четных строк развертки занимает 8000 байт с начальным адресом B800: 0000h, a 100 нечетных строк развертки занимают 8000 байт с начальным адресом B800: 2000h, как показано на рис. 3.2. Отметим, что по 192 байта в каждой половине видеобуфера не используются. Для нумерации четных и нечетных строк развертки достаточно 7 бит. [5]
В видеобуфере ( видеопамяти) для хранения информации о цвете пиксела отводится фиксированное количество битов памяти. Однако практически любой современный видеоадаптер способен отобразить значительно большее количество цветов, чем это определяется количеством битов, отводимых в видеобуфере для одного пиксела. Для использования этой возможности вводится понятие палитры. Палитра - это массив, в котором каждому возможному значению пиксела сопоставляется значение цвета, выводимое на экран. [6]
Если емкость видеобуфера превышает размер одной страницы, в нем можно организовать несколько страниц. При этом для упрощения схем адаптера размер страницы принимается 2К или 4К байт, а лишние 48 или 96 байт в каждой странице не используются. [7]
Управление адресацией видеобуфера в адаптере VGA осуществляется так же, как в адаптере EGA. Однако способы запрещения адресации видеобуфера процессором во встроенной системе VGA и плате VGA различаются. Во встроенной системе для запрещения адресации видеобуфера и портов ввода-вывода следует сбросить в 0 значение младшего бита регистра разрешения видеосистемы ( порт ЗСЗп); установка этого бита в 1 разрешает адресацию. [8]
В графических режимах видеобуфер можно считать двухмерной матрицей значений пикселов и его начальный адрес соответствует верхнему левому углу экрана. На экран выводится подмножество пикселов, хранимых в виде двоичных полей. [9]
В адаптере MDA видеобуфер 4К байт занимает адресное пространство от B000: 0000h до BOOOrOFFFh и его нельзя изменить. [10]
Прямой доступ к видеобуферу со стороны программы, реализуемый простым обращением к соответствующим ячейкам памяти, без учета процесса регенерации имеет свои достоинства и недостатки. Здесь программа полностью управляет содержимым видеобуфера и, следовательно, тем, что появляется на экране. Кроме того, операции записи и считывания выполняются очень быстро. Особенно заметен снег, когда процессор должен передавать в видеобуфер или из него большой объем данных. [11]
Контроллер может управлять видеобуфером емкостью до 16К байт; для адресаций такого буфера требуется 14 бит. Регистры начального адреса ОСЬ и ODh, формат которых приведен на рис. 1.18, определяют, по какому адресу ( относительно базового) находится код первого выводимого символа. Обращения к следующим кодам производятся путем инкремента ( вне контроллера) содержимого регистров OCh и ODh на каждую символьную позицию. Контроллер учитывает атрибутные байты и адресует четные байты видеобуфера, а к адресу от контроллера добавляется младший нулевой бит. [12]
![]() |
Значения масштабных коэффициентов. [13] |
Значения пикселов в видеобуфере определяют, как выглядят пикселы на экране. Способ дешифрирования значений пикселов в графических режимах аналогичен способу дешифрирования атрибутов символов в текстовых режимах. Однако в графических режимах зна чения пикселов представляются 1 - 8 битами, а атрибуты символов всегда описываются 4 битами. [14]
Адаптер MDA рассчитан на видеобуфер емкостью 4К с начальным адресом B000: 0000h и BIOS инициализирует регистры OCh и ODh на нуль. Эти регистры в адаптере MDA не играют важной роли, однако в других адаптерах их значение возрастает при организации в видеобуфере нескольких страниц. [15]