Ekb-oskab.ru

Прием лома металлов

EGA

20-10-2023

Видеокарта EGA

EGA (англ. Enhanced Graphics Adapter - Усовершенствованный графический адаптер) — стандарт мониторов и видеоадаптеров для IBM PC, расположенный между CGA и VGA по своим характеристикам (цветовое и пространственное разрешение). Выпущен IBM в августе 1984 года.[1] Видеоадаптер EGA позволяет использовать 16 цветов при разрешении 640×350 пикселов. Видеоадаптер оснащён 16 кБ ПЗУ для расширения графических функций BIOS.

Адаптер EGA при разрешении 640×350 позволяет одновременно использовать 16 цветов из возможных 64-х (по два бита на красную, зелёную и синюю составляющие). EGA также поддерживает 16-цветные варианты графических режимов CGA 640×200 и 320×200; в этом случае можно использовать только цвета из палитры CGA. Исходные режимы CGA также поддерживаются, хотя EGA не полностью аппаратно совместим с CGA. EGA может выводить изображение на MDA-монитор, эта возможность включается с помощью переключателей на плате, при этом доступен только режим 640×350.

Плата EGA подключается к шине ISA, начиная с 8-битной версии. Базовая версия EGA имела 64 кБ видеопамяти, чего было достаточно для монохромной графики высокого разрешения и цветной графики в режимах 640×200 и 320×200. Со временем большая часть плат EGA стала выпускаться с 256 кБ видеопамяти. Некоторые клоны EGA сторонних производителей (в частности, ATI Technologies и Paradise) поддерживают расширенные графические режимы (например, 640×400, 640×480 и 720×540), автоматическое определение типа монитора и, иногда, специальный чересстрочный режим для CGA-мониторов.

Стандарт EGA был замещён стандартом VGA, представленным IBM в апреле 1987 года с моделью компьютера PS/2.

Содержание

Архитектура и плоскостная видеопамять

Видеопамять EGA физически делилась на 4 плоскости равного размера — от 16К (младшие модели) до 64К (старшие).

Прямое отображение сразу всей видеопамяти в адресное пространство процессора было невозможно, все плоскости всегда отображались по одному и тому же адресу — 0xa0000 для 16цветных графических режимов и 0xb8000 для всех остальных. Таким образом, один и тот же адрес адресовал сразу 4 байта, расположенные как бы «параллельно» друг другу в 4 плоскостях.

Для доступа процессора к такой видеопамяти EGA содержал т. н. секвенсор. Секвенсор поддерживал 3 режима записи в видеопамять и 2 режима чтения, и имел немалое количество управляющих регистров.

При записи использовались регистры:

  • маска плоскости. Запись не вносила изменений в те плоскости, биты которых в данном регистре были установлены в 0.
  • маска битов. Для каждого байта в каждой плоскости запись не изменяла те биты, которые были установлены в 0 в данном регистре.
  • логическая операция. 16 стандартных логических операций, они же используются в Windows GDI. В результате записи бит видеопамяти устанавливался в логическую функцию от бита пришедших от процессора данных и старого значения бита видеопамяти. Код логической операция есть 4 бита, бит данных процессора выбирал между старшими и младшими 2, а старое значение бита видеопамяти — между четными и нечетными. Выбранный бит кода логической операции и являлся новым значением бита видеопамяти. Например, логическая операция 0000b — установить все в чёрное, 1111b — все в белое, 1100b — обычное копирование битовой карты, 0011b — копирование с инвертированием, 1010b — пустая операция, 0101b — инвертирование старого содержимого, 1110b — OR старого содержимого с новым, 1000b — AND старого и нового, 0110b — XOR.
  • циклический сдвиг данных, поступивших от процессора (только для режима 0).

В режиме 0 байт, поступивший от процессора, понимался как новое значение для 4 байтов 4 плоскостей. В режиме 2 использовались только 4 бита в байте, поступившем от процессора. Для плоскостей, у которых в этом байте был 1 — использовалось значение 11111111b, для остальных — 00000000b.

В режиме 0 чтения использовался регистр выбора плоскости, чтение читало байт из выбранной плоскости.

В режиме 1 использовался регистр выбора бита, секвенсор извлекал 4 бита, позиция которых была задана регистром выбора, из 4 плоскостей и комбинировал их в 4битное значение (старшие 4 бита обнулялись).

В графических режимах CGA использовалась только плоскость 0, секвенсор всегда находился в состоянии по умолчанию и не использовался.

В текстовых режимах для хранения кодов символов и атрибутов использовалась та же плоскость 0, а плоскость 1 использовалась для хранения таблиц знакогенератора. Секвенсор обычно находился в состоянии по умолчанию, кроме случая загрузки знакогенератора — для этого регистр маски плоскости переключали в 2, писали данные знакогенератора по тому же адресу 0xb8000 и затем переключали маску обратно в 1.

Во всех 16цветных графических режимах использовались все 4 плоскости, каждая из которых хранила монохромную картинку для одного из 4 компонент общего цвета — красного, зелёного, синего и интенсивности (в палитре по умолчанию). Комбинированием битов из 4 плоскостей получалось 4битное значение цвета пиксела (индекса в палитру).

Палитра

4битные значения цветов пропускались через 16 регистров палитры, каждый из которых содержал 6 битное значение цвета — по 2 бита на R, G и B. Это же 64битное значение затем выставлялось на кабель, ведущий к монитору.

Регистры палитры были реализованы только на запись без возможности чтения.

Текстовые режимы

В текстовых режимах используется два типа шрифтов. Стандартный шрифт EGA формируется матрицей 7×9 в ячейке 8×14 пикселов. Для совместимости с CGA используется шрифт с матрицей 7×7 в ячейке 8×8 пикселов.

EGA — первый видеоадаптер IBM, позволяющий программно менять шрифты текстовых режимов.

Доступны следующие режимы:[2][3]

  • 80×25 символов (ячейка 8×14 пикселов; разрешение 640×350 пикселов).
  • 40×25 символов (ячейка 8×8 пикселов; разрешение 320×200 пикселов).
  • 80x43 символов (ячейка 8×8 пикселов; разрешение 640×350 пикселов). Данный режим не является стандартным. Для его использования необходимо сначала установить режим 80×25, а затем загрузить шрифт 8×8 с помощью команды BIOS.[4]

Графические режимы

  • 320×200 пикселов;
  • 640×200 пикселов;
  • 640×350 пикселов.

Технические характеристики

EGA всегда использовал частоту кадров в 60Гц, и мог использовать одну из двух частот строк — 21.8 КГц для 350 строк (все текстовые режимы и режим 640x350x16) и 15.7 КГц для 200 строк (все остальные графические режимы).

Разъём

Вид разъёма на видеокарте:[5]

5 1
9 6
Вывод Описание
1 земля
2 вторичный красный
3 первичный красный
4 первичный зелёный
5 первичный синий
6 вторичный зелёный / интенсивность
7 вторичный синий
8 строчная синхронизация
9 кадровая синхронизация

Сигнал

Тип Цифровой, ТТЛ[6]
Разрешение 640×350 и др.
Горизонтальная частота 15,7/21,8 кГц
Вертикальная частота 60 Гц
Количество цветов 16/64

Конкурирующие видеоадаптеры

В 1984 году IBM также выпустила видеоадаптер Professional Graphics Controller для использования в САПР. Адаптер поддерживал разрешение 640×480 пикселов (немного больше, чем у EGA) и одновременный вывод 256 цветов из 4096 возможных. Увеличенное количество цветов позволяло создавать фотореалистичные изображения. Адаптер имел собственный язык для создания и преобразования двухмерных и трёхмерных изображений. Также адаптер мог эмулировать работу CGA.[7] Впрочем, конкурирующим его можно назвать чисто условно, так как он занимал совершенно другую «экологическую нишу» — фактически PGC был ценой с ещё один топовый ПК, был устроен как специализированный ПК и относился к графическим ускорителям.

Примечания

  1. EGA Boards Labeled 'Accepted Standard' // InfoWorld. — 1985. — Т. 7. — № 51. — P. 14. — 0199-6649.
  2. Nicer console textmodes  (англ.).(недоступная ссылка) Проверено 28 октября 2006.
  3. Frequently Asked Questions (Часто Задаваемые Вопросы) по видеоаппаратуре для IBM PC (txt). Архивировано из первоисточника 17 февраля 2012. Проверено 28 октября 2006.
  4. Int 10/AX=1112h
  5. Справочник www.5v.ru. Архивировано из первоисточника 17 февраля 2012. Проверено 24 октября 2006.
  6. Logic signal voltage levels  (англ.). All About Circuits. Архивировано из первоисточника 8 февраля 2012. Проверено 14 октября 2006.
  7. A Professional Graphics Controller  (англ.). IBM Systems Journal (1985). Архивировано из первоисточника 17 февраля 2012. Проверено 1 ноября 2006.

EGA.

© 2018–2023 ekb-oskab.ru, Россия, Челябинск, ул. Горького 53, +7 (351) 992-98-28