Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metoda AK.doc
Скачиваний:
4
Добавлен:
17.11.2018
Размер:
1.44 Mб
Скачать

3) Адаптер mcga.

В адаптері MCGA для перетворення атрибутів в сигнали кольорів передвизначені форматер і цифро-аналоговий перетворювач (ЦАП). Вентильна матриця форматера дешифрує атрибути і утворює 8-бітні вихідні коди, що передаються в ЦАП. Мікросхема ЦАП формує аналогові сигнали червоного, зеленого і синього кольорів, що подаються в монітор, використовуючи 8-бітний вхід для вибору одного з 256 внутрішніх 18-бітних регістрів кольору. Кожний з них має три поля по 6 бітів, відповідних кольорам RGB. Ці поля вибраного регістру ЦАП окремо перетворюються в аналогові вихідні сигнали для монітору. При цьому найбільше значення 3Fh в кожному полі відповідає сигналу з найбільшою інтенсивністю.

В текстових режимах чотири молодших біти виходу форматера утворюються з атрибутних байтів, а чотири старших біти завжди нульові. Отже, тут для генерування вихідних сигналів кольорів RGB привертаються перші 16 регістрів кольору ЦАП, а інші 240 регістрів доступні тільки в 256-кольоровому режимі 320x200 (режим 13h). При підключенні до адаптеру MCGA кольорового монітору процедура BIOS завдання режиму ініціалізує перші 16 регістрів кольору ЦАП на утворення тих же кольорів, що і в адаптері CGA.

Регістр маски ЦАП (порт 3C6h) здійснює маскування 8-бітних значень, що передаються в ЦАП. Звичайно процедура ініціалізації BIOS завантажує в регістр маски значення FFh, забезпечуючи доступ до 256 регістрів кольори ЦАП. Програмістам рекомендується не змінювати вміст регістру маски ЦАП.

На відміну від адаптеру EGA адаптер MCGA при підключенні до нього монохромного монітору не емулює атрибути адаптеру MDA. Замість цього в 16 регістрів ЦАП завантажуються значення за замовчуванням, що утворюють чотири групи по чотири рівня (відтінки) сірого.

Кожна група забезпечує формування більш яскравих символів, ніж попередня, а всередині кожної групи інтенсивність зростає в відповідності зі значенням атрибуту. Отже, значення атрибутів 00h - 03h, 04h - 07h, 08h - 0Bh і 0Ch - 0Fh утворять діапазони все більш яскравих рівнів сірого.

4) Адаптер vga.

В адаптері VGA емулюється дешифрація атрибутів адаптеру EGA, але поряд з 16 регістрами палітри є ЦАП зі своїми 256 регістрами, аналогічний ЦАП в адаптері MCGA. Тому вміст вибраного регістру палітри подається як індекс в ЦАП і регістр кольору, що вибирається, визначає остаточний колір пікселя.

В залежності від стану біту 7 в регістрі керування режимом атрибутного контролера реалізуються два засоби вибору регістру ЦАП. Коли цей біт знаходиться в стані 0, атрибутний контролер об’єднує 6-бітне значення з регістру палітри з бітами 3 і 2 свого регістру вибору кольору (номер регістру 14h). 8-бітное значення, яке отримується, подається в ЦАП і вибирає один з його регістрів кольору.

Таким чином, в цьому випадку 6-бітний код з регістру палітри використовується для вибору регістру в одній з чотирьох груп по 64 регістру кольору ЦАП в кожній, а біт 3 і 2 регістру вибору кольору визначають конкретну групу. Змінюючи вміст бітів 3 і 2 регістру вибору кольору, можна практично миттєво змінити кольори всіх символів на екрані.

Коли же біт 7 регістру керування режимом знаходиться в стані 1, в формуванні кольору пікселя беруть участь тільки чотири молодших біти номеру регістру кольору ЦАП. Старші чотири біти цього номера беруться з бітів 3 - 0 регістру вибору кольору. В цьому випадку регістр палітри використовується для вибору конкретного регістру в одній з 16 груп по 16 регістрів кольору ЦАП в кожній, а біти 3 - 0 регістру вибору кольору визначають конкретну групу.

Регістри відеоконтролера

В усіх відеосистемах контролер відеотермінала виконаний на базі мікросхеми Motorola 6845 (EGA використовує заказану мікросхему, що основана на 6845).

Мікросхема 6845 має 18 керуючих регістрів, що пронумеровані від 0 до 17. Перші 10 регістрів фіксують горизонтальні і вертикальні параметри дисплею. Ці регістри автоматично встановлюються BIOS при зміні режиму екрану. Не треба експериментувати з цими регістрами, оскільки можна зіпсувати термінал. Регістри мають розмір 8 біт, але деякі зв'язані в пари, щоб зберігати 16-бітові величини. Пари регістрів 10-11 і 14-15 встановлюють форму і місцеположення курсору. Пара 12-13 керує сторінками дисплею. Пара 16-17 визначає позицію світлового пера. Більшість регістрів доступні тільки для запису; регістр адреси курсору можна і читати, і записувати, а регістр світлового пера передвизначений тільки для читання.

EGA має 6 додаткових регістрів, з них найбільш цікавий регістр 20. Він визначає, що лінія сканування в рядку символу використовується для підкреслювання.

Доступ до всіх 18 регістрів здійснюється через один і той же порт, адреса якого для монохромного адаптеру – 3B5H, для кольорового адаптеру і PCjr – 3D5H. EGA використовує один з цих двох адрес в залежності від того, приєднаний до нього кольоровий або монохромний монітор. Для запису в регістр треба спочатку в регістр адреси, розташований в порту 3B4H (3D4H для кольорового), послати номер необхідного регістру. Тоді наступний байт, посланий в порт з адресою 3B5H, буде записаний в цей регістр.

У CGA і MDA є ще три регістри, важливі для програмістів. Вони мають адреси 3B8H, 3B9H і 3BАH для монохромного і 3D8H, 3D9H і 3DAH - для кольорового адаптеру. Перший встановлює режим екрану, другий зв'язаний в основному з встановленням кольорів екрану, а третій повідомляє корисну інформацію про статус дисплею.

Кольорова палітра зберігається в 16 регістрах палітри з номерами від 10H до 1FH. EGA розподіляє ці функції між мікросхемою контролера атрибутів (адреса порту 3C0H) і двома мікросхемами контролера графіки (адреси порту 3CCH-3CFH). Контролер атрибутів містить 16 регістрів палітри EGA, що нумеруються від 00 до 0FH. Ці регістри можуть містити 6-бітові коди кольорів, коли EGA зв'язаний з покращеним кольоровим дисплеєм, тому можуть бути використані будь-які 16 кольорів з набору 64. Можливі режими дисплеїв наведені в таблиці 7.3.

Таблиця 7.3 – Значення можливих режимів дисплею

Значення

Режим

0

40*25 (320*200) В&W алфавітно-цифровий кольоровий, PCjr, EGA

1

40*25 (320*200) кольоровий алфавітно-цифровий кольоровий, PCjr, EGA

2

80*25 (640*200) B&W алфавітно-цифровий кольоровий, PCjr, EGA

3

80*25 (640*200) кольоровий алфавітно-цифровий кольоровий, PCjr, EGA

4

320*200 4-кольорова графіка кольоровий, PCjr, EGA

5

320*200 B&W графіка кольоровий, PCjr, EGA

6

640*200 B&W графіка кольоровий, PCjr, EGA

7

80*25 (720*350) B&W алфавітно-цифровий монохромний, EGA

8

160*200 16-кольорова графіка PCjr

9

320*200 16-кольорова графіка PCjr

А

640*2004 кольорова графіка PCjr

В

зарезервований для EGA

С

зарезервований для EGA

D

320*200 16-кольорова графіка EGA

E

640*200 16-кольорова графіка EGA

F

640*350 4-кольорова графіка на монохромном EGA

10

640*350 4 - або 16-кольорова графіка EGA

Функція 0 переривання 10Н встановлює режим дисплею. В AL повинен знаходитися номер режиму згідно табл. 6.3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]