Enhanced Graphics Adapter ( EGA ) — графический адаптер IBM PC [2] [3] и фактический стандарт компьютерных дисплеев с 1984 года, который заменил стандарт CGA, представленный с оригинальным IBM PC , и который сам был заменен стандартом VGA в 1987 году. В дополнение к оригинальной карте EGA, производимой IBM , было произведено много совместимых карт сторонних производителей, а графические режимы EGA продолжали поддерживаться VGA и более поздними стандартами.
EGA был представлен в октябре 1984 года компанией IBM, [2] [3] вскоре после ее нового PC/AT . EGA можно было установить в ранее выпущенные IBM PC, но для этого требовалось обновление ПЗУ на материнской плате . [4]
Первым продуктом Chips and Technologies , анонсированным в сентябре 1985 года, был набор микросхем EGA с четырьмя чипами , который выполнял функции 19 фирменных чипов IBM на оригинальном Enhanced Graphics Adapter. К ноябрьскому COMDEX более полудюжины компаний анонсировали совместимые с EGA платы на основе набора микросхем C&T. [5] Первой совместимой с EGA платой стала Vega в декабре 1985 года, выпущенная Video Seven и использующая набор микросхем C&T. [6] : 34 Vega была в два раза меньше оригинальной платы IBM EGA. [7]
В период с 1984 по 1987 год несколько сторонних производителей выпустили совместимые карты, такие как Autoswitch EGA [8] или чипсет Super EGA от Genoa Systems . [9] Более поздние карты, поддерживающие расширенную версию VGA, также назывались Super VGA .
Стандарт EGA устарел в 1987 году с появлением MCGA и VGA в компьютерной линейке PS/2 . [10]
Коммерческое программное обеспечение начало поддерживать EGA вскоре после его появления, с The Ancient Art of War , выпущенным в 1984 году. [11] Microsoft Flight Simulator v2.12 , [12] [13] Jet , [14] Silent Service , [15] и Cyrus , [16] все выпущенные в 1985 году, предлагали поддержку EGA, наряду с Windows 1.0 . King's Quest III от Sierra , выпущенная в 1986 году, была одной из первых массовых игр для ПК , в которой она использовалась.
К 1987 году поддержка EGA стала обычным явлением. [17] Большая часть программного обеспечения, созданного до 1991 года, могла работать в EGA, хотя подавляющее большинство коммерческих игр использовало разрешение 320 × 200 с 16 цветами для обратной совместимости с CGA и Tandy , а также для поддержки пользователей, у которых не было улучшенного монитора EGA. Режимы с 350 строками в основном использовались бесплатными/условно-бесплатными играми и прикладным программным обеспечением, хотя SimCity является ярким примером коммерческой игры, которая работает в режиме 640 × 350 с 16 цветами. [18] [19] Современные приключенческие игры, такие как The Crimson Diamond , используют бесплатные инструменты, такие как Adventure Game Studio, для создания игр с цветовыми палитрами в стиле EGA, но с современными функциями. [20]
Оригинальная IBM EGA представляла собой 8-битную карту PC ISA с 64 КБ встроенной оперативной памяти . Дополнительная дочерняя плата ( карта расширения графической памяти ) обеспечивала минимум 64 КБ дополнительной оперативной памяти и до 192 КБ при полной комплектации комплектом модуля графической памяти . [21] Без этих обновлений карта была бы ограничена четырьмя цветами в режиме 640 × 350. [22]
Выход осуществлялся через прямой привод RGB , [23] как и в случае с CGA, но композитный видеовыход не был включен. [24] Можно было управлять мониторами MDA и CGA, а также недавно выпущенными улучшенными цветными мониторами для использования специально с EGA. [25]
Мониторы EGA использовали конструкцию с двойной синхронизацией , которая могла переключаться с 15,7 кГц для 200-строчных режимов на 21,8 кГц для 350-строчных режимов. [25]
Многие карты EGA имеют DIP-переключатели на задней стороне карты для выбора типа монитора. Если выбран CGA, карта будет работать в 200-строчном режиме и использовать 8×8 символов в текстовом режиме . Если выбран EGA, карта будет работать в 350-строчном режиме и использовать текст 8×14.
Некоторые сторонние карты, использующие спецификацию EGA, продавались с полными 128 КБ ОЗУ с завода, в то время как другие включали до 256 КБ для включения нескольких графических страниц, нескольких наборов символов текстового режима и больших прокручиваемых дисплеев. [8] Несколько сторонних карт, таких как ATI Technologies EGA Wonder , построены на стандарте EGA, чтобы дополнительно предлагать такие функции, как расширенные графические режимы до 800 × 560 и автоматическое определение типа монитора. [26]
EGA обеспечивает отображение до 16 цветов (используя фиксированную палитру или один, выбранный из гаммы из 64 цветов (6-битный RGB) , в зависимости от режима) при нескольких разрешениях до 640 × 350 пикселей, а также два монохромных режима при более высоких разрешениях. Карты EGA включают ПЗУ для расширения системного BIOS для дополнительных графических функций и настраиваемый контроллер ЭЛТ (CRTC) . [27]
IBM EGA CRTC поддерживает все режимы адаптеров IBM MDA и CGA через специальные опции режима, [27] но он не полностью совместим по регистрам с Motorola MC6845, используемым в этих картах, поэтому программное обеспечение, которое напрямую программирует регистры для выбора режимов, может давать разные результаты на EGA. [28]
Поддерживаемые разрешения: 320 × 200 и 640 × 200 (на мониторе CGA или EGA [29] ), 720 × 350 и 640 × 350 (на мониторе MDA) и 320 × 350 и 640 × 350 (на мониторе EGA). EGA сканирует на частоте 21,8 кГц при использовании 350-строчных режимов и 15,7 кГц при использовании 200-строчных режимов. [25]
В режиме высокого разрешения 640 × 350, который требует улучшенного монитора EGA, можно выбрать 16 цветов из палитры, включающей все комбинации двух бит на пиксель для красного, зеленого и синего. Это четыре уровня интенсивности для каждого основного цвета и 64 цвета в целом. Графические режимы 640 × 200 и 320 × 200 обеспечивают обратную совместимость с программным обеспечением и мониторами CGA, но они могут использовать всю шестнадцатицветную палитру CGA одновременно, вместо меньших четырехцветных палитр, которыми фактический CGA ограничен в этих режимах. [29]
16-цветные графические режимы EGA используют битовые плоскости и регистры масок [30] вместе с побитовыми операциями ЦП [31] для ускоренной графики . Те же методы использовались в дальнейшем в VGA .
EGA поддерживает:
Текстовые режимы:
Расширенные графические режимы сторонних плат: [ требуется ссылка ]
С EGA все 16 цветов CGA могут использоваться одновременно, и каждый может быть отображен из более крупной палитры из 64 цветов (по два бита для красного, зеленого и синего). Альтернативный коричневый цвет CGA включен в более крупную палитру, поэтому его можно использовать без какого-либо дополнительного оборудования для отображения. Более поздний стандарт VGA был построен на этом путем отображения каждого из 64 цветов из более крупной, настраиваемой палитры из 256.
Стандартные мониторы EGA не поддерживают использование расширенной цветовой палитры в 200-строчных режимах, поскольку монитор не может отличить подключение к карте CGA от подключения к карте EGA, выводящей 200-строчный режим. EGA переопределяет некоторые контакты разъема для передачи расширенной цветовой информации. Если бы монитор был подключен к карте CGA, эти контакты не несли бы допустимую цветовую информацию, и экран мог бы быть искажен, если бы монитор интерпретировал их как таковые. По этой причине стандартные мониторы EGA будут использовать назначение контактов CGA в 200-строчных режимах, поэтому монитор также может использоваться с картой CGA. [ необходима цитата ]
Некоторые мониторы EGA являются переключаемыми , что означает, что их можно настроить на использование полной палитры даже в 200-строчных режимах, часто с помощью механического переключателя. Только несколько коммерческих игр были выпущены с поддержкой расширенной цветовой палитры в 320 × 200 или 640 × 200 (включая версию Super Off Road для DOS ). [32] [33]
При выборе цвета из палитры EGA для красного, зеленого и синего каналов используются два бита, которые сигнализируют значения 0, 1, 2 или 3. Например, чтобы выбрать пурпурный цвет, значения красного и синего будут средней интенсивности (2 или 10 в двоичном формате), а значение зеленого будет выключено (0).
В таблице ниже показан пример палитры, соответствующей стандартным 16 цветам CGA, с их представлениями в двоичном формате rgbRGB (внутренний порядок бит карты), где строчные буквы являются битами низкой интенсивности, а заглавные буквы являются битами высокой интенсивности. Также показаны десятичные и шестнадцатеричные значения (преобразованные в эквивалентные 24-битные веб-цвета sRGB ).
На следующих изображениях подробно представлена полная палитра EGA.
EGA использует гнездовой девятиконтактный D-subminiature ( DE-9 ) разъем для выхода, идентичный разъему CGA. Стандарт сигнала и распиновка обратно совместимы с CGA, что позволяет использовать мониторы EGA на картах CGA и наоборот.
При работе в режимах EGA контакты 2, 6 и 7 повторно используются для вторичных сигналов RGB EGA (см. таблицу контактов ниже). При работе в режимах CGA на 200 строк карта EGA полностью обратно совместима со стандартным монитором IBM CGA; однако мониторы сторонних производителей имели разную совместимость. [ необходима цитата ]
Мониторы сторонних производителей иногда подключали контакт два к земле внутри. При подключении к карте EGA это замыкает вторичный красный выход EGA на землю и может повредить карту. Кроме того, некоторые мониторы были подключены с контактом два в качестве единственного заземления, и они не будут работать с EGA. [ необходима цитата ]
И наоборот, монитор EGA должен работать с адаптером CGA, но если он не настроен на режим CGA, вторичный красный сигнал будет заземлен (всегда равен нулю), а вторичный синий будет плавающим (неподключенным), в результате чего все цвета высокой интенсивности, кроме коричневого, будут отображаться некорректно, а все цвета потенциально будут иметь переменный синий оттенок из-за неопределенного состояния неподключенного вторичного синего. [ необходима ссылка ]
Монитор IBM 5154 EGA имеет специальный режим совместимости с IBM 5153 CGA при работе с сигналами синхронизации CGA и автоматически переключается на распиновку CGA, чтобы избежать всех упомянутых проблем при работе в этом режиме. [34]
Оригинальная карта IBM EGA включает в себя функциональный разъем (синий разъем J4, см. первое фото на этой странице), обеспечивающий доступ к двум разъемам RCA на задней стороне карты, в дополнение к нескольким аналоговым и цифровым сигналам, на использование которых можно настроить адаптер EGA. [35]
Интерфейс светового пера также присутствовал на оригинальной карте. [36]
Для цветного текста и графических режимов CGA видеопамять отображается на 16 КБ адресов, начиная с адреса B8000h, а в монохромном (совместимом с MDA) текстовом режиме видеопамять занимает 16 КБ, начиная с B0000h. Эти отображения адресов предназначены для обратной совместимости.
Для новых для EGA режимов видеопамять начинается с адреса A0000h и занимает 64 КБ. Различные базовые адреса для цветных и монохромных режимов позволяют использовать EGA одновременно с монохромной графической картой на одном компьютере или использовать EGA в текстовом режиме MDA одновременно с CGA на одном компьютере.
Собственные графические режимы EGA являются планарными , в отличие от чередующихся режимов CGA и Hercules . Видеопамять разделена на четыре «плоскости» (за исключением 640 × 350 × 2, в котором есть две плоскости), по одной для каждого компонента цветового пространства RGBI. Каждый пиксель представлен одним битом в каждой плоскости. Если бит в красной плоскости включен, но ни один из эквивалентных битов на других страницах не включен, в этом месте на экране появится красный пиксель. Если все остальные биты для этого конкретного пикселя также включены, он станет белым и т. д.
Самолеты имеют разные размеры в зависимости от режима:
Все плоскости находятся в сегменте A000 адресного пространства ЦП. Они переключаются банками, и только одна плоскость может быть прочитана на шине ЦП одновременно; однако программист может настроить регистры управления на карте для выбора плоскостей для записи и записи в несколько одновременно. Исключением является режим чтения 1, в котором все четыре плоскости считываются и сравниваются с запрограммированными данными "Color Compare", а байт, указывающий результат сравнения всех четырех плоскостей, может быть прочитан на шине ввода-вывода.