Color Graphics Adapter

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Браузер Arachne в режимі 640×200

CGA (англ. Color Graphics Adapter) — відеоадаптер, випущений IBM в 1981 році, і перший стандарт кольорових моніторів для IBM PC.

Перша графічна плата IBM, що підтримує кольорове зображення.

Стандартна графічна плата CGA має 16 килобайтів відеопам'яті і може підключатися або до NTSC-сумісного монітору чи телевізору, або до RGBI монітору, такого як IBM 5153. Основана на відеоконтролері Motorola MC6845, графічна плата CGA підтримує кілька графічних і текстових відеорежимів. Найвища роздільність серед усіх режимів — 640×200, найбільша глибина кольору — 4 біти (16 кольорів).

Палітра CGA[ред.ред. код]

16-колірна палітра CGA
0 чорний
#000000
8 (темно-) сірий
#555555
1 синій
#0000AA
9 голубий
#5555FF
2 зелений
#00AA00
10 яскраво-зелений
#55FF55
3 ціан
#00AAAA
11 яскравий ціан
#55FFFF
4 червоний
#AA0000
12 яскраво-червоний
#FF5555
5 пурпурний
#AA00AA
13 яскраво-пурпурний
#FF55FF
6 коричневий
#AA5500
14 жовтий
#FFFF55
7 білий (світло-сірий)
#AAAAAA
15 яскраво-білий
#FFFFFF

Максимальна глибина кольору CGA — 4 біти. Це дозволяє використовувати палітру з 16 кольорів.

Молодші три біти відповідають червоному, зеленому і синьому кольорамі електронним променям монітору.

Чорний колір означає, що всі промені практично вимкнені.

Синьо-зелений колір (ціан) досягається змішуванням синього й зеленого променів, пурпуровий — синього й червоного, коричневий — зеленого й червоного. Білий (світло-сірий) досягається змішуванням всіх трьох променів.

Останні вісім кольорів досягаються встановленням четвертого біту — біту інтенсивності — що дає яскравішу версію кожного кольору, хоча на багатьох моніторах темно-сірий не можливо було відрізнити від чорного. Кольорова модель CGA «RGB плюс біт інтенсивності» також називається RGBI.

темно-жовтий
6 #AAAA00

Виключенням є колір № 6: за моделлю RGBI, колір № 6 буде відображатись як темно-жовтий (#AAAA00). Однак, IBM вирішила включити додаткову схему в кольоровий монітор, що ослаблювала зелений компонент кольору № 6.

if (colorNumber == 6) green = green / 2;

В результаті виходить коричневий колір (#AA5500).[1]

Стандартні текстові режими[ред.ред. код]

  • 40×25 символів, 16 кольорів. Кожний символ має розмір 8×8 точок. Ефективна роздільність екрану — 320×200 пікселів (пропорції пікселя — 1:1,2), при цьому неможливе звернення окремо до кожного пікселя. Всього доступно 256 різних символів, зображення котрих зберігаються в ПЗП відеокарти. Для кожного символу можна задати колір символу і колір фону, обидва кольори обираються з палітри. Відеокарта має обсяг ОЗП достатній для збереження восьми відеосторінок.
  • 80×25 символів, 16 кольорів. Використовується той самий набір символів, що й для режиму 40×25. Ефективна роздільність екрану — 640×200 пікселів (пропорції пікселя — 1:2,4), також неможливе звернення окремо до кожного пікселя. Так як на екран можливо вивести вдвічі більше символів, ОЗП відеокарти достатньо для збереження чотирьох відеосторінок.

Стандартні графічні режими[ред.ред. код]

# Палітра 1 Палітра 1 за
більшої інтенсивності
0 колір фону колір фону
1 3 — ціан 11 — яскравий ціан
2 5 — пурпурний 13 — яскраво-пурпурний
3 7 — білий 15 — яскраво-білий
Файл:Alleycat.png
Alley Cat using palette 1 in high intensity. The trash cans appear grey due to dithering.
# Палітра 2 Палітра 2 за
більшої інтенсивності
0 колір фону колір фону
1 2 — зелений 10 — яскраво-зелений
2 4 — червоний 12 — яскраво-червоний
3 6 — коричневий 14 — жовтий
Файл:Castle master-cga.png
Castle Master using palette 2 in high intensity. The game also uses dithering to achieve the illusion of more colors.
  • 320×200 пікселів, так само, як і у текстового режиму 40×25. В графічному режимі можливо звертатися до окремих пікселів. Одночасно можливо використовувати лише чотири кольори, котрі неможливо обрати самостійно — для даного режиму визначено дві палітри:
    1. Пурпурний, ціан, білий і колір фону (за замовчуванням — чорний).
    2. Червоний, зелений, коричневий і колір фону (за замовчуванням — чорний).

При встановлені біту інтенсивності доступні яскраві варіанти палітр.

  • 640×200 пікселів, так само, як і у текстового режиму 80×25. Можливо звертатися до окремих пікселів. Цей режим монохромний, доступні лише білий і чорний колір (кольори можна змінити).

Додаткові налаштування і відеорежими[ред.ред. код]

# Палітра 3
0 default
1 3 — ціан
2 4 — червоний
3 7 — білий
  • В графічному режимі 320×200 колір фону можна змінити з чорного на будь-який з 16-колірної палітри.
  • В графічному режимі 640×200 основний колір можна змінити з білого на будь-який з 16-колірної палітри.
  • В текстовому режимі можна змінити колір бордюру (простору навколо основної області).
  • В графічному режимі 320×200 можливо використовувати третю чотирьохколірну палітру.
  • Текстовий режим 80×25 за допомогою налаштування відеоконтролера можна змусити працювати як 16-кольоровий графічний режим 160×100.[2]

Деякі з цих прийомів можна комбінувати. В більшості програм ці можливості не використовувались, але є приклади їх використання в комп'ютерних іграх.[3]

Дефекти[ред.ред. код]

Найпомітніший апаратний дефект CGA — «сніг» в текстовому режимі 80×25. Відеопам'ять CGA не підтримує одночасний запис і читання. В результаті, якщо мікропроцесор здійснює запис в відеопам'ять в той момент, коли вона читається відеоадаптером — на екран виводяться випадкові пікселі. Цей дефект виправлено у багатьох клонах CGA.[4]

Для програмістів ще однією перешкодою є черезрядковий (interlaced) формат відеопам'яті в графічних режимах.[5]

Стандартні відеорежими не повністю використовують відеопам'ять.

Технічні характеристики[ред.ред. код]

Роз'єм[ред.ред. код]

Роз'єм на відеокарті:[6]

5 1
DE9 Diagram.svg
9 6
Pin assignments
Pin Функція
1 Маса
2 Маса
3 Червоний
4 Зелений
5 Синій
6 Інтенсивність освітленості
7 Зарезервовано
8 Горизонтальна синхронізація
9 Вертикальна синхронізація

Сигнал[ред.ред. код]

Тип Цифровий, ТТЛ[7]
Роздільність 640×200, 320×200
Горизонтальна частота 15,75 кГц
Вертикальна частота 60 Гц[8]
Кількість кольорів 16

Конкуруючі відеоадаптери[ред.ред. код]

  • Для бізнес-задач і роботи з текстами IBM одночасно з CGA випустила відеоадаптер MDA. Він виводив текст в режимі 80×25 з більш високою роздільністю — 9×14 пікселів на символ, що давало чіткіше зображення в текстовому режимі. З цієї причини, а також через більш високу вартість CGA, MDA був привабливішим для бізнес-користувачів.
  • В 1982 році фірмою Hercules Computer Technology був випущений відеоадаптер Hercules Graphics Card. Він підтримував текстовий режим, сумісний з MDA, і монохромний графічний режим. Роздільність графічного режиму становила 720×348 пікселів — більше, ніж у CGA. Завдяки монохромній графіці більш високої роздільності і можливості роботи з більш дешевим монохромним монітором, Hercules Graphics Card для багатьох був привабливішим вибором.[9]
  • Наступником CGA став відеоадаптер EGA, випущений в 1984 році, що підтримував більшу частину відеорежимів CGA і додаткову роздільність 640×350 пікселів, а також програмно-налаштовувану палітру (16 кольорів з 64 можливих) в текстових і графічних режимах. Після випуску EGA ціна на CGA була знижена, і CGA позиціонувався як відеоадаптер початкового рівня. Це дозволило CGA залишатись популярним ще кілька років.
  • Популярність CGA стала падати з випуском VGA в 1987 році.

Посилання[ред.ред. код]

Примітки[ред.ред. код]

  1. Leonard, Jim (18 января 2006 г.). «CGA monitor calibration» (англійською). Архів оригіналу за 2012-02-08. Процитовано 2006-10-08. 
  2. Elliott, John (13 листопада 2008). «Colour Graphics Adapter Notes» (англійською). Архів оригіналу за 2013-06-27. Процитовано 2008-11-13. 
  3. «MobyGames» (англійською). Архів оригіналу за 2013-06-27. Процитовано 2008-11-13. 
  4. «IBM Color Graphics Adapter (CGA)». Faqsys (англійською). Процитовано 2006-10-08. 
  5. Нортон П. Основы вывода изображения // Персональный компьютер фирмы IBM и операционная система MS-DOS = The Peter Norton Programmer's Guide to the IBM PC. — М.: Радио и связь, 1992. — С. 89. — ISBN 5-256-00381-X
  6. «Справочник www.5v.ru». Архів оригіналу за 2013-06-27. Процитовано 2008-11-13. 
  7. Kuphaldt, Tony R. «Logic signal voltage levels». All About Circuits (англійською). Архів оригіналу за 2013-06-27. Процитовано 2008-11-13. 
  8. Wilton, Richard Programming the Hardware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9
  9. Wilton, Richard IBM Video Hardware and Firmware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9