Видеоадаптер EGA, VGA

Страница: 2/3

В текстовых режимах на экране могут отображаться только текстовые символы. Стандартные текстовые режимы позволяют выводить на экран 25 строк по 40 или 80 символов. Для кодирования каждого знакоместа экрана используется два байта: первый из них содержит ASCII код отображаемого символа, второй -- атрибуты символа. ASCII коды символов экрана располагаются в нулевом цветовом слое, а их атрибуты -- в первом цветовом слое. Атрибуты определяют цвет символа и цвет фона. Благодаря такому режиму хранения информации достигается значительная экономия памяти. При отображении символа на экране происходит преобразование его из формата ASCII в двумерный массив пикселов, выводимых на экран. Для этого преобразования используется таблица трансляциии символов (таблица знакогенератора). Таблица знакогенератора хранится во втором слое видеопамяти. При непосредственном доступе к видеопамяти нулевой и первый цветовые слои отображаются на общее адресное пространство с чередованием байтов из слоев. Коды символов имеют четные адреса, а их атрибуты -- нечетные.

При установке текстовых режимов работы видеоадаптеров EGA и VGA BIOS загружает таблицы знакогенератора из ПЗУ во второй цветовой слой видеопамяти. Впоследствие таблицы используются при отображении символов на экране. Благодаря этому можно легко заменить стандартную таблицу знакогенератора своей собственной. Это широко применяется при русификации компьютеров.

EGA и VGA обеспечивают возможность одновременной загрузки соответственно четырех и восьми таблиц знакогенераторов в память. Каждая таблица содержит описание 256 символов. Одновременно активными могут быть одна или две таблицы знакогенератора. Это дает возможность одновременно отображать на экране до 512 символов. При этом один бит из байта атрибутов указывает, какая из активных таблиц знакогенератора используется при отображении данного символа. Номера активных таблиц знакогенератора определяются регистром выбора знакогенератора.

EGA поддерживает два размера для матриц символов: 8х8 и 8х14 пикселов. Один из этих наборов символов автомаически загружается BIOS в видеопамять при выборе текстового режима. Так как VGA имеет большую разрешающую способность, то его матрица символа имеет размеры 9х16. На каждый символ отводится 32 байта. Первая таблица имеет в видеопамяти адреса: 0000h--1FFFh, вторая: 2000h--3FFFh, . , восьмая: E000h--FFFFh.

Каждый символ, отображаемый на экране в текстовом режиме, определяется не только своим ASCII кодом, но и байтом атрибутов. Атрибуты задают цвет символа, цвет фона, а также некоторые другие параметры. Биты D0--D2 байта атрибутов задают цвет символа, D4--D6 цвет фона. Если активной является одна таблица знакогенератора, то D3 используется для управления интенсивностью цвета символа, что позволяет увеличить количество воспроизводимых цветов до 16. Если одновременно определены две таблицы знакогенератора, то D3 задает таблицу знакогенератора, которая будет использована для отображения данного символа. Бит D7 выполняет две различные функции в зависимости от состояния регистра режима контроллера атрибутов. Данный бит либо управляет интенсивностью цвета фона, увеличивая количество отображаемых цветов до 16, либо разрешением гашения символа, в результате чего символ на экране будет мигать. По умолчанию данный бит управляет разрешением гашения символа.

Видеопамять в графических режимах:

Распределение видеопамяти в графических режимах работы адаптеров отличается от распредления видеопамяти в текстовых режимах. Ниже рассмотрена структура распределения видеопамяти отдельно для каждого графического режима.

Режимы 4 и 5.

Это режимы низкого разрешения (320х200), используются 4 цвета. Поддерживаются видеоадаптерами CGA, EGA и VGA. У EGA и VGA видеоданные расположены в нулевом цветовом слое, остальные слои не используются. Для совместимости с CGA отображение видеопамяти на экране не является непрерывным: первая половина видеопамяти (начальный адрес В800:0000) содержит данные относительно всех нечетных линий экрана, а вторая (начальный адрес В800:2000) -- относительно всех четных линий. Каждому пикселу соответствует два бита видеопамяти. За верхний левый пиксел экрана отвечают биты D7 и D6 нулевого байта видеопамяти. В режимах 4 и 5 имеются два набора цветов: стандартный и альтернативный: 00 - черный; 01 - светло-синий (зеленый); 10 - малиновый (красный); 11 - ярко-белый (коричневый).

Режим 6.

Режим 6 является режимом наибольшего разрешения для CGA (640х200). Видеоадаптеры EGA и VGA используют для хранения информации только нулевой слой. Как и в режимах 4 и 5 первая половина видеопамяти отвечает за нечетные линии экрана, а вторая половина -- за четные. В данном режиме на один пиксел отводится один бит видеопамяти. Если значение бита равно 0, то пиксел имеет черный цвет, а если единице -- то белый.

Реферат опубликован: 9/07/2009