Найти в Дзене
GrafiСomp

Из истории компьютерной графики. Часть 22.

Рождение первого цветного стандарта Что вы знаете о цвете? Почему мы видим в радуге только 7 цветов, но умеем различать даже их оттенки? И как много вы можете различить цветов сами? Кто-то вообще не различает цвета, как кошки, или их путает, как дальтоники. А насекомые - пчёлы видят даже невидимое ультрафиолетовое излучение! А сколько нужно видеть цветов простому человеку для полного счастья? Чтобы мир вновь заиграл красками и не казался таким серым и унылым. Думаю ответы лежат не только физиологии и психологии, химии и физики, но и в компьютерной графике. И вы не поверите там тоже 7 базовых цветов не считая черного. И чтобы этот виртуальный мир казался красивее к ним сразу добавили еще 7 более ярких цветов и плюс ещё 1 цвет - серый! Сначала это казалось достаточно, но в итоге этих 16 цветов стало не хватать, и палитру в последующих видеоадаптерах значительно расширили. А так ли это было на самом деле? Давайте разбираться.... Что вы слышали про CGA? CGA (сокращение с англ. Color Grap
Оглавление

Рождение первого цветного стандарта

Что вы знаете о цвете? Почему мы видим в радуге только 7 цветов, но умеем различать даже их оттенки? И как много вы можете различить цветов сами? Кто-то вообще не различает цвета, как кошки, или их путает, как дальтоники. А насекомые - пчёлы видят даже невидимое ультрафиолетовое излучение!

А сколько нужно видеть цветов простому человеку для полного счастья? Чтобы мир вновь заиграл красками и не казался таким серым и унылым. Думаю ответы лежат не только физиологии и психологии, химии и физики, но и в компьютерной графике.

И вы не поверите там тоже 7 базовых цветов не считая черного. И чтобы этот виртуальный мир казался красивее к ним сразу добавили еще 7 более ярких цветов и плюс ещё 1 цвет - серый! Сначала это казалось достаточно, но в итоге этих 16 цветов стало не хватать, и палитру в последующих видеоадаптерах значительно расширили.

А так ли это было на самом деле? Давайте разбираться....

Цветной логотип IBM
Цветной логотип IBM

Что вы слышали про CGA?

CGA (сокращение с англ. Color Graphics Adapter) — это первая в мире цветная видеокарта, выпущенная корпорацией IBM в 1981 году, а также первый стандарт цветных RGBI-мониторов на основе ЭЛТ для IBM PC.

Видеоадаптер IBM CGA (1981г.)
Видеоадаптер IBM CGA (1981г.)

Основу видеоадаптера CGA составлял видеоконтроллер Motorola MC6845 на базе 1 микросхемы.

Характеристики CGA (кратко): имел всего 16 килобайт видеопамяти, 8-битный интерфейс ISA для подключения к плате, выходной разъём DE-9 для ЭЛТ-монитора и композитный RCA для ЭЛТ-телевизора, имел максимальное монохромное разрешение 640х200 точек и выдавал в тестовом режиме 80х25 символов максимум 16 цветов (неярких 8 и однотипных ярких 8) и 2 графических режима с меньшими цветами.

Полная палитра CGA
Полная палитра CGA
Полная палитра RGBI
Полная палитра RGBI

Примечание: Исключением в цветовой схеме является цвет № 6! Если строго следовать модели RGBI, цвет № 6 будет отображаться как оливковый (# AAAA00). Однако компания IBM решила включить дополнительную схему в цветной монитор, ослабляющую зелёный компонент цвета № 6, что в итоге аппаратной коррекции этого цветового компонента получался коричневый цвет (# AA5500).

К видеоадаптеру CGA через цифровой 9-контактный разъём DE-9 подключался монохромный MDA-монитор или цветной CGA-монитор.

Основной цифровой разъем DE-9 (RGBI) в видеокарте CGA
Основной цифровой разъем DE-9 (RGBI) в видеокарте CGA

Примечание: Как вы думаете почему в CGA максимум 16 цветов? Каждый цвет формировался отдельным включением сигнала на RGB-контактах: включено (1) или выключено (0). Что давало 8 вариантов базовых цветов (это 2 в 3 степени). Отдельным контактом в DE-9 интенсивность (intebsity) задавался яркость цвета (то есть 0 - не яркий и 1 - яркий). Это давало еще тех же 8, но ярких цветов, что в сумме получалось 16 цветов (или условно 2 в 4 степени).

В CGA также дополнительно имелся композитный RCA-разъём, к которому мог подключаться телевизор стандарта NTSC или специальный цветной ЭЛТ-монитор. Это для видеоадаптера CGA стало большим плюсом! Но к сожалению у CGA было и много минусов, к примеру: низкие разрешения выдаваемого изображения, ограниченное количество цветов, и дефект в виде "снега" в текстовом режиме.

Дополнительный RCA разъём на видеокарте CGA
Дополнительный RCA разъём на видеокарте CGA

К компьютеру CGA мог присоединяться только посредством широко распространённого в то время на платах 8-битного порта ISA, на смену которого вскоре пришла 16-битная ISA и позже 32-х битная шина EISA.

Порты ISA (в порядке их появления и развития: ISA8, ISA16, 32-битный  EISA )
Порты ISA (в порядке их появления и развития: ISA8, ISA16, 32-битный EISA )

Несмотря на то, что видеоадаптер CGA был разработан одновременно с видеоадаптером MDA, он применялся редко и не был столь популярен. Широкую известность CGA получил уже позже, с выходом в 1983 году новейшего компьютера IBM PC/XT и создания к нему цветного RGB-монитора. Но радость многих пользователей была недолгой. Следом за видеоадаптером CGA в 1984 году пришёл видеоадаптер EGA, который и решил его дальнейшую судьбу.

Персональный компьютер IBM PC/XT (1983г.)
Персональный компьютер IBM PC/XT (1983г.)

О графических возможностях CGA

Видеоадаптер CGA имел всего 16кб видеопамяти DRAM, которая позволяла ему хранить монохромное изображение с максимальным разрешением 640х200точек, названного позже "разрешением CGA".

CGA поддерживал все текстовые режимы от предыдущего видеоадаптера MDA в IBM PC (1981г.), но главное - мог работать в графических режимах, причём в цвете!

Все режимы работы CGA:

  • 2 текстовых режима (адресация поблочная, то есть готовой матрицей точек из Video ROM с размером знакоместа 8x8 точек): базовый режим 40х25 символов - 16 цветов (до 8 страниц видеопамяти) и стандартный 80х25 символов - 16 цветов (до 4 страниц видеопамяти).
  • 3 графических режима (адресация точечная): недокументированный или псевдографический 160х100 точек - 16 цветов, основной 320х200 точек - 4 цвета, дополнительный 640х200 точек - 2 цвета.

Максимальное количество цветов выдаваемое видеоадаптером CGA составило 16 цветов (или 4 бита), причем все они были доступны в текстовых режимах, а в графических их количество пропорционально уменьшалось с ростом разрешения. Ограничение на это накладывало небольшой размер видеопамяти (либо больше разрешение - меньше цветов, либо меньше разрешение - больше цветов).

Только цвет фона можно было менять на любой цвет из 16, но в основном использовались 3 фиксированные цветовые палитры.

Три аппаратных палитр CGA в разрешении 320х200 точек
Три аппаратных палитр CGA в разрешении 320х200 точек

Самыми распространёнными режимами CGA стали: 16-цветный текстовый режим 80х25 символов и 4-цветный графический режим 320х200 точек, в котором одновременно можно использовать только четыре цвета, которые нельзя выбрать самостоятельно. Для данного режима с №4 были заранее аппаратно определены 2 основные палитры, которые расширялись ещё 2-я дополнительными палитрами:

  • Палитра № 0: светло-голубой, светло-пурпурный, белый и цвет фона (по умолчанию — чёрный). И те же варианты с пониженной яркостью.
  • Палитра № 1: светло-зелёный, светло-красный, жёлтый и цвет фона (по умолчанию — чёрный). И те же варианты с пониженной яркостью.
Фиксированные палитры CGA в графическом режиме 320х200 точек
Фиксированные палитры CGA в графическом режиме 320х200 точек

Плюс к всему перечисленному, в режиме №5 можно было использовать ещё одну недокументированную палитру №2 с дополнительным вариантом: светло-голубой, светло-красный, белый и цвет фона (по умолчанию — чёрный). И те же варианты, но с пониженной яркостью.

Режим №5 отключал цветовую насыщенность, чтобы цвета могли отображаться в градациях серого на композитном мониторе.

Типичный CGA!
Типичный CGA!

О дефекте CGA!

В 80-е годы XX века все видеоадаптеры не могли самостоятельно обрабатывать графические данные, весь процесс обработки изображения ложился на центральный процессор компьютера (CPU). Персональные компьютеры в те далекие годы были медленными как и процессор, поэтому он в принципе не успевал записать в видеопамять CGA новое изображение. К тому же видеопамять в свою очередь не поддерживала одновременное чтение и запись, поэтому в ней могли находиться случайные данные, которые видеоконтроллер Motorola MC6845 уже успевал вывести на экран, исказив этим изображение.

Вот так в видеоадаптере CGA, только в текстовом режиме 80x25 символов, появился знаменитый аппаратный дефект в виде "снега". Позже этот дефект был исправлен во многих клонах CGA.

Демонстрация дефекта "снег" в CGA
Демонстрация дефекта "снег" в CGA
Все 16 цветов и без дефекта!
Все 16 цветов и без дефекта!

Это интересно! В CGA было 1024 цвета?

В 2015 году на конкурсе компьютерного искусства (demopaty) Revision 2015, проходившем в городе Саарбрюккен (Германия), группа хакеров смогла продемонстрировать на устаревшем CGA-видеоадаптере свою удивительную программу-демку "8088MPH", которая используя хитрый способ, несмотря на ограничения CGA, смогла реализовать на экране монитора 256 цветов в динамичном изображении!

А также эти кулибины, используя телевизор и скрытые возможности композитного разъема RCA, умудрились показать на экране статическое 1024-цветное изображение. За эту невероятную демосцену команда получила 1 место в категории oldskool demo compo на Revision 2015!

Вот где лайфхак, так лайфХАК!)) Браво!

Друзья, если вам понравилась статья, поставьте палец в верх!

И на канал подпишитесь.

---------------------------------------------------------------------------------------

Совет! Посмотрите все статьи канала GRAFICOMP

предыдущая статья Часть 21