← Июнь 2002 → | ||||||
1
|
2
|
|||||
---|---|---|---|---|---|---|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
16
|
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
29
|
30
|
За последние 60 дней ни разу не выходила
Сайт рассылки:
http://www.programmer.iatp.org.ua/
Открыта:
10-04-2001
Статистика
0 за неделю
Новости сайта "Системное Программирование" Выпуск от 27/06/2002 - Статья
Информационный Канал Subscribe.Ru |
Новости сайта "Системное Программирование"Приглашаем к сотрудничеству руководителей других интернет проектов Уважаемые читатели присылайте свои отзывы по адресу: РАБОТА В ГРАФИЧЕСКОМ РЕЖИМЕ. УПРАВЛЕНИЕ ЭКРАНОМ, ЦВЕТОМ. ИЗОБРАЖЕНИЕ ТОЧКИ Описание Номер кода Цепочка битов Палитра 0 Палитра 1 0 00 цвет фона цвет фона 1 01 зеленый циан 2 10 красный магента 3 11 желтый/коричневый белыйЕсли вы в какой-то момент переключились между палитрами, то все выведенные на экран цвета будут соответственно изменены. Отметим, что BIOS хранит в своей области данных однобайтовую переменную, которая содержит текущий номер палитры. Ее адрес 0040:0066Н. Изменение этого числа не меняет текущую установку палитры; наоборот, если вы измените цвет палитры другими средствами, помимо функций операционной системы, то значение этой переменной будет модифицировано. Для цветного адаптера мы можем получить доступ к "регистру выбора цвета" через порт 3D9H. В графических режимах этот регистр действует по-другому, чем в текстовых. Биты 0-3 содержат информацию о фоновом цвете в обычном формате (соответственно синий, зеленый и красный компоненты и интенсивность). Бит 5 выбирает палитру, и когда этот бит равен 0, то назначается палитра номер 0. В графических режимах остальные биты не имеют значения. Этот регистр только для записи, поэтому вы должны указывать информацию и о фоновом цвете, и о палитре при изменении любого из них. 2.Расширенный графический адаптер. Расширенный Графический Адаптер (Enhanced Graphics Adapter EGA) фирмы IBM представляет собой графический контроллер, обеспечивающий возможность работы в различных видеорежимах совместно с цветными или монохромными мониторами с цифровыми входами. Кроме того, адаптер обеспечивает возможность работы со световым пером. Адаптер может функционировать в нескольких графических режимах (используются 4 битовые плоскости) и обладает возможностью загрузки в видеопамять шрифтов в алфавитно-цифровых режимах. Адаптер содержит в себе 64Кбайт памяти, оформленной в виде 4 битовых плоскостей по 16 Кбайт. Кроме того, обеспечивается возможность расширения памяти адаптера до 128 Кбайт или 256 Кбайт. Ниже представлена структурная схема видеоадаптера EGA. CPU addr. +------+ -------------------------------->╕ MUX +----------+ ╕CPU data+-----+ ╕ +--------+ ╕ ----------->╕CRTC ╕ +---^--+ ╕ ╕ ╕ ╕ ╕ +---------+ +-----+ ╕ ╕ ╕ ╕ +--^--+ ╕ +------+ ╕ ╕ +-->+------+ ╕ +-----╕------------╕-->╕ GRAPH╕<--------╕-╕-->╕ 1 ╕<+ ╕ ╕ ╕ +---╕---╕-->╕ ╕<--------╕-╕>+------+ ╕ ╕ +------+ ╕ ╕ ╕ ╕ ╕ +------+ ╕ +>╕ BIT 0╕-+ ╕ ╕ ROM +-╕ ╕ ╕ ╕ ╕ +--------+ ╕ ╕ MAP ╕<--╕ ╕ ╕ ╕ ╕ ╕ ╕ ╕ ╕ ╕ +------+ ╕ +------+ ╕ ╕ ╕ ╕ ╕ ╕ +---->+------+ ╕ ╕ ╕ ╕ ╕ ╕ +╕ -╕---->╕ 3 ╕<╕ ╕ ╕ ╕ ╕ ╕ +------+ ╕++ ╕ +------+ ╕ ╕ ╕ ╕ ╕ +---╕-->╕ GRAPH╕<----+ ╕ +-->╕ BIT 2╕-+ ╕ ╕ +------+ +---╕---╕-->╕ +-------╕---->╕ MAP ╕<--+ +>╕ +-+ ╕ ╕ +------+ ╕ ╕ +------+ ╕ SEQ +-----╕---╕--------╕-------╕-╕--------------- ╕ +-+ ╕ ╕ +-----+ ╕ ╕ +------+ ╕ ╕ ╕ +v-v-v-+------> O ╕ ╕ +------------>╕ ╕------> U ╕ +---------------->╕ATTRIB╕------> T +-------------------->╕ ╕------> P ╕ ╕------> U +------+------> T 2.1. Основные компоненты.
Блок управления электронно-лучевой трубкой (CRT Controller) управляетсигналами горизонтальной и вертикальной синхронизации,начальным адресом вывода в видеобуфере, положением и формой курсора и др. Блок синхронизации (Sequencer) генерирует тактовые сигналы и сигналы для синхронизации доступа к видеопамяти. Данным устройством обеспечивается возможность доступа к видеопамяти со стороны процессора в специально выделенные моменты времени в промежутке между интервалами времени, необходимыми для доступа к видеопамяти в процессе регенерации изображения на экране дисплея. В этом же блоке содержатся регистры управления записью данных в битовые плоскости. Графический контроллер (Graphics Controller) направляет данные из памяти в контроллер атрибутов и в процессор. В графических режимах данные из видеопамяти пересылаются в микросхему контроллера атрибутов последовательно. В текстовых режимах данные пересылаются в параллельной форме в обход графического контроллера. Для быстрого изменения изображения на экране дисплея аппаратурой обеспечивается возможность записи 32 бит данных за один цикл памяти (8 бит для каждой плоскости), а дополнительная логика позволяет процессору записывать данные в дисплейную память не придерживаясь границ байтов. Контроллер атрибутов (Attribute controller) устанавливает цветовую палитру из 16 цветов, каждый из которых может быть определен независимо от остальных цветов. На вход монитора подается 6-ти битовый код цвета. Этой же микросхемой выполняются действия по управлению мерцанием и подчеркиванием. Контроллер получает данные из видеобуфера и преобразует их в управляющие сигналы, подаваемые на вход монитора. Видеобуфер (Display Buffer).Размер видеобуфера (называемого также видеопамятью или памяью адаптера) равен 64 Кб. Видеобуфер доступен со стороны процессора как на чтение так и на запись и состоит из 4 битовых плоскостей по 16 Кб. Существует возможность расширения видеобуфера до 128 Кб. На плате расширения установлены разъемы для подключения еще 128 Кб памяти, что позволяет довести размер видеобуфера до 256 Кб. При этом в каждую битовую плоскость добавляется два дополнительных банка памяти по 16 Кб. С целью совместимости с более ранними моделями видеоадаптеров, адреса видеобуфера могут изменяться. Возможны 4 варианта. Видеобуфер может установлен длиной 128 Кб и начинаться с сегментного адреса A0000, длиной 64 Кб и начинаться с адреса A0000, длиной 32 Кб и начинаться с адреса B0000 или длиной 32 Кб с началом по адресу B8000. Базовая система ввода/вывода видеоадаптера (BIOSV) находится в памяти специального ПЗУ установленного на плате адаптера.BIOSV объединяется с системной базовой системой ввода/вывода. Здесь размещаются шрифты, используемые для генерации символов и управляющие программы видеоадаптера. Размер ПЗУ - 16 Кб, начальный адрес C0000. 2.2.Работа в графическом режиме 16/64 (10H) Для режимов экрана EGA от DH до 10Н память организована совсемпо-другому. Она разделяется на одну, две или четыре битовые плоскости, каждая из которых организована так же, как для черно-белого режима высокого разрешения, описанного выше: когда байт данных посылается в определенный адрес видеобуфера, каждый бит соответствует точке на экране, причем они описывают горизонтальный сегмент строки и бит 7 соответствует самой левой точке. Записываются четыре такие битовые плоскости, соответствующие одним м тем же адресам, в видеобуфере. Это отводит каждой точке 4 бита, что позволяет описывать 16 цветов. PCjr и EGA работают с цветом совсем по-другому, чем цветной адаптер. Они используют регистры палитры, которые позволяют в любой момент изменить цвет, соответствующий данному коду. Обе системы используют один и тот же основной набор кодов цвета, который в точности совпадает с применяемым в текстовых режимах. EGA может использовать 6 бит регистра палитры, а не 4, когда к нему присоединен улучшенный цветной графический дисплей фирмы IBM. При этом становятся доступными 64 цвета, кодировка для которых R'G'B'RGB.R, G и B соответствуют темным цветам, а R', G' и B' -светлым. Различные комбинации создают 64 оттенка. Как всегда,111111 соответствует белому цвету, а 000000 - черному. Отметим, что через регистры палитры для EGA всегда доступны 64 цвета независимо от того,в каком режиме он работает. При работе врежиме 4-цветной графики (как у цветного адаптера) активны только младшие 4 регистра палитры, но они могут содержать любые цвета. Функция ВН прерывания 10Н устанавливает как фоновый цвет, так и цвета палитры, но не одновременно. Для установки фонового цвета надо поместить в ВН 0, а затем код цвета от 0 до 15 - в BL. Для установки палитры надо поместить в ВН 1, а в BL 0 или 1. 2.3. Назначение регистров. 2.3.1. Регистры блока синхронизации Таблица 1 Назначение регистров блока синхронизации +----------------------------------------------------------------+ ╕ Наименование ╕ Порт ╕ Индекс ╕ +-------------------------------------+------------+-------------╕ ╕ Адресный ╕ 3C4 ╕ - ╕ ╕ (Address) ╕ ╕ ╕ ╕ Инициализации ╕ 3C5 ╕ 00 ╕ ╕ (Reset) ╕ ╕ ╕ ╕ Тактового режима ╕ 3C5 ╕ 01 ╕ ╕ (Clocking mode) ╕ ╕ ╕ ╕ Маски битовой плоскости ╕ 3C5 ╕ 02 ╕ ╕ (Map mask) ╕ ╕ ╕ ╕ Выбора набора символов ╕ 3C5 ╕ 03 ╕ ╕ (Character map select) ╕ ╕ ╕ ╕ Режима использования памяти ╕ 3C5 ╕ 04 ╕ ╕ (Memory mode) ╕ ╕ ╕ +----------------------------------------------------------------+ Адресный регистр блока синхронизации Адресный - регистр, указывающий на один из регистров блока синхронизации, расположенный по адресу 3С4. В этот регистр загружается двоичный номер регистра блока синхронизации, в который будет производится запись. Номера регистров, помещаемые в адресный регистр представлены в поле "Индекс" приведенной выше таблицы. Таблица 2 Формат адресного регистра. +---------------------------------------------------------------+ ╕ Формат адресного регистра блока синхронизации ╕ +---------------------------------------------------------------╕ ╕Биты 7 6 5 4 3 2 1 0 ╕ ╕ ╕ ╕ ╕ ╕ +--------> Адрес ╕ ╕ +----------------> Не используются ╕ +---------------------------------------------------------------+ Наибольший интерес представляет регистр маски битовой плоскости. 2.3.2. Регистры блока управления ЭЛТ. Таблица 3 Назначение регистров блока управления ЭЛТ +----------------------------------------------------------------+ ╕ Наименование ╕ Порт ╕ Индекс ╕ +-------------------------------------+------------+-------------╕ ╕ Адресный ╕ 3?4 ╕ - ╕ ╕ (Address) ╕ ╕ ╕ ╕ Общей длительность строки ╕ 3?5 ╕ 00 ╕ ╕ (horisontal total) ╕ ╕ ╕ ╕ Длительности участка отображения ╕ 3?5 ╕ 01 ╕ ╕ в строке (Horizontal display ╕ ╕ ╕ ╕ enable end) ╕ ╕ ╕ ╕ Начала горизонтального гашения ╕ 3?5 ╕ 02 ╕ ╕ (Start horisontal blank) ╕ ╕ ╕ ╕ Окончания горизонтального гашения ╕ 3?5 ╕ 03 ╕ ╕ луча (End horisontal blank) ╕ ╕ ╕ ╕ Начала горизонтального обратного ╕ 3?5 ╕ 04 ╕ ╕ хода луча (Start horisontal retrace)╕ ╕ ╕ ╕ Окончания горизонтального обратного ╕ 3?5 ╕ 05 ╕ ╕ хода луча (End horisontal retrace) ╕ ╕ ╕ ╕ Общего количество строк растра ╕ 3?5 ╕ 06 ╕ ╕ в кадре (vertical total) ╕ ╕ ╕ ╕ Переполнения ╕ 3?5 ╕ 07 ╕ ╕ (Overflow) ╕ ╕ ╕ ╕ Установки строки растра ╕ 3?5 ╕ 08 ╕ ╕ (Preset row scan) ╕ ╕ ╕ ╕ Вертикального размера символа ╕ 3?5 ╕ 09 ╕ ╕ (Max scan line) ╕ ╕ ╕ ╕ Начала курсора ╕ 3?5 ╕ 0A ╕ ╕ (Cursor start) ╕ ╕ ╕ ╕ Окончания курсора ╕ 3?5 ╕ 0B ╕ ╕ (Cursor end) ╕ ╕ ╕ ╕ Старшей составляющей начального ╕ 3?5 ╕ 0C ╕ ╕ адреса (Start address high) ╕ ╕ ╕ ╕ Младшей составляющей начального ╕ 3?5 ╕ 0D ╕ ╕ адреса (Start address low) ╕ ╕ ╕ ╕ Старшей составляющей позиции ╕ 3?5 ╕ 0E ╕ ╕ курсора (Cursor location high) ╕ ╕ ╕ ╕ Младшей составляющей позиции ╕ 3?5 ╕ 0F ╕ ╕ курсора (Cursor location high) ╕ ╕ ╕ ╕ Начала вертикального обратного хода ╕ 3?5 ╕ 10h ╕ ╕ луча (Vertical retrace start) ╕ ╕ ╕ ╕ Старшей составляющей адреса ╕ 3?5 ╕ 10h ╕ ╕ светового пера (Light pen high) ╕ ╕ ╕ ╕ Окончания обратного хода луча ╕ 3?5 ╕ 11h ╕ ╕ (Vertical retrace end) ╕ ╕ ╕ ╕ Младшей составляющей адреса ╕ 3?5 ╕ 11h ╕ ╕ светового пера (Light pen low) ╕ ╕ ╕ ╕ Длительности участка отображения ╕ 3?5 ╕ 12h ╕ ╕ в кадре (Vertical display end) ╕ ╕ ╕ ╕ Смещения (Offset) ╕ 3?5 ╕ 13h ╕ ╕ Положения символа подчеркивания ╕ 3?5 ╕ 14h ╕ ╕ (Underline location) ╕ ╕ ╕ ╕ Начала вертикального гашения луча ╕ 3?5 ╕ 15h ╕ ╕ (Start vertical blank) ╕ ╕ ╕ ╕ Окончания вертикального гашения луча╕ 3?5 ╕ 16h ╕ ╕ (End vertical blank) ╕ ╕ ╕ ╕ Управления режимом ╕ 3?5 ╕ 17h ╕ ╕ (Mode control) ╕ ╕ ╕ ╕ Сравнения строк ╕ 3?5 ╕ 18h ╕ ╕ (Line compare) ╕ ╕ ╕ +----------------------------------------------------------------╕ ╕ ? = B в монохромных режимах и D в многоцветных ╕ +----------------------------------------------------------------+ Эксперименты с регистрами блока управления ЭЛТ,которые формируют изображение кадра, могут привести к поломке видеотерминала. 2.3.3. Регистры графического контроллера. Таблица 4 Назначение регистров графического контроллера +----------------------------------------------------------------+ ╕ Наименование ╕ Порт ╕ Индекс ╕ +-------------------------------------+------------+-------------╕ ╕ Регистр позиции графики 1 ╕ 3СС ╕ - ╕ ╕ (Graphics 1 Position ) ╕ ╕ ╕ ╕ Регистр позиции графики 2 ╕ 3СA ╕ - ╕ ╕ (Graphics 2 Position ) ╕ ╕ ╕ ╕ Адресный регистр графического конт- ╕ 3CE ╕ - ╕ ╕ роллера (Graphics 1 & 2 Address) ╕ ╕ ╕ ╕ Цвета (Set/Reset) ╕ 3CF ╕ 00 ╕ ╕ Разрешения цвета (Enable Set/Reset) ╕ 3CF ╕ 01 ╕ ╕ Сравнения цвета (Color Compare) ╕ 3CF ╕ 02 ╕ ╕ Вращения данных (Data rotate) ╕ 3CF ╕ 03 ╕ ╕ Выбора плоскости для чтения ╕ 3CF ╕ 04 ╕ ╕ (Read Map Select) ╕ ╕ ╕ ╕ Выбора режима (Mode) ╕ 3CF ╕ 05 ╕ ╕ Многоцелевой (Miscellaneous) ╕ 3CF ╕ 06 ╕ ╕ Регистр независимости от значения ╕ ╕ ╕ ╕ плоскости при чтении ╕ 3CF ╕ 07 ╕ ╕ (Color Don't Care) ╕ ╕ ╕ ╕ Маски (Bit Mask) ╕ 3CF ╕ 08 ╕ +----------------------------------------------------------------+ 2.3.4. Регистры контроллера атрибутов. Таблица 5 Назначение регистров контроллера атрибутов +----------------------------------------------------------------+ ╕ Наименование ╕ Порт ╕ Индекс ╕ +-------------------------------------+------------+-------------╕ ╕ Адресный регистр (Address Register) ╕ 3C0 ╕ - ╕ ╕ Регистры палитры (Palette Registers)╕ 3C0 ╕ 00 - 0F ╕ ╕ Регистр управления режимом ╕ 3C0 ╕ 10 ╕ ╕ (Mode Control Register) ╕ ╕ ╕ ╕ Регистр управления цветом бордюра ╕ 3C0 ╕ 11 ╕ ╕ (Overscan Color Register) ╕ ╕ ╕ ╕ Регистр разрешения отображения бито-╕ 3C0 ╕ 12 ╕ ╕ вой плоскости (Color Plane Enable ╕ ╕ ╕ ╕ Register) ╕ ╕ ╕ ╕ Горизонтального сдвига пикселов ╕ 3C0 ╕ 13 ╕ ╕ (Horisontal Pel Panning Register) ╕ ╕ ╕ +----------------------------------------------------------------+ 2.4. Рисование точек. 2.4.4. Режим чтения 0. 2.5. Программирование регистров. Составители: Нам будет приятно если Вы установите код нашей кнопки <A HREF="http://www.iatp.kharkov.ua/sites/program/index.htm"> Харьков 2001 - 2002 |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||