
Архитектура видеоадаптера Hercules
Имеет разрешающую способность экрана 720 х 348 точек и две страницы видеопамяти по 32 Кбайта (218 бит) каждая. Пикселю экрана соответствует один бит видеопамяти, что позволяет получать только черно-белые изображения. Каждая страница имеет 4 сегмента со следующими шестнадцатеричными адресами:
страница 0 - $B000 страница 1 - $B800
$B200 $BA00
$B400 $BC00
$B600 $BE00
Для повышения скорости воспроизведения (частоты кадров) в данном адаптере применяется четырехкратный вывод одного кадра, разбитого на фрагменты изображения (сегменты) через четыре строки. Каждый сегмент содержит такую четверть кадра. Таким образом, один кадр содержится в четырех сегментах страницы. При этом строки кадра распределяются по сегментам следующим образом:
- сегмент B000 содержит строки с номерами 0, 4, 8, ... , 344;
- сегмент B200 содержит строки с номерами 1, 5, 9, ... , 345;
- сегмент B400 содержит строки с номерами 2, 6,10, ... , 346;
- сегмент B600 содержит строки с номерами 3, 7,11, ... , 347.
Другая страница организована аналогично. Как видно из сказанного, сегменты содержат последовательно строки кадра, взятые через четыре строки.
Каждая строка экрана занимает 90 байт (90 х 8 = 720), а каждый байт видеопамяти соответствует 8 пикселям экрана (рис. 4.3).
байт 0 байт 1 . . . байт 89 строка 0
байт 90 байт 91 . . . байт 179 строка 1
Рис. 4.3
На экране байты отображаются как обычно старшими разрядами вперед, а номера пикселей (координата X) растут слева направо. Соответствие номеров пикселей в пределах одного байта и номеров бит показано на рис. 4.4, а структура координат X и Y пикселя - на рис. 4.5
D7 D6 D5 D4 D3 D2 D1 D0
Точка № 0 1 2 3 4 5 6 7
Рис. 4.4
Например, для нулевого байта первой строки пиксели экрана соответствуют следующим разрядам:
пиксель с координатами (0,0) - 7 разряду нулевого байта,
……………………………………………………………………..
пиксель с координатами (0,7) - 0 разряду нулевого байта.
По такой схеме можно определить местоположение любого пикселя в видеопамяти.
Графический адаптер Hercules представляет собой одну из наиболее удачных моделей видеоадаптеров, которая имеет простую архитектуру и высокое качество черно-белого изображения.
Архитектура видеоадаптера CGA
CGA (англ. Color Graphics Adapter) — видеокарта, выпущенная IBM в 1981 году, и первый стандарт цветных мониторов для IBM PC.
Является первой видеокартой IBM, поддерживающей цветное изображение.
Стандартная видеокарта CGA имеет 16 килобайт видеопамяти и может подключаться либо к NTSC-совместимому монитору или телевизору, либо к RGBI монитору.
Основанная на видеоконтроллере Motorola MC6845, видеокарта CGA поддерживает несколько графических и текстовых видеорежимов. Максимальное поддерживаемое разрешение — 640×200, наибольшая цветовая глубина — 4 бита (16 цветов).
Максимальная цветовая глубина CGA — четыре бита, что позволяет использовать палитру из 16 цветов.
Младшие три бита соответствуют красному, зелёному и синему цветам и электронным лучам монитора.
Чёрный цвет означает, что все лучи практически выключены.
Сине-зелёный цвет достигается смешением синего и зелёного лучей, пурпурный — синего и красного и оранжево-коричневый — зелёного и красного. Белый (светло-серый) достигается смешением всех трёх лучей.
Оставшиеся восемь цветов достигаются установкой четвёртого бита — бита интенсивности — что даёт более яркую версию каждого из цветов, хотя на многих мониторах тёмно-серый нельзя было отличить от чёрного. Цветовая модель CGA «RGB плюс бит интенсивности» также называется RGBI.
Исключением является цвет № 6: если строго следовать модели RGBI, цвет № 6 будет отображаться как оливковый(#AAAA00). Однако IBM решила включить дополнительную схему в цветной монитор, ослабляющую зелёный компонент цвета № 6. В результате получается коричневый цвет (#AA5500).
Сигнал
Тип |
Цифровой, ТТЛ |
Разрешение |
640×200, 320×200 |
Горизонтальная частота |
15,75 кГц |
Вертикальная частота |
60 Гц[8] |
Количество цветов |
16 |
Текстовые и графические режимы адаптера CGA
Стандартные текстовые режимы
40×25 символов, 16 цветов. Каждый символ имеет размер 8×8 точек. Эффективное разрешение экрана — 320×200 пикселов (пропорции пиксела — 1:1,2), при этом невозможно обращение к каждому пикселу отдельно. Всего доступно 256 различных символов, начертания которых хранятся в ПЗУ видеокарты. Для каждого выводимого символа возможно задать цвет самого символа и цвет фона, оба цвета выбираются из палитры (см. таблицу). Видеокарта обладает достаточным объёмом ОЗУ для хранения восьми видеостраниц.
80×25 символов, 16 цветов. Используется тот же набор символов, что и для режима 40×25. Эффективное разрешение экрана — 640×200 пикселов (пропорции пиксела — 1:2,4), также невозможно обращение к отдельным пикселам. Так как на экран возможно вывести вдвое больше символов, ОЗУ видеокарты достаточно для хранения четырёх видеостраниц.
Стандартные графические режимы
Фиксированная четырёхцветная палитра № 1 и № 2 (см. рисунок).
320×200 пикселов, так же, как и у текстового режима 40×25. Несмотря на узкую палитру, CGA отличался от других видеосистем того времени тем, что возможно обращение к любому отдельно взятому пикселю, без каких-либо конфликтных зон. Одновременно можно использовать только четыре цвета, которые нельзя выбрать самостоятельно — для данного режима определены две палитры:
Пурпурный, сине-зелёный, белый и цвет фона (по умолчанию — чёрный).
Красный, зелёный, коричневый/жёлтый и цвет фона (по умолчанию — чёрный).
При установке бита интенсивности доступны яркие варианты палитр.
640×200 пикселов, так же, как и у текстового режима 80×25. Возможно обращение к отдельным пикселам. Этот режим монохромный, доступны только белый и чёрный цвет (цвета можно изменить).
Дополнительные настройки и видеорежимы
Фиксированная четырёхцветная палитра № 3 (см. рисунок).
В графическом режиме 320×200 цвет фона можно изменить с чёрного на любой из 16-цветной палитры.
В графическом режиме 640×200 основной цвет можно изменить с белого на любой из 16-цветной палитры.
В текстовом режиме можно изменить цвет бордюра (пространства вокруг основной области).
В графическом режиме 320×200 возможно использовать третью четырёхцветную палитру.
Текстовый режим 80×25 с помощью настройки видеоконтроллера можно заставить работать как 16-цветный графический режим 160×100.
Некоторые из этих приёмов можно комбинировать. В большинстве программ эти возможности не применялись, однако есть примеры их использования среди компьютерных игр.
Архитектура видеоадаптера EGA/VGA
EGA (Усовершенствованный графический адаптер) —
стандарт мониторов и видеоадаптеров для IBM PC, расположенный между CGA и VGA по своим характеристикам (цветовое и пространственное разрешение). Выпущен IBM в августе 1984 года. Видеоадаптер EGA позволяет использовать 16 цветов при разрешении 640×350 пикселов. Видеоадаптер оснащён 16 кБ ПЗУ для расширения графических функций BIOS и видеоконтроллером Motorola MC6845.
Адаптер EGA при разрешении 640×350 позволяет одновременно использовать 16 цветов из возможных 64-х (по два бита на красную, зелёную и синюю составляющие).
EGA также поддерживает 16-цветные варианты графических режимов CGA 640×200 и 320×200; Базовая версия EGA имела 64 кБ видеопамяти, чего было достаточно для монохромной графики высокого разрешения и цветной графики в режимах 640×200 и 320×200.
Со временем большая часть плат EGA стала выпускаться с 256 кБ видеопамяти. Некоторые клоны EGA сторонних производителей (в частности, ATI Technologies и Paradise) поддерживают расширенные графические режимы (например, 640×400, 640×480 и 720×540), автоматическое определение типа монитора и, иногда, специальный чересстрочный режим для CGA-мониторов.
Видеопамять EGA физически делилась на 4 плоскости равного размера — от 16К (младшие модели) до 64К (старшие).
VGA (Video Graphics Array) — стандарт мониторов и видеоадаптеров. Выпущен IBM в 1987 году для компьютеров PS/2. VGA являлся последним стандартом, которому следовало большинство производителей видеоадаптеров.
Видеоадаптер VGA, в отличие от предыдущих видеоадаптеров IBM (MDA, CGA, EGA), использует аналоговый сигнал для передачи цветовой информации. Переход на аналоговый сигнал был обусловлен необходимостью сокращения числа проводов в кабеле. Также аналоговый сигнал давал возможность использовать VGA-мониторы с последующими видеоадаптерами, которые могут выводить большее количество цветов[2].
Термин VGA также часто используется для обозначения разрешения 640×480 независимо от аппаратного обеспечения для вывода изображения, хотя это не совсем верно (так, режим 640х480 с 16-, 24- и 32-битной глубиной цвета не поддерживаются адаптерами VGA, но могут быть сформированы на мониторе, предназначенном для работы с адаптером VGA, при помощи SVGA-адаптеров).
VGA полностью аналогичен EGA (включая плоскостную видеопамять в 16 цветных режимах и секвенсор для доступа процессора к ней), за исключением нижеследующего:
иной разъем и кабель к монитору (и иные мониторы), аналоговый, а не 2 бита на цвет.
18 битные цвета в палитре вместо 6 битных, такой богатый набор позволял, например, реализовать ночь, плохую погоду, "заколдованные" режимы и мерцающие цвета в играх одной лишь палитрой.
наличие 256-цветных режимов, стандартный - 320x200, недокументированными (на деле документированными в документациях на аппаратуру VGA, но не включенными в BIOS и его документацию) ухищрениями можно было получить 320x240 (квадратные пиксели, т.н. "режим Х") и выше
максимальный 16 цветный режим - 640x480 (квадратные пиксели)
во всех 200 строчных графических режимах сканлиния повторялась 2 раза, что давало 400 физических строк развертки монитора, что сильно улучшало качество картинки даже в младших режимах (отсутствие щелей между строк развертки).
высота ячейки знакогенератора - 16 сканлиний, а не 14, как у EGA, что давало те же 400 строк развертки во всех текстовых режимах (кроме режимов совместимости со знакогенератором EGA).
все регистры (палитры, секвенсера и т.д.) доступны на чтение, EGA имел ряд регистров "только для записи" (например, палитра).
Текстовые режимы видеоадаптеров EGA/VGA
EGA