Программирование EGA и VGA
ДОПОЛНИТЕЛЬНАЯ ТАБЛИЦА АЛФАВИТНО-ЦИФРОВОГО РЕЖИМА
B дополнительной алфавитно-цифровой таблице (адресуемой через cox-
раняемую область памяти BIOS) определяется устанавливаемый по умолчанию
пользовательский ОЗУ-резидентный алфавитно-цифровой набор символов. Зна-
чения таблицы (и соответствующий набор символов) загружается автомати-
чески при установке любого режима.
---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦ Описание ¦
+--------+--------+----------------------------------------------------+
¦ 0 ¦ 1 байт ¦Размер символа в строках развертки в таблице шрифта ¦
¦ 1 ¦ 1 байт ¦Таблица шрифта (0-3 EGA, 0-7 VGA) ¦
¦ 2 ¦ 1 слово¦Число символов в таблице шрифта ¦
¦ 4 ¦ 1 слово¦Первый ASCII-код, определенный в таблице шрифта ¦
¦ 6 ¦ двойное¦Адрес таблицы шрифта в первых 640K памяти ¦
¦ ¦ слово ¦ ¦
¦ 10 ¦ 1 байт ¦Размер символа в строках развертки для вывода на ¦
¦ ¦ ¦экран. Этот размер может отличаться от установленно-¦
¦ ¦ ¦го в таблице шрифта, в этом случае BIOS выполняет ¦
¦ ¦ ¦пропорциональное масштабирование символа. При yc- ¦
¦ ¦ ¦тановке значения ffh BIOS использует максимально ¦
¦ ¦ ¦возможный размер символа ¦
¦ 11-? ¦ 1 байт ¦Перечень всех режимов, поддерживаемых данной таб- ¦
¦ ¦ ¦лицей. Последний элемент перечня должен иметь зна- ¦
¦ ¦ ¦чение ffh. ¦
L--------+--------+-----------------------------------------------------
Вторая дополнительная таблица алфавитно-цифрового режима, приведен-
ная ниже, имеет некоторые отличия.
---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦ Описание ¦
+--------+--------+----------------------------------------------------+
¦ 0 ¦ 1 байт ¦Размер символа в строках развертки в таблице шрифта ¦
¦ 1 ¦ 1 байт ¦Таблица шрифта (0-3 EGA, 0-7 VGA) ¦
¦ 2 ¦ 1 байт ¦He используется ¦
¦ 3 ¦ двойное¦Адрес таблицы шрифта в первых 640K памяти ¦
¦ ¦ слово ¦ ¦
¦ 7-? ¦ 1 байт ¦Перечень всех режимов, поддерживаемых данной таб- ¦
¦ ¦ ¦лицей. Последний элемент перечня должен иметь зна- ¦
¦ ¦ ¦чение ffh. ¦
L--------+--------+-----------------------------------------------------
ДОПОЛНИТЕЛЬНАЯ ТАБЛИЦА ГРАФИЧЕСКОГО РЕЖИМА
B дополнительной таблице графического режима (адресуемой через
сохраняемую область памяти BIOS) определяется устанавливаемый по умол-
чанию пользовательский ОЗУ-резидентный набор графических символов. Зна-
чения таблицы (и соответствующий набор символов) загружается автомати-
чески при любой смене режимов.
---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦ Описание ¦
+--------+--------+----------------------------------------------------+
¦ 0 ¦ 1 байт ¦Строки символов, выводимые на экран ¦
¦ 1 ¦ 1 слово¦Размер символа в строках развертки в таблице шрифта ¦
¦ 3 ¦ двойное¦Адрес таблицы шрифта в первых 640K памяти ¦
¦ ¦ слово ¦ ¦
¦ 7-? ¦ 1 байт ¦Перечень всех режимов, поддерживаемых данной таб- ¦
¦ ¦ ¦лицей. Последний элемент перечня должен иметь зна- ¦
¦ ¦ ¦чение ffh. ¦
L--------+--------+-----------------------------------------------------
ТАБЛИЦА КОДОВЫХ КОМБИНАЦИЙ ДИСПЛЕЯ
B таблице кодовых комбинаций дисплея содержатся допустимые парные
комбинации адаптера. Каждая комбинация адаптер/дисплей имеет цифровой
код: 0 - нет дисплея, 1 - MDA, 2 - CGA, 4 - цветной EGA, 5 - монохром-
ный EGA, 6 - PGC (профессиональный графический контроллер), 7 - монох-
ромный VGA, 8 - цветной VGA. Каждая допустимая пара формирует один
двухбайтовый элемент. Таким образом, элемент 4,1 означает возможность
бесконфликтного сосуществования цветного EGA и MDA.
---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦ Описание ¦
+--------+--------+----------------------------------------------------+
¦ 0 ¦ 1 байт ¦Число элементов (Размер=2*Число элементов+4) ¦
¦ 1 ¦ 1 байт ¦Номер версии таблицы ¦
¦ 2 ¦ 1 байт ¦Максимально допустимая кодовая комбинация ¦
¦ 3 ¦ 1 байт ¦He используется ¦
¦ 4-? ¦ 2 байта¦Элемент 1 . . . Элемент N ¦
L--------+--------+-----------------------------------------------------
ТАБЛИЦА ПАРАМЕТРОВ ПАЛИТРЫ ПОЛЬЗОВАТЕЛЯ
Таблица параметров палитры пользователя позволяет осуществить жела-
емый выбор палитры Атрибут-Контроллера и палитры ЦАП при каждой переус-
тановке режима. Действие таблицы похоже на действие дополнительной таб-
лицы для модификации набора символов. Таблица регистра атрибута - это
просто перечень однобайтовых значений для каждого программируемого pe-
гистра атрибута. B таблице ЦАП на каждый регистр приходится три байта
(один - для красного, один - для зеленого и один - для синего).
---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦ Описание ¦
+--------+--------+----------------------------------------------------+
¦ 0 ¦ 1 байт ¦ Флаг подчеркивания ¦
¦ ¦ ¦ 1 - подчеркивание используется постоянно; ¦
¦ ¦ ¦ 0 - используется стандартная установка по умолчанию ¦
¦ ¦ ¦ ffh - подчеркивание не применяется ¦
¦ 1 ¦ 1 байт ¦ He используется ¦
¦ 1 ¦ 1 слово¦ He используется ¦
¦ 1 ¦ 1 слово¦ Число устанавливаемых регистров Атрибута ¦
¦ 1 ¦ 1 слово¦ Первый модифицируемый регистр Атрибута ¦
¦ 8 ¦ двойное¦ Адрес таблицы регистров Атрибута ¦
¦ ¦ слово ¦ ¦
¦ ch ¦ 1 слово¦ Число устанавливаемых регистров ЦАП ¦
¦ eh ¦ 1 слово¦ Первый модифицируемый регистр ЦАП ¦
¦ 10h ¦ двойное¦ Адрес таблицы регистров ЦАП ¦
¦ ¦ слово ¦ ¦
¦14h-? ¦ 1 байт ¦ Список режимов, поддерживаемых таблицами палитр. ¦
¦ ¦ ¦ Значение последнего элемента должно быть ffh ¦
¦ ¦ ¦ ¦
L--------+--------+-----------------------------------------------------
ДОПОЛНИТЕЛЬНЫЕ ОБЛАСТИ ОЗУ, ИСПОЛЬЗУЕМЫЕ В BIOS
В дополнение к таблицам и указателям BIOS также хранит в сегмен-
те 40h два информационных байта. Смещение первого байта (INFO) яв-
ляется 87h, а второго (INFO_3) - 88h. INFO имеет следующую структуру.
БИТЫ
0 1 означает запрет эмуляции курсора CGA (номера строк, пред-
назначенных для курсора,воспринимаются буквально)
1 1 означает, что EGA использует монохромный монитор
2 1 переводит BIOS в ожидание окончания обратного хода луча по
кадру перед выполнением определенных функций (после каждого
использования BIOS устанавливает в этом бите 0)
3 1 означает, что EGA не является активным дисплеем
4 Не используется
5-6 Размер установленной памяти: 0 - 64К, 1 - 128К, 2 - 192К и
3 - 256К
7 1 означает, что старший бит был установлен при последней пе-
реустановке режима
INFO_3 имеет следующую структуру:
БИТЫ
0-3 Отражают установки переключателей на плате адаптера (основной
и вторичный дисплеи)
4-7 Установки битов Управление Признаком (см.описание регистра
Управление Признаком)
ЧТЕНИЕ СОСТОЯНИЯ EGA
В отличие от VGA в EGA не предусмотрены вызовы BIOS для возврата
информации о состоянии адаптера. Эта информация может быть получена
из областей памяти, зарезервированных для видеоподсистемы, как ука-
зано ниже.
Расположение в Назначение
памяти (шестнад-
цатеричные
значения)
0040:049 Активный видеорежим
0040:049 Число столбцов символов
0040:04С Длина текущей видеостраницы
0040:04Е Начало текущей страницы в памяти адаптера
0040:050 Область сохранения курсора
0040:050 Страница 0: строка/столбец
0040:052 Страница 1: строка/столбец
0040:054 Страница 2: строка/столбец
0040:056 Страница 3: строка/столбец
0040:058 Страница 4: строка/столбец
0040:05А Страница 5: строка/столбец
0040:05С Страница 6: строка/столбец
0040:05Е Страница 7: строка/столбец
0040:060 Размер курсора: начало/конец
0040:062 Текущая видеостраница
0040:063 Базовый адрес порта ввода/вывода
0040:065 Текущий режим
0040:066 Текущий цвет
0040:084 Число символьных строк на экране -1
0040:085 Байтов на символ
0040:087 Информационный байт INFO
0040:088 Информационный байт INFO_3
0040:0A8 Указатель на Таблицу Сохранения
[ Назад ]
[ Оглавление ]
[ Далее ]