Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Будем рассматривать расширенный графический адаптер EGА




Программирование видеоконтроллера

 

Расширенный графический адаптер (EGA – Епhапсеd Сгаphiсs Аdарtег) – это графический видеоконтроллер высокого разрешения, программно совместимый с адаптерами СGА и МGА, но имеющий гораздо большие возможности. В IBМ РС для ЕGА зарезервированы следующие порты ввода – вывода:

ЕGА #1 – порты ЗС0h – З DFh; ЕGА #2 – порты 2С0h – 2 DFh.

ЕGА может генерировать прерывание IRQ 2 (Int 0Аh) в начале вертикальной синхронизации. Однако, ВIOS не использует эту возможность; мы также не описываем ее, так как вектор Int 0Ah используется в РС АТ как каскад второго контроллера прерываний.

Все регистры EGA можно разбить на четыре группы:

ЗС0h – порт доступа к контроллеру атрибутов (АТС);

ЗС2h – порт доступа к многоцелевому регистру, 3C4h – 3С5h порт доступа к блоку синхронизации (sequencer) и цвета;

ЗCAh – 3CFh порт доступа к графическому контроллеру (GDС); 3D4h – 3DCh порт доступа к блоку управления дисплеем; 3В4h – 3BCh порт доступа к блоку управления дисплеем. Контроллер атрибутов (АТС) имеет 20 регистров, управляющих цветами вывода.

 

 

Регистр Наименование Описание

R0–R15 Регистры палитры R0 Определяют цвета

(только для записи) соответствующих атрибутов

 

 

7 6 5 4 3 2 1 0

 
 

 

 


0: Синий 2/3 яркости

1: Зеленый 2/3 яркости

2: Красный 2/3 яркости

3: Синий 1/3 яркости

(подчеркивание для МСА)

4: Зеленый 1/3 яркости (яркость для МСА)

5: Красный 1/3 яркости

 

 

R16 Управление режимами Имеет следующую структуру:

7 6 5 4 3 2 1 0

 
 

 


0: Режим: 0=текстовый, 1=графический 1: 1=атрибуты MGA, 0=атрибуты СGA

2: Задает 9-ю точку для псевдографики:

1=9-я точка совпадает с 8-й точкой

0=вывод 9-й точки цветом фона

3: Бит 7 байта атрибутов задает:

1=мерцание символов, 0=яркость фона

 

R17 Цвет рамки Устроен так же, как регистры палитры.

R18 Управление цветовыми Имеет следующую структуру

плоскостями

7 6 5 4 3 2 1 0

 
 

 


 

0-3: 1=разрешить цветовую плоскость

Сi, i = 0 – 3

4-5: мультиплексирование видеосигналов

00=R&В, 01=B&G, 10=v&g,

11=не используется

R19 Горизонтальная прокрутка Задает сдвиг экрана влево в точках (0 – 15)

 

Примечания.

1. Регистры палитры задают соответствие между значением атрибута и его цветом. Например, засылка значения 02h в регистр АТС определит его как зеленый цвет, 10h – как бледно-зеленый, 12h – как ярко-зеленый.

2. Для того, чтобы цвета атрибутов совпадали с цветами СGА, регистры палитры должны иметь следующие значения:

Регистр Значение Регистр Значение
00h 00h 08h 38h
01h 01h 09h 39h
02h 02h 0Аh ЗАh
0Зh 0Зh 0Вh ЗВh
04h 04h 0Сh 3Ch
05h 05h 0Dh 3Dh
06h 14h 0Еh ЗЕh
07h 07h 0Fh ЗFh

 

Порт блока синхронизации – секвенсор 3C4h: 3C5h обеспечивает синхронизацию вывода символов с работой знакогенератора. Он имеет следующие программируемые регистры.

 

Регистр Наименование Описание

R0 Перезапуск блока Установка и сброс бита 0 вызывает

Синхронизации асинхронный перезапуск блока, установка и сброс бита 1 – синхронный перезапуск. Для нормальной работы оба бита должны быть установлены.

R1 Структура регистра R1 Режим синхронизации

7 6 5 4 3 2 1 0

                   
 
 
       
   
 
 
 

 

 


0: Высота символов: 1=8 точек, 0=9 точек

1: Полоса частот ЭЛТ: 1=низкая, 0=высокая

2: 0=сдвиг всех символов, 1=только четных

3: Частота генератора пикселей:

1=половинная, 0=обычная

R2 Маска битовых плоскостей Установка битов 0 – 3 разрешает запись в соответствующие битовые плоскости.

R3 Выбор карты символов Биты 0 –1 выбирают карту В, биты 2 –3 карту А; карта А относит­ся к символам, у которых бит 3 атрибутов установлен, карта В – к символам, чей бит 3 сброшен. Действительно только в случае,когда ОЗУ EGA больше 64 К.

R4 Режим видеопамяти Имеет следующую структуру

 

 

7 6 5 4 3 2 1 0

 
 


0:

0:1=знакогенератор текста, 0=графика

1: Размер ОЗУ ЕGА: 0=64К, 1=более 64К

2:Способ хранения пикселей:

1=последовательный, 0=как в CGA

(расслоение четных и нечетных строк)

 

Графический контроллер (GDС) управляет работой адаптера в графическом режиме и имеет следующие регистры:

 

Регистр Наименование Описание

R0 Установка/сброс Установка битов 0 – 3 выбирает

битовых плоскостей соответствующую битовую плоскость для режима записи 00.

R1 Разрешение установки и Управляет доступом к R0.

сброса

R2 Сравнение цветов Биты 0 –3 выбирают цвет для режима чтения 1.

 

R3 Параметры записи Имеет следующую структуру:

 


7 6 5 4 3 2 1 0

 
 


0-2: Счетчик циклических сдвигов влево для режима записи 00.

3-4: Способ вывода в режимах записи 00 и 02: 00=без изменений, 01=И, 10=ИЛИ, 11=исключающее ИЛИ

 


R4 Выбор карты чтения Биты 0 – 2 задают номер плоскости для режима чтения 1.

R5 Регистр режима Имеет следующую структуру:

 

 


7 6 5 4 3 2 1 0

 
 



0-1: Режим записи 0-2 (см. ниже) 2: 1=высокоимпедансный выход (для диаг­ностики), 0=обычная работа 3: Режим чтения 0-1 (см. ниже) 4: 1=использовать расслоение видеопамяти (см. регистр 4 блока синхронизации) 5:1=использовать 2 бита на пиксель, как в СGА (сдвиг нечетных битов в нечет­ных картах); 0=сдвиг четных битов в четных картах

 


R6 Управление графикой Имеет следующую структуру:

7 6 5 4 3 2 1 0

 
 


 

0: 1=графика, 0=знакогенератор

1: Ставить нечетные карты после четных

2-3: Адрес и размер видеопамяти:

00=АООООh (128К), 01=АООООh (64К)

10=ВООООh (32К), 11=В8000h (32К)


R7 Маскирование цветов Биты 0 – 3 исключают соответству­ющие битовые плоскости в режиме чтения 1.

R8 Битовая маска Биты 0 – 7 задают биты, маскируе­мые во всех битовых плоскостях.

 

Примечание.

Режимы чтения:

0 – использовать выбранную битовую плоскость; 1 – сравнивать цвет пикселя с цветом в регистре R2 и воз­вращать 1 при их совпадении.

Режимы записи:

00 – циклически сдвинуть данные, применить способ вывода, записать в разрешенные плоскости;

01 – вывести в каждую плоскость значение, полученное преды­дущим чтением;

10 – выводить в каждую плоскость 8 бит значения соответст­вующих битов 0-3 данных (быстрая закраска)

11 – недопустим.

 

Порты ввода-вывода ЕGА имеют следующее назначение.

 

Порт Операция Описание

ЗС0h Запись Регистр контроллера атрибутов.

Для доступа к регистрам АТС подайте команды: In аl, ЗС2h перейти в адресный режим out ЗС0h, n; номер регистра АТС (режим данных) оut ЗС0h, vаl; новое значение регистра Биты 0 – 4 в n – номер регистра, бит 5 задает: 1=разрешить вывод на экран, 0=установка регистра АТС.

 

ЗС2h Запись Многоцелевой управляющий регистр:

7 6 5 4 3 2 1 0

 

 

 


0: Выбор портов дисплея:

1=ЗВХh (МGА), 0=ЗDХh (СGА) 1: 0=разрешить доступ к ОЗУ 1=запретить доступ к ОЗУ

2-3: Частота генератора пикселей: 00=14 Мгц, 01=16 Мгц, 10=внешний источник, 11=резерв

4: 1=выбрать вывод признаков,

0=выбрать внутренний источник

: Бит страницы при расслоенной

адресации видеопамяти: 0=младшая страница, 1=старшая страница

6: Полярность обратного хода луча по горизонтали: 1=отрицательная

7: Полярность обратного хода луча по вертикали: 1=отрицательная

 

 

Чтение Регистр состояния 0:

7 6 5 4 3 2 1 0

 
 


3-4: Частота генератора пикселей (см. выше)

5– 6:Ввод признаков 7: 0=обратный ход луча по вертикали

 

3C4h Запись Регистр адреса блока синхронизации.

ЗС5h Запись Регистр данных блока синхронизации. Для прог­раммирования регистра Rh блока нужно выполнить команды: Out ЗС4h,n и out ЗС5h, данные

ЗСАh Запись Графическая позиция 2 (для ЕGА должна быть 1).

ЗССh Запись Графическая позиция 1 (для ЕGА должна быть 0).

ЗСЕh Запись Регистр адреса графического контроллера.

ЗСFh Запись Регистр данных графического контроллера. Для программирования регистра Rh нужно выполнить команды: оut ЗСЕh,n и out ЗСFh, данные

ЗD4h Запись Регистр индекса ЭЛТ. Используется для

или ЗВ4h выбора регистра ЭЛТ. Для записи регистра ЭЛТ Rn нужно выполнить команды: out ЗХ4h,n и out ЗХ5h, данные.

ЗD5h Запись Регистр данных ЭЛТ. Позволяет записывать и

ЗВ5h Чтение читать все регистры ЭЛТ.

ЗDАh Запись Биnы 0 –1 управляют выходами признаков FС0 и

ЗВАh FС1 (контакты 19 и 17 соответственно).

 

Чтение Регистр состояния 1:

7 6 5 4 3 2 1 0

 
 

 


0: 0=вывод изображения, 1=горизонтальная или вертикальная синхронизация 1: 1=триггер светового пера сброшен 2: 1=защелка светового пера открыта

3: 0=экран включен, 1=выключен (ЕGА не требует проверки этого бита при выводе 14. Какую конфигурацию имеет компьютер, которым Вы пользуетесь. Укажите численные значения параметров, которые известны Вам.

Какой тип, конфигурацию компьютера хотели бы иметь?

15. Программируете? Какими языками или средствами программирования владеете?

16. Какие имеете законченные разработки?

17. Какая конкретная проблема (проблемка), задачка (любого уровня сложности) ждет своего решения и может быть решена на Ваш взгляд организационно-технически с использованием знаний по вашей специальности.

в любом случае «хлопьев» не будет)

ЗDВh Запись Вывод любого байта; выключает триггер светового ЗВВh Чтение пера.

ЗDСh Запись Вывод любого байта включает триггер светового ЗВСh Чтение пера.

ЕGА работает либо в режиме совместимости с СGА или МGА, либо в одном из своих собственных графических видеорежимов:

320x200 – 16 цветов;

640x200 – 16 цветов;

640х350 – черно-белый;

640x350 – 16 цветов.

В этих режимах видеопамять разбивается на 4 битовые плоскости, каждая из которых содержит образ экрана для одного из основных цветов: красного, зеленого, синего и яркости. Контроллер ЕGА считывает биты всех четырех плоскостей, соответ­ствующие данному пикселю, и формирует его результирующий цвет на экране (комбинация из 4 двоичных цифр дает 16 вариантов цветов).

Видеопамять ЕGА отображается в адреса ОЗУ А0000h – В0000h. Размер памяти ЕGА варьируется от 64К до 256К в зависимости от комплектации адаптера. Однако, даже если память ЕGА равна 256К, она размещается в 16К адресного пространства оперативной памяти. Это объясняется тем, что каждая битовая плоскость отображается в одни и те же адреса ОЗУ; для выбора битовой плоскости, с которой необходим обмен данными, надо переустанавливать соответствующие регистры графического контроллера.

В графическом режиме 640 х 200 64К оперативной памяти разбивается на 4 страницы по 16К каждая. Адреса этих страниц равны соответственно А0000h, А4000h, А8000h и АС000h. Смещение от начала страницы до байта, содержащего пиксель с координатами (Х, Y), равен 80 Y + int(Х/8), а номер соответствующего бита в этом байте равен 7 – (X % 8). Здесь X – горизонтальная позиция точки (0 – 639), Y– ее вертикальная позиция (0 –199).

Графический режим 320 х 200 предоставляет пользователю 8 страниц размером по 8К. Смещение от начала страницы до байта, содержащего пиксель с координатами (Х, Y), равен 40Y + int (Х/8), а номер соответствующего бита в этом байте равен 7 – (X % 8). Здесь X – горизонтальная позиция точки (0 – 639), Y – ее вертикальная позиция (0 -199).

В графических режимах 640 х 350 имеются две страницы с адресами А0000h и А8000h соответственно. В остальном этот режим аналогичен предыдущим.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 449; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.