CGA-графика
Подавляющее большинство отечественных IBM-совместимых 80-90х годов имели видеоадаптер именно CGA, давайте рассмотрим его подробнее.
В 1981 году во время появления первых IBM PC видеоплата CGA (Color Graphics Adapter) предлагалась как достаточно дорогая модель, старшая в серии видеокарт для PC (младшей была монохромная и чисто текстовая MDA — Monochrome Display Adapter). И по конструкции это был достаточно внушительный агрегат — длиннющая плата, содержавшая порядка 70 микросхем (больше, чем во многих ПК начала 80-х и не намного меньше, чем системная плата того же IBM PC), включая собственное ОЗУ на 16 Кбайт, ПЗУ со знакогенератором на 256 символов (2 Кбайт), чип видеоконтроллера Motorola 6845 (он же использовался в видеокартах MDA и EGA, компьютерах BBC Micro, Amstrad CPC и др.) и десятки корпусов «мелкой логики». Поддерживалось несколько текстовых и графических режимов, причём текстовые были вполне многоцветные: отображалось 25 строк по 80 или 40 символов (матрица знака 8х8 точек), и для каждого символа допускался выбор любого из 16 цветов фона и 16 цветов изображения, а также доступно мерцание. В стандартном графическом режиме 320×200 точек CGA мог отображать лишь 4 цвета одновременно с возможностью выбора одной из двух палитр (но для каждой доступно два варианта — тёмный и светлый), а также выбором любого цвета фона из 16-ти доступных. В режиме высокого разрешения 640×200 точек выводилось лишь два цвета, причём один из них выбирался произвольно из 16-цветной палитры (но почти всегда использовался белый), а фон всегда оставался чёрным.
Фото с попугаями, выведенное на CGA в разрешении 320х200 c первой 4-цветной палитрой (яркий вариант). Видно, что для отображения реалистичных картинок четырёх цветов отчаянно не хватает, хотя сами доступные цвета достаточно приятные, тёплые.
Монохромная CGA-графика в разрешении 640х200: достаточно чёткое изображение с неплохой передачей полутонов за счёт изменения пространственной плотности расположения точек
Третий (как бы нестандартный) вариант палитры CGA: неплохое сочетание тёплого (красный) и холодных цветов (голубой, белый)
Надо заметить, CGA-графика отличается достаточно странным и спорным набором цветов — мало того, что их всего 4, так ещё и выбор их довольно загадочен: в одной палитре — белый, голубой и сиреневый, в другой — красный, зёленый, жёлтый/коричневый (не считая цвета фона, который в большинстве случаев был чёрным). Отобразить с такими цветами какую-либо приличную графику достаточно проблематично, в том числе и в играх. Впрочем, хотя цвета CGA и принято поругивать, всё же своя логика в них есть: в палитре «красный-зелёный-жёлтый» цвета «тёплые», в «белый-голубой-сиреневый» — «холодные», а в 3-й палитре («голубой, красный, белый») — смесь тех и других.
Ещё одной особенностью, связанной с ограничениями чипа 6845 (он предназначен в основном для вывода текста, а не графики, и мог отображать не более 128 строк) было использование двухбанковой структуры видеопамяти в графическом режиме: нечётные строки изображения (100 строк, ~8 Кбайт) хранились в одной половине памяти, чётные — в другой, то есть последовательно расположенные строки находились в памяти не друг за другом, а со смещением в 8 Кбайт, что создавало некоторые трудности при программировании графики.
Известным недостатком оригинальных CGA (отсутствующим у многих «клонов» CGA и у всех видеокарт других типов) был так называемый «снег» — помехи в виде случайных горизонтальных чёрточек, появлявшиеся в текстовом режиме при записи данных процессором ПК в видеопамять (из-за приоритета ЦП ПК над видеоконтроллером при доступе к видеопамяти). Обойти этот недостаток можно было лишь одним способом — записывая данные в видеопамять только в короткий период обратного хода луча кадровой развёртки (примерно 1—2 миллисекунды в течение каждого кадра длительностью 1/60 сек) или обратного хода строчной развёртки (очень короткие отрезки в несколько микросекунд после вывода каждой строки на экран).
Никакой стандартной поддержки игровой или «мультимедийной» графики у CGA не предусмотрено — ни скроллингов (плавного сдвига изображения по вертикали или горизонтали), ни аппаратных «спрайтов», ни программируемой палитры, ни многоплановой структуры видеопамяти и т. д. Вся работа с графикой выполнялась чисто программно, за счёт центрального процессора. Зато, в отличие от большинства тогдашних игровых ПК, в CGA есть произвольный выбор цветов для любой точки — в графическом режиме среднего разрешения 320х200 нет никаких ограничений на использование доступных 4-х цветов, любые точки (в том числе соседние) можно окрашивать в любой из 4-х цветов (аналогично БК-0010/0011, «Львову», «Искре 1080» и т.д.). Правда, в отличие от некоторых ПК (например, советского «Корвета») одновременное использование графического и текстового режимов — скажем, наложение аппаратного текста на графику или наоборот — не предусмотрено.
CGA-графика с 16-ю цветами, но низкого разрешения — 160х100. Цвета, безусловно, намного веселее, но разрешение, к сожалению, катастрофически слабое.
Кроме стандартных режимов, CGA поддерживал и несколько дополнительных возможностей, которые иногда использовались в программах и играх: третью палитру (голубой, красный, белый), «композитный» 16-цветный графический режим с использованием особенностей американского стандарта цветного телевидения NTSC (позволял значительно улучшить цвета в некоторых играх), 16-цветную графику низкого разрешения 160х100 на основе изменённого текстового режима и др. Однако большинство разработчиков игр пользовалось лишь стандартными возможностями, изредка прибегая к каким-то «твикам» вроде многократной смены палитр или фонового цвета в кадре. Хороший пример максимального использования функций CGA дают «демки» — например,
Обычный текстовый режим CGA 80x25: пример программы на стандартном Бейсике — строки почти слипаются, читать текст очень неудобно
Та же Бейсик-программа на мониторе MDA: между строками нормальные просветы, читать текст намного легче; изображение приятно-зеленоватое, поскольку большинство монохромных мониторов для IBM PC имели именно зелёное свечение (реже жёлтое, белое и т.п.)
Текст CGA: на укрупнённом снимке хорошо видно, что соседние строки местами буквально сливаются (там, где есть запятые, а в других случаях — некоторые строчные буквы, спецсимволы и т.д.), поскольку на просвет между строками отведена всего одна точка
Текст MDA (а также Hercules): строки не «сливаются» (на просветы между ними отведено 3 точки), сами символы несколько мельче, но заметно чётче и выглядят лучше (матрица типичного большого символа 7х11 точек, а не 7х7, как у CGA); между буквами просветы так
В целом, CGA-видеокарты трудно назвать удачными, даже с учётом относительно раннего времени появления. В качестве профессиональных они во многом уступали даже более простым MDA или Hercules, имевшим значительно более приятный и серьёзный режим вывода текста с матрицей знакоместа 9х14 точек, из которых сами символы использовали 7х11 точек (между буквами были нормальные просветы как по горизонтали, так и, особенно, по вертикали; а вот в CGA символы и строки были вплотную прилеплены друг к другу — матрица знакоместа 8х8, а матрица символа 7х7, то есть просветы между крупными символами всего в одну точку и сами символы более простые, что выглядело гораздо хуже и напоминало дешёвые домашние ПК). Графика CGA также была весьма ограниченной (особенно по количеству цветов) и малопригодной для серьёзных целей в качестве именно цветной графики. Однако само наличие графики, конечно, сильно расширяло сферу применения ПК в сравнении, например, с текстовыми MDA — и не только в тех очевидных случаях, когда требовалось что-то рисовать на экране, но и, к примеру, для той же обработки текстов (появлялись возможности пропорционального отображения букв, а не с постоянной шириной, изменения начертания и размера шрифта, одновременного использования любых языков и т. п.) или для реализации графических оболочек в операционных системах (в середине 1980-х появились первые версии Windows и другие подобные программы).
Хотя первые IBM PC в минимальной конфигурации были вполне рассчитаны на подключение к обычному телевизору и бытовому магнитофону (но гораздо чаще использовались всё же со специальным монитором и дисководами), для домашнего использования CGA был также не очень-то хорош — для компьютера с минимальной ценой 1565 долларов (с 16 Кбайт ОЗУ и без какой-либо периферии) предлагалась видеокарта, явно уступавшая по возможностям работы с цветом очень многим в разы более дешёвым домашним ПК и видеоприставкам (причём видеокарта гордо называлась «цветным графическим адаптером» и стоила дороже многих ПК и приставок). Впрочем, в отличие от большинства дешёвых ПК и, тем более, приставок, CGA всё же имел достаточно высокое разрешение и графики, и текста, что выделяло его среди типичных домашних ПК начала 80-х. А в сфере профессиональных ПК многие вообще не имели поддержки графики, предлагая чисто текстовый экран. Однако некоторые компьютеры при значительно более скромных ценах отличались заметно лучшими графическими возможностями — к примеру, вышедший в конце того же 1981 года учебно-домашний Acorn BBC Micro, основанный также на видеоконтроллере 6845, предлагал гораздо больше режимов экрана, большее количество одновременно выводимых цветов (8 вместо 4, да ещё и с программируемой палитрой) и большее максимальное разрешение (640х256 вместо 640х200).
Серьёзными конкурентами CGA были видеокарты Hercules Graphics Card, производившиеся с 1982 года и не имевшие поддержки цвета (хотя позже вышла и цветная версия), но зато обеспечивающие высокое качество текста и графику вдвое большего разрешения, чем CGA — 720х348 точек. Эти видеокарты были совместимы как с MDA, так, частично, и с CGA, поэтому были очень удобны для бизнес-пользователей и стали фактически главным стандартом на IBM-совместимых ПК с монохромными мониторами.
Одна из первых версий Windows (1.01) на IBM PC с CGA: работа в графическом режиме 640х200 позволяет отображать текст со шрифтами разного вида (в том числе пропорциональными) и разного размера
Windows 1.01 на CGA, графический редактор Paint: разрешения 640х200 было вполне достаточно для рисования качественных монохромных значков, окон и т.п.
Таким образом, CGA, очевидно, создавался как некий компромисс между функциями вывода текста и графики, возможностями чипа 6845, объёмом видеопамяти, необходимостью поддержки не только специальных мониторов, но и бытовых телевизоров (а это сильно снижало допустимое вертикальное разрешение) и так далее. В результате получился достаточно странный видеоадаптер, не очень-то хорошо справляющийся ни с типичными задачами профессиональных ПК (как правило, в том или ином виде работа с текстами), ни с развлекательными функциями домашних ПК, но при этом довольно сложный и дорогой (и рассчитанный на подключение к достаточно дорогому цветному монитору, а не к дешёвому монохромному). Впрочем, долгая жизнь CGA — а они были основными цветными видеокартами на IBM-совместимых ПК примерно до 1987 года и очень широко использовались вплоть до начала-середины 1990-х — говорит о том, что при всех теоретических недостатках, его практические возможности оказались вполне приемлемыми для широкого круга задач. В 1984 году IBM предложила новый вариант старшей видеокарты массового применения — EGA (Enhanced Graphics Adapter), в которой удачно исправлялись недостатки как текстового режима (матрица знакоместа увеличена до 8х14 точек, появился программируемый знакогенератор), так и графического (максимальное разрешение увеличено до 640х350, причём для любой точки доступно 16 цветов, программируемых из общей палитры в 64 цвета). Впрочем, EGA-карты стоили значительно дороже и не были совместимы с CGA-мониторами, а EGA-мониторы также были дороже. Поэтому в недорогих IBM-совместимых видеокарты CGA продолжали использоваться ещё достаточно долго, в том числе даже после появления ещё более продвинутых VGA (1987 г.), XGA, SVGA и т. д.
Применение CGA-совместимых видеоконтроллеров в советских IBM-совместимых ПК, особенно недорогих домашних моделях, также вполне логично: для дешёвых компьютеров более сложные и дорогие видеокарты были просто неприемлемы (учитывая, что даже на реализацию сравнительно простого CGA уходило до половины микросхем всего ПК); к тому же среди стандартных видеоадаптеров для PC только CGA поддерживал вывод на обычные телевизоры, что было необходимым условием для отечественных домашних ПК.
Нарисовала Цуёси Мукоду на заказ
100 известных цитат из американских фильмов
сборник Американского института кинематографии.
пруфы:
на вики: 100 известных цитат из американских фильмов за 100 лет по версии AFI
Ну, и - демотиватор, сильвупле.
Фраза из фильма про страну Оз. В советском изводе - "Волшебник Изумрудного города"
фотошоп + Ваком Интуос
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.