Рождение первого цветного стандарта
Что вы знаете о цвете? Почему мы видим в радуге только 7 цветов, но умеем различать даже их оттенки? И как много вы можете различить цветов сами? Кто-то вообще не различает цвета, как кошки, или их путает, как дальтоники. А насекомые - пчёлы видят даже невидимое ультрафиолетовое излучение!
А сколько нужно видеть цветов простому человеку для полного счастья? Чтобы мир вновь заиграл красками и не казался таким серым и унылым. Думаю ответы лежат не только физиологии и психологии, химии и физики, но и в компьютерной графике.
И вы не поверите там тоже 7 базовых цветов не считая черного. И чтобы этот виртуальный мир казался красивее к ним сразу добавили еще 7 более ярких цветов и плюс ещё 1 цвет - серый! Сначала это казалось достаточно, но в итоге этих 16 цветов стало не хватать, и палитру в последующих видеоадаптерах значительно расширили.
А так ли это было на самом деле? Давайте разбираться....
Что вы слышали про CGA?
CGA (сокращение с англ. Color Graphics Adapter) — это первая в мире цветная видеокарта, выпущенная корпорацией IBM в 1981 году, а также первый стандарт цветных RGBI-мониторов на основе ЭЛТ для IBM PC.
Основу видеоадаптера CGA составлял видеоконтроллер Motorola MC6845 на базе 1 микросхемы.
Характеристики CGA (кратко): имел всего 16 килобайт видеопамяти, 8-битный интерфейс ISA для подключения к плате, выходной разъём DE-9 для ЭЛТ-монитора и композитный RCA для ЭЛТ-телевизора, имел максимальное монохромное разрешение 640х200 точек и выдавал в тестовом режиме 80х25 символов максимум 16 цветов (неярких 8 и однотипных ярких 8) и 2 графических режима с меньшими цветами.
Примечание: Исключением в цветовой схеме является цвет № 6! Если строго следовать модели RGBI, цвет № 6 будет отображаться как оливковый (# AAAA00). Однако компания IBM решила включить дополнительную схему в цветной монитор, ослабляющую зелёный компонент цвета № 6, что в итоге аппаратной коррекции этого цветового компонента получался коричневый цвет (# AA5500).
К видеоадаптеру CGA через цифровой 9-контактный разъём DE-9 подключался монохромный MDA-монитор или цветной CGA-монитор.
Примечание: Как вы думаете почему в CGA максимум 16 цветов? Каждый цвет формировался отдельным включением сигнала на RGB-контактах: включено (1) или выключено (0). Что давало 8 вариантов базовых цветов (это 2 в 3 степени). Отдельным контактом в DE-9 интенсивность (intebsity) задавался яркость цвета (то есть 0 - не яркий и 1 - яркий). Это давало еще тех же 8, но ярких цветов, что в сумме получалось 16 цветов (или условно 2 в 4 степени).
В CGA также дополнительно имелся композитный RCA-разъём, к которому мог подключаться телевизор стандарта NTSC или специальный цветной ЭЛТ-монитор. Это для видеоадаптера CGA стало большим плюсом! Но к сожалению у CGA было и много минусов, к примеру: низкие разрешения выдаваемого изображения, ограниченное количество цветов, и дефект в виде "снега" в текстовом режиме.
К компьютеру CGA мог присоединяться только посредством широко распространённого в то время на платах 8-битного порта ISA, на смену которого вскоре пришла 16-битная ISA и позже 32-х битная шина EISA.
Несмотря на то, что видеоадаптер CGA был разработан одновременно с видеоадаптером MDA, он применялся редко и не был столь популярен. Широкую известность CGA получил уже позже, с выходом в 1983 году новейшего компьютера IBM PC/XT и создания к нему цветного RGB-монитора. Но радость многих пользователей была недолгой. Следом за видеоадаптером CGA в 1984 году пришёл видеоадаптер EGA, который и решил его дальнейшую судьбу.
О графических возможностях 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 стали: 16-цветный текстовый режим 80х25 символов и 4-цветный графический режим 320х200 точек, в котором одновременно можно использовать только четыре цвета, которые нельзя выбрать самостоятельно. Для данного режима с №4 были заранее аппаратно определены 2 основные палитры, которые расширялись ещё 2-я дополнительными палитрами:
- Палитра № 0: светло-голубой, светло-пурпурный, белый и цвет фона (по умолчанию — чёрный). И те же варианты с пониженной яркостью.
- Палитра № 1: светло-зелёный, светло-красный, жёлтый и цвет фона (по умолчанию — чёрный). И те же варианты с пониженной яркостью.
Плюс к всему перечисленному, в режиме №5 можно было использовать ещё одну недокументированную палитру №2 с дополнительным вариантом: светло-голубой, светло-красный, белый и цвет фона (по умолчанию — чёрный). И те же варианты, но с пониженной яркостью.
Режим №5 отключал цветовую насыщенность, чтобы цвета могли отображаться в градациях серого на композитном мониторе.
О дефекте CGA!
В 80-е годы XX века все видеоадаптеры не могли самостоятельно обрабатывать графические данные, весь процесс обработки изображения ложился на центральный процессор компьютера (CPU). Персональные компьютеры в те далекие годы были медленными как и процессор, поэтому он в принципе не успевал записать в видеопамять CGA новое изображение. К тому же видеопамять в свою очередь не поддерживала одновременное чтение и запись, поэтому в ней могли находиться случайные данные, которые видеоконтроллер Motorola MC6845 уже успевал вывести на экран, исказив этим изображение.
Вот так в видеоадаптере CGA, только в текстовом режиме 80x25 символов, появился знаменитый аппаратный дефект в виде "снега". Позже этот дефект был исправлен во многих клонах CGA.
Это интересно! В CGA было 1024 цвета?
В 2015 году на конкурсе компьютерного искусства (demopaty) Revision 2015, проходившем в городе Саарбрюккен (Германия), группа хакеров смогла продемонстрировать на устаревшем CGA-видеоадаптере свою удивительную программу-демку "8088MPH", которая используя хитрый способ, несмотря на ограничения CGA, смогла реализовать на экране монитора 256 цветов в динамичном изображении!
А также эти кулибины, используя телевизор и скрытые возможности композитного разъема RCA, умудрились показать на экране статическое 1024-цветное изображение. За эту невероятную демосцену команда получила 1 место в категории oldskool demo compo на Revision 2015!
Вот где лайфхак, так лайфХАК!)) Браво!
Друзья, если вам понравилась статья, поставьте палец в верх!
И на канал подпишитесь.
---------------------------------------------------------------------------------------
Совет! Посмотрите все статьи канала GRAFICOMP
предыдущая статья Часть 21