
- •4. 3. Архитектура видеоадаптеров ega и vga
- •Монитор
- •Видеопамять
- •Текстовый режим
- •Знакогенератор
- •Атрибуты символов
- •Атрибуты символов (монохромный режим)
- •Видеопамять в графических режимах
- •Режимы 4 и 5
- •Режим 6
- •Режимы 0Dh и 0Eh
- •Режим 0Fh
- •Режим 10h
- •Режим 11h
- •Режим 12h
- •Режим 13h
- •5. 7. Видеоадаптеры svga
- •Видеопамять svga
- •Слоеный пирог
- •Увидеть весь мир через замочную скважину
- •Больше цветов больше бит
- •Стандарт vesa
- •6. 11.1. Введение
- •11.2. Преобразование отрезков из векторной формы в растровую
- •Простейший пошаговый алгоритм
- •Алгоритм Брезенхэма для отрезков прямых
- •11.3. Растровая развертка литер
- •Пропорциональное размещение литер. Нижние выносные элементы
- •17,18 Введение в модели закрашивания
- •Геометрические составляющие для нахождения отраженного света.
- •Вычисление диффузионной составляющей
- •Зеркальное отражение
- •Фоновые источники и фоновые отражения
- •Комбинирование компонентов освещения
- •Добавление цвета
- •[Править] Описание алгоритма
- •0.6.1 Двумерный алгоритм Коэна-Сазерленда
- •[Править] Достоинства
- •[Править] Недостатки
- •О трассировке лучей
- •Матрицы и вектора
- •Обратная трассировка лучей Определение цвета точки. Текстурные карты и свойства материалов
- •16 15. Цвет в компьютерной графике
- •Перспективная проекция
- •10 Лекции по компьютерной графике
- •3.1. Координаты и преобразования
- •3.3. Преобразование в однородную систему координат
- •Поворот вокруг фиксированной точки
- •[Править] Отличия от ega
- •[Править] Текстовые режимы
- •[Править] Графические режимы
- •[Править] Стандартные графические режимы
- •[Править] Нестандартные графические режимы (X-режимы)
Знакогенератор
При установке текстовых режимов работы видеоадаптеров BIOS загружает таблицы знакогенератора из ПЗУ во второй цветовой слой видеопамяти. Впоследствии эти таблицы используются для отображения символов на экране монитора.
Благодаря этому, можно легко заменить стандартную таблицу знакогенератора своей собственной. Эта особенность, широко применяется при русификации компьютеров. У видеоадаптера CGA таблицы знакогенератора расположены в ПЗУ, поэтому изменить образы символов текстового режима нельзя.
Видеоадаптеры обеспечивают возможность одновременной загрузки в видеопамять нескольких различных таблиц знакогенератора. Видеоадаптер EGA позволяет загрузить четыре таблицы, а видеоадаптеры VGA и SVGA - восемь.
Каждая такая таблица знакогенератора содержит описание 256 символов. Активными могут быть одна или две таблицы знакогенератора. Это дает возможность одновременно отображать на экране до 512 различных символов.
Один бит из байта атрибутов указывает, какая из двух активных таблиц знакогенератора используется при отображении данного символа. Номера активных таблиц знакогенератора определяются регистром выбора знакогенератора. Этот регистр будет описан ниже.
Рисунок 3.6 иллюстрирует использование двух таблиц знакогенератора. В верхней части рисунка символ, имеющий код ASCII 31h, отображается на экране при помощи первой таблицы знакогенератора. В нижней части рисунка символ с тем же кодом ASCII отображается при помощи третей таблицы знакогенератора, и имеет другую форму.
PICTURE._FIG_23.PCX;6";4.308";PCX
Рисунок 3.6 Активные таблицы знакогенераторов
Видеоадаптер EGA поддерживает два размера для матриц символов - стандартный и улучшенный. Стандартный размер составляет 8 пикселов в ширину и 8 пикселов в высоту, а улучшенный - 8 пикселов в ширину и 14 пикселов в высоту. Один из этих наборов символов автоматически загружается BIOS в видеопамять при выборе текстового режима. Так как адаптеры VGA и SVGA имеют большую разрешающую способность, то их набор символов имеет в ширину 9 пикселов, а в высоту - 16.
Адреса таблиц знакогенератора для видеоадаптеров EGA, VGA и SVGA приведены в следующей таблице:
Первая таблица знакогенератора |
Вторая таблица знакогенератора |
Символ ASCII 0 0000h-001Fh |
Символ ASCII 0 2000h-201Fh |
Символ ASCII 1 0020h-003Fh |
Символ ASCII 1 2020h-203Fh |
Символ ASCII 2 0040h-005Fh |
Символ ASCII 2 2040h-205Fh |
... ... |
... ... |
Символ ASCII 255 1FE0h-1FFFh |
Символ ASCII 255 3FE0h-3FFFh |
Третья таблица знакогенератора |
Четвертая таблица знакогенератора |
Символ ASCII 0 4000h-401Fh |
Символ ASCII 0 6000h-601Fh |
Символ ASCII 1 4020h-403Fh |
Символ ASCII 1 6020h-603Fh |
Символ ASCII 2 4040h-405Fh |
Символ ASCII 2 6040h-605Fh |
... ... |
... ... |
Символ ASCII 255 5FE0h-1FFFh |
Символ ASCII 255 7FE0h-7FFFh |
Пятая таблица знакогенератора (только VGA) |
Шестая таблица знакогенератора (только VGA) |
Символ ASCII 0 8000h-801Fh |
Символ ASCII 0 A000h-A01Fh |
Символ ASCII 1 8020h-803Fh |
Символ ASCII 1 A020h-A03Fh |
Символ ASCII 2 8040h-805Fh |
Символ ASCII 2 A040h-A05Fh |
... ... |
... ... |
Символ ASCII 255 9FE0h-9FFFh |
Символ ASCII 255 BFE0h-BFFFh |
Седьмая таблица знакогенератора (только VGA) |
Восьмая таблица знакогенератора (только VGA) |
Символ ASCII 0 C000h-C01Fh |
Символ ASCII 0 E000h-E01Fh |
Символ ASCII 1 C020h-C03Fh |
Символ ASCII 1 E020h-E03Fh |
Символ ASCII 2 C040h-C05Fh |
Символ ASCII 2 E040h-E05Fh |
... ... |
... ... |
Символ ASCII 255 DFE0h-DFFFh |
Символ ASCII 255 FFE0h-FFFFh |
Как видно из этой таблицы, на каждый символ отводится 32 байта. Самый простой способ загрузки собственных таблиц знакогенератора во второй слой видеопамяти заключается в использовании функций BIOS. Мы продемонстрируем его позже в главе "Русификация видеоадаптера".