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

Браузер Arachne в режимі 640×200

Перша графічна плата 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 — яскраво-білий
# Палітра 2 Палітра 2 за
більшої інтенсивності
0 колір фону колір фону
1 2 — зелений 10 — яскраво-зелений
2 4 — червоний 12 — яскраво-червоний
3 6 — коричневий 14 — жовтий
  • 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
 
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 (англійською) . Архів оригіналу за 8 лютого 2012. Процитовано 8 жовтня 2006.
  2. Elliott, John (13 листопада 2008). Colour Graphics Adapter Notes (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
  3. MobyGames (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
  4. IBM Color Graphics Adapter (CGA). Faqsys (англійською) . Архів оригіналу за 17 травня 2002. Процитовано 8 жовтня 2006.
  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. Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
  7. Kuphaldt, Tony R. Logic signal voltage levels. All About Circuits (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
  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.