Color Graphics Adapter
CGA (англ. Color Graphics Adapter) — відеоадаптер, випущений IBM в 1981 році, і перший стандарт кольорових моніторів для IBM PC.
Перша графічна плата IBM, що підтримує кольорове зображення.
Стандартна графічна плата CGA має 16 кілобайтів відеопам'яті і може підключатися або до NTSC-сумісного монітора чи телевізора, або до RGBI монітора, такого як IBM 5153. Збудована на основі відеоконтролера Motorola MC6845, графічна плата CGA підтримує кілька графічних і текстових відеорежимів. Найвища роздільність серед усіх режимів — 640×200, найбільша глибина кольору — 4 біти (16 кольорів).
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), також неможливе звернення окремо до кожного пікселя. Через те, що на екран можливо вивести вдвічі більше символів, ОЗП відеокарти достатньо для збереження чотирьох відеосторінок.
|
||||||||||||||||
|
- 320×200 пікселів, так само, як і у текстового режиму 40×25. В графічному режимі можливо звертатися до окремих пікселів. Одночасно можливо використовувати лише чотири кольори, котрі неможливо обрати самостійно — для даного режиму визначено дві палітри:
- Пурпурний, ціан, білий і колір фону (за замовчуванням — чорний).
- Червоний, зелений, коричневий і колір фону (за замовчуванням — чорний).
При встановлені біту інтенсивності доступні яскраві варіанти палітр.
- 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 | Функція |
---|---|
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 році.
- Відеоігри з CGA-графікою (англ.)
- Повніший список на сайті MobyGames [Архівовано 21 листопада 2008 у Wayback Machine.] (англ.)
- ↑ Leonard, Jim (18 января 2006 г.). CGA monitor calibration (англійською) . Архів оригіналу за 8 лютого 2012. Процитовано 8 жовтня 2006.
- ↑ Elliott, John (13 листопада 2008). Colour Graphics Adapter Notes (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
- ↑ MobyGames (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
- ↑ IBM Color Graphics Adapter (CGA). Faqsys (англійською) . Архів оригіналу за 17 травня 2002. Процитовано 8 жовтня 2006. [Архівовано 2002-05-17 у Wayback Machine.]
- ↑ Нортон П. Основы вывода изображения // Персональный компьютер фирмы IBM и операционная система MS-DOS = The Peter Norton Programmer's Guide to the IBM PC. — М. : Радио и связь, 1992. — С. 89. — ISBN 5-256-00381-X.
- ↑ Справочник www.5v.ru. Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
- ↑ Kuphaldt, Tony R. Logic signal voltage levels. All About Circuits (англійською) . Архів оригіналу за 27 червня 2013. Процитовано 13 листопада 2008.
- ↑ Wilton, Richard. Programming the Hardware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-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.