ВУЗ:
Составители:
Байт
видеобуфера
7 654321 0
СССССССССССС
0123456701 23
7
0
Пикселы
на эк
р
ане
Рис. 2.14. Представление данных в видеобуфере адаптера CGA
Адаптер CGA поддерживает два графических режима: 4-цветный режим 320*200 и 2-
цветный режим 640*320. Для первого из них каждый пиксель представлен в видеобуфере двумя
битами, для второго – одним (рис. 2.12). Независимо от режима данные в видеобуфере хранятся в
виде двух блоков: информация 100 четных строк развертки занимает 8 Кбайт с начальным
адресом В800:0000h, а 100 нечетных строк развертки (тоже 8 Кбайт) с начальным адресом
В800:2000h. Контроллер CRTC программируется на вывод 100 строк "символов" высотой в две
строки развертки, при этом верхняя (четная) строка берется из нижнего блока, а нижняя (нечетная)
строка – из второго.
В двухцветном режиме 640∗200 каждый пиксель представлен одним битом. Если бит равен
0, то пиксель выводится на экран как черный, в противном случае цвет пикселя определяют
четыре бита регистра выбора цвета. Процедура BIOS поддерживает в области данных дисплея по
адресу 0040:0066h переменную CRT_РAL, значение которой определяет содержимое регистра
выбора цвета. Следовательно, для задания цвета необходимо модифицировать данную
переменную.
В 4-х цветном режиме 320∗200 каждый пиксель представлен значениями 00b, 01b, 10b и
11b. При значении 00b цвет пикселя совпадает с цветом окаймления экрана и задается
содержимым регистра выбора цвета. Цвет пикселя с ненулевыми значениями задается с помощью
трех аппаратных палитр согласно таблице 2.5.
Таблица 2.5. Определение аппаратных палитр в адаптере CGA
Режим
Значение
пиксела
Выбор цвета 001
001
Зелёный
Вишнёвый Красный
Коричневый Белый
ГолубойГолубой
Белый
Красный
01b
10b
11b
Цвет пиксела
Термин "аппаратный" связан с тем, что программными средствами изменить состав
входящих в них цветов не представляется возможным. В графе "режим" таблицы 2.5 указано
содержимое бита 2 регистра управления режимом, а в графе "выбор цвета" – бита 5 одноименного
регистра контроллера CRTC. Модификация этих регистров может быть осуществлена прямым
программированием, либо командой INT 10h.
Адаптер EGA позволяет полностью эмулировать режимы работы адаптера CGA в
графическом режиме. Однако в собственном графическом режиме (16-цветный 200 или 350
строчный) каждый байт видеобуфера содержит информацию о восьми пикселях. Это связано с
тем, что видеобуфер адаптера емкостью 256 Кбайт состоит из четырех параллельных банков ОЗУ
в том смысле, что они занимают одно и тоже адресное пространство со стороны процессора.
Значения пикселя определяют состояния бит с одинаковым смещением байта в каждом банке и с
одинаковыми номерами бит в пределах байта. Следовательно, цвет каждого пикселя определяют
четыре бита, взятые одновременно из каждого банка (рис. 2.15).
7 6 5 4 3 2 1 0 7 0
С0 С1 С2 С3 Байт С0 С1 С2 С3 С4 С5 С6 С7
видеобуфера
Пикселы
на экране
Рис. 2.14. Представление данных в видеобуфере адаптера CGA
Адаптер CGA поддерживает два графических режима: 4-цветный режим 320*200 и 2-
цветный режим 640*320. Для первого из них каждый пиксель представлен в видеобуфере двумя
битами, для второго – одним (рис. 2.12). Независимо от режима данные в видеобуфере хранятся в
виде двух блоков: информация 100 четных строк развертки занимает 8 Кбайт с начальным
адресом В800:0000h, а 100 нечетных строк развертки (тоже 8 Кбайт) с начальным адресом
В800:2000h. Контроллер CRTC программируется на вывод 100 строк "символов" высотой в две
строки развертки, при этом верхняя (четная) строка берется из нижнего блока, а нижняя (нечетная)
строка – из второго.
В двухцветном режиме 640∗200 каждый пиксель представлен одним битом. Если бит равен
0, то пиксель выводится на экран как черный, в противном случае цвет пикселя определяют
четыре бита регистра выбора цвета. Процедура BIOS поддерживает в области данных дисплея по
адресу 0040:0066h переменную CRT_РAL, значение которой определяет содержимое регистра
выбора цвета. Следовательно, для задания цвета необходимо модифицировать данную
переменную.
В 4-х цветном режиме 320∗200 каждый пиксель представлен значениями 00b, 01b, 10b и
11b. При значении 00b цвет пикселя совпадает с цветом окаймления экрана и задается
содержимым регистра выбора цвета. Цвет пикселя с ненулевыми значениями задается с помощью
трех аппаратных палитр согласно таблице 2.5.
Таблица 2.5. Определение аппаратных палитр в адаптере CGA
Режим 0 0 1
Выбор цвета 0 0 1
01b Зелёный Голубой Голубой
10b Красный Вишнёвый Красный
11b Коричневый Белый Белый
Значение Цвет пиксела
пиксела
Термин "аппаратный" связан с тем, что программными средствами изменить состав
входящих в них цветов не представляется возможным. В графе "режим" таблицы 2.5 указано
содержимое бита 2 регистра управления режимом, а в графе "выбор цвета" – бита 5 одноименного
регистра контроллера CRTC. Модификация этих регистров может быть осуществлена прямым
программированием, либо командой INT 10h.
Адаптер EGA позволяет полностью эмулировать режимы работы адаптера CGA в
графическом режиме. Однако в собственном графическом режиме (16-цветный 200 или 350
строчный) каждый байт видеобуфера содержит информацию о восьми пикселях. Это связано с
тем, что видеобуфер адаптера емкостью 256 Кбайт состоит из четырех параллельных банков ОЗУ
в том смысле, что они занимают одно и тоже адресное пространство со стороны процессора.
Значения пикселя определяют состояния бит с одинаковым смещением байта в каждом банке и с
одинаковыми номерами бит в пределах байта. Следовательно, цвет каждого пикселя определяют
четыре бита, взятые одновременно из каждого банка (рис. 2.15).
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »
