
- •Аннотация
- •Введение
- •Как связаться с авторами
- •Благодарности
- •Замечания
- •1. Видеоподсистема компьютера
- •Мониторы
- •2. Режимы работы видеоадаптеров
- •Режимы 0 и 1
- •Режимы 0*, 1*
- •Режимы 2 и 3
- •Режимы 2*, 3*
- •Режимы 4 и 5
- •Режим 6
- •Режим 7
- •Режимы 8, 9, 0Ah
- •Режим 0Dh
- •Режим 0Eh
- •Режим 0Fh
- •Режим 10h
- •Режим 11h
- •Режим 12h
- •Режим 13h
- •3. Архитектура видеоадаптеров ega и vga
- •Монитор
- •Видеопамять
- •Текстовый режим
- •Знакогенератор
- •Атрибуты символов
- •Атрибуты символов (монохромный режим)
- •Видеопамять в графических режимах
- •Режимы 4 и 5
- •Режим 6
- •Режимы 0Dh и 0Eh
- •Режим 0Fh
- •Режим 10h
- •Режим 11h
- •Режим 12h
- •Режим 13h
- •Графический контроллер
- •Операция записи
- •Операция чтения
- •Последовательный преобразователь
- •Контроллер атрибутов
- •Контроллер элт
- •Синхронизатор
- •4. Регистры видеоадаптеров ega, vga и svga
- •Краткий обзор
- •Внешние регистры
- •Регистр определения различных режимов работы (Miscellaneous Output Register - mor)
- •Регистр управления дополнительным устройством (Feature Control Register - fcr)
- •Регистр состояния 0 (Input Status Register 0 - isr0)
- •Регистр состояния 1 (Input Status Register 1 - isr0)
- •Регистр разрешения работы системы vga (vga Enable Register - vga_er)
- •Регистр сброса триггера-защелки светового пера (Light Pen Latch Reset Register - lplrr)
- •Регистр установки триггера-защелки светового пера (Light Pen Latch Set Register - lplsr)
- •Регистры контроллера элт
- •Общая длина линии горизонтальной развертки (Horizontal Total Register - htr) (индекс 0)
- •Длина отображаемой части горизонтальной развертки (Horizontal Display Enable End Register - hder) (индекс 1)
- •Начало импульса гашения луча горизонтальной развертки (Start Horizontal Blank Register - shbr) (индекс 2)
- •Конец импульса гашения луча горизонтальной развертки (End Horizontal Blank Register - ehbr) (индекс 3)
- •Начало импульса горизонтального обратного хода луча (Start Horizontal Retrace Register - shrr) (индекс 4)
- •Конец импульса горизонтального обратного хода луча (End Horizontal Retrace Register - ehrr) (индекс 5)
- •Число горизонтальных линий растра (Vertical Total Register - vtr) (индекс 6)
- •Дополнительный регистр (Overflow Register - ovr) (индекс 7)
- •Предварительная установка горизонтальной развертки (Preset Row Scan Register - prsr) (индекс 8)
- •Высота символов текста (Max Scan Line Register - mslr) (индекс 9)
- •Начальная линия курсора (Cursor Start Register - csr) (индекс 0Ah)
- •Конечная линия курсора (Cursor End Register - cer) (индекс 0Bh)
- •Регистры начального адреса
- •Регистры, определяющие положение курсора
- •Начало обратного вертикального хода луча (Vertical Retrace Start Register - vrsr) (индекс 10h)
- •Конец обратного вертикального хода луча (Vertical Retrace End Register - vrer) (индекс 11h)
- •Регистр адреса светового пера (Light Pen Address Register - lpar)
- •Завершение отображения вертикальной развертки (Vertical Display End Register - vder) (индекс 12h)
- •Логическая ширина экрана (Offset Register - ofr) (индекс 13h)
- •Положение подчеркивания символа (Underline Location Register - ulr) (индекс 14h)
- •Начало импульса гашения вертикальной развертки (Start Vertical Blank Register - svbr) (индекс 15h)
- •Конец импульса гашения вертикальной развертки (End Vertical Blank Register - evbr) (индекс 16h)
- •Управление режимом (Mode Control Register - mcr) (индекс 17h)
- •Регистр сравнения линий (Line Compare Register - lcr) (индекс 18h)
- •Регистры синхронизатора
- •Регистр сброса синхронизатора (Reset Register - rr) (индекс 0)
- •Регистр режима синхронизации (Clock Mode Register - cmr) (индекс 1)
- •Регистр разрешения записи цветового слоя (Color Plane Write Enable - cpwe) (индекс 2)
- •Регистр выбора знакогенератора (Character Generator Select Register - cgsr) (индекс 3)
- •Регистр определения структуры памяти (Memory Mode Register - mmr) (индекс 4)
- •Регистры графического контроллера
- •Регистр установки/сброса (Set/Reset Register - srr) (индекс 0)
- •Регистр разрешения установки/сброса (Set/Reset Enable Register - srer) (индекс 1)
- •Регистр сравнения цветов (Color Compare Register - ccr) (индекс 2)
- •Регистр циклического сдвига и выбора функции (Data Rotate & Function Select - drfs) (индекс 3)
- •Регистр выбора читаемого слоя (Read Plane Select Register - rpsr) (индекс 4)
- •Регистр режима работы (Mode Register - mdr) (индекс 5)
- •Регистр смешанного назначения (Miscellaneous Register - mir) (индекс 6)
- •Регистр маскирования цветовых слоев (Color Don't Care Register - cdcr) (индекс 7)
- •Регистр битовой маски (Bit Mask Register - bmr) (индекс 8)
- •Регистры контроллера атрибутов
- •Регистры цветовой палитры (0-15) (Color Palette Register's - cpr)
- •Улучшенный цветной монитор
- •Регистр цвета рамки экрана (Screen Border Color Register - sbcr) (индекс 11)
- •Регистр разрешения цветового слоя (Color Plane Enable Register - cper) (индекс 12)
- •Регистр горизонтального панорамирования (Horizontal Panning Register - hpr) (индекс 13)
- •Регистр выбора цвета (Color Select Register - csr) (индекс 14)
- •Регистры цифро-аналогового преобразователя vga
- •Регистр маскирования пикселов (Pixel Mask Register - pmr)
- •Регистр состояния цап (dac State Register - dac_sr)
- •Индекс читаемого регистра таблицы цветов (Look-up Table Read Index Register - ltrir)
- •Индекс записываемого регистра таблицы цветов (Look-up Table Write Index Register - ltwir)
- •Регистр данных таблицы цветов (Look-up Table Data Register - ltdr)
- •Нестандартные режимы видеоадаптера vga
- •Организация видеопамяти
- •Режим 320х400 пикселов, 256 цветов
- •Режим 360х480 пикселов, 256 цветов
- •5. Использование функций bios для работы с видеоадаптерами
- •Выбор режима работы - функция 00h
- •Изменение формы курсора - функция 01h
- •Изменение положения курсора - функция 02h
- •Определение положения и формы курсора - функция 03h
- •Использование светового пера - функция 04h
- •Выбор активной страницы видеопамяти - функция 05h
- •Свертка окна вверх - функция 06h
- •Свертка текстового окна вниз - функция 07h
- •Чтение символа и его атрибутов - функция 08h
- •Запись символа с атрибутами в текущей позиции курсора - функция 09h
- •Запись символа в текущей позиции курсора - функция 0Ah
- •Установка цветовой палитры (режимы 4,5,6) - функция 0Bh
- •Вывод пиксела - функция 0Ch
- •Чтение пиксела - функция 0Dh
- •Запись символа в режиме телетайпа - функция 0Eh
- •Определение текущего режима работы видеоадаптера - функция 0Fh
- •Управление регистрами палитры - функция 10h
- •Установка регистра палитры - подфункция 00h
- •Установка цвета рамки - подфункция 01h
- •Установка всех регистров палитры - подфункция 02h
- •Управление атрибутом мигания и атрибутом интенсивности - подфункция 03h
- •Чтение регистра палитры - подфункция 07h
- •Чтение регистра цвета рамки - подфункция 08h
- •Чтение всех регистров палитры - подфункция 09h
- •Установка регистра таблицы цветов (регистров цап) - подфункция 10h
- •Установка нескольких регистров таблицы цветов (регистров цап) - подфункция 12h
- •Выбор подмножества цветов - подфункция 13h ???
- •Чтение регистра таблицы цветов - подфункция 15h
- •Чтение нескольких регистров таблицы цветов (регистров цап) - подфункция 17h
- •Определение режима подмножества цветов - подфункция 1Ah ???
- •Установка палитры из градаций серого цвета - подфункция 1Bh
- •Загрузка таблиц знакогенератора - функция 11h
- •Загрузка набора символов пользователя - подфункция 00h
- •Загрузка набора символов из bios - подфункция 01h
- •Загрузка набора символов из bios - подфункция 02h
- •Выбор активных таблиц знакогенератора - подфункция 03h
- •Загрузка набора символов из bios - подфункция 04h
- •Установка вектора прерывания 1Fh - подфункция 20h
- •Установка набора символов для графических режимов - подфункция 21h
- •Установка набора символов 8х14 из пзу bios
- •Установка набора символов 8х8 из пзу bios
- •Установка набора символов 8х16 из пзу bios
- •Получение информации об используемом наборе символов - подфункция 30h
- •Определение конфигурации и выбор программы распечатки экрана - функция 12h
- •Определение конфигурации видеоадаптера - подфункция 10h
- •Выбор программы печати экрана - подфункция 20h
- •Выбор количества линий развертки в текстовом режиме - подфункция 30h
- •Запрещение переустановки палитры - подфункция 31h
- •Управление доступом к видеоадаптеру - подфункция 32h
- •Управление преобразованием серого цвета - подфункция 33h
- •Эмуляция курсора cga - подфункция 34h
- •Выбор активного монитора - подфункция 35h
- •Гашение экрана монитора - подфункция 36h
- •Вывод текстовой строки - функция 13h
- •Чтение/запись конфигурации видеосистемы - функция 1Ah
- •Чтение конфигурации видеосистемы - подфункция 00h
- •Запись конфигурации видеосистемы - подфункция 01h
- •Получение данных о состоянии vga - функция 1Bh
- •Сохранение/восстановление состояния видеоадаптера - функция 1Ch
- •Определение размера буфера - подфункция 00h
- •Сохранение текущего состояния видеоадаптера - подфункция 01h
- •Восстановление текущего состояния видеоадаптера - подфункция 02h
- •Русификация видеоадаптеров
- •6. Область данных видеофункций bios
- •Переменные в младших адресах памяти
- •Область сохранения
- •Дополнительная таблица окружения
- •Вторая таблица символов текстового режима
- •7. Видеоадаптеры svga
- •Видеопамять svga
- •Слоеный пирог
- •Увидеть весь мир через замочную скважину
- •Больше цветов больше бит
- •Стандарт vesa
- •Получить информацию о реализации vbe и видеоадаптере
- •Получить информацию о режиме видеоадаптера
- •Установить режим видеоадаптера
- •Определить текущий режим видеоадаптера
- •Сохранить/восстановить состояние видеоадаптера
- •Управление адресацией видеопамяти
- •Установить/определить длину строки развертки
- •Установить/определить видимую область экрана
- •Установить/определить размер регистров цап
- •Управление монитором
- •Определение возможностей управления
- •Включить режим сохранения электроэнергии
- •Определить состояние монитора
- •8. Использование функций ms-dos для управления видеоадаптерами
- •Функция puts
- •Функция printf
- •Функция putch
- •Функция cputs
- •Функция cprintf
- •Литература
- •Оглавление
- •5. Использование функций bios для работы с видеоадаптерами 100
- •6. Область данных видеофункций bios 152
- •7. Видеоадаптеры svga 159
- •8. Использование функций ms-dos для управления видеоадаптерами 175
- •9. Стандартные функции вывода языка Си 176
Мониторы
Сегодня выпускается огромное количество всевозможных мониторов различных фирм-производителей. Мы постараемся классифицировать мониторы по их основным характеристикам: типу интерфейса с видеоадаптером, разрешающей способности, которая тесно взаимодействует с частотой кадров, количеству цветов, которые может отображать монитор, и по размеру отдельных пикселов изображения.
По типу интерфейса с видеоадаптером мониторы можно разделить на композитные, цифровые и аналоговые RGB. Перечислим основные характеристики каждого из интерфейсов:
w Композитный. Монитор имеет один аналоговый вход. Видеосигнал поступает в монитор в стандарте NTSC (National Television System Commitete). Стандарт NTSC используется в бытовом телевидении. Композитный монитор обычно применяется совместно с видеоадаптером CGA
w Цифровой. Имеет от одной до шести входных линий. На цифровом мониторе может отображаться до 2n различных цветов, где n равно количеству входных линий. Данный тип мониторов используется вместе с видеоадаптерами CGA и EGA
w Аналоговый RGB. Имеет три аналоговые входные линии, управляющие красным, зеленым и синим цветами. Уровень напряжения на каждой линии отвечает за интенсивность соответствующего цвета на экране. Количество цветов, которые может отображать аналоговый монитор, ограничено практически только возможностями видеоадаптера. Аналоговый монитор используется совместно с адаптерами VGA, SVGA, графическими сопроцессорами, акселераторами Windows
Мониторы различаются по размеру зерна. Наибольшее распространение получили мониторы с зерном 0,28 мм, 0,31 мм и 0,39 мм. Мониторы с зерном 0,28 мм несколько дороже чем 0,39 мм, но зато обладают более высоким качеством. Мы рекомендуем приобретать мониторы с разрешением не больше 0,28 мм. На таких мониторах изображение более резкое и при работе за ними меньше устают глаза. Лучшие модели мониторов, например Sony Multiscan 15 SF, имеют зерно 0,25 мм.
Другими важными характеристиками монитора являются значения частот горизонтальной и вертикальной развертки, с которыми он может работать. Частота вертикальной развертки иногда также называется частотой кадров. В зависимости от этих частот и частоты синхросигнала видеоадаптера (описывается ниже) монитор может работать в режимах имеющих различное разрешение.
Мониторы старых моделей, например монохромные мониторы, могут работать только с фиксированными значениями частот горизонтальной и вертикальной развертки. Мониторы, предназначенные для подключения к видеоадаптерам VGA работают с несколькими фиксированными значениями частот развертки. Такие мониторы называют многочастотными. Большинство современных мониторов работают в некотором интервале частот развертки. Поэтому они получили название мультичастотных.
Следует учесть, что некоторые типы мониторов в режимах с большой разрешающей способностью используют метод чересстрочной развертки (Interlaced). При чересстрочной развертке сначала отображаются нечетные, а затем четные строки. Этот позволяет использовать в режимах с высоким разрешением мониторы, работающие с более низкой частотой развертки. К сожалению, использование чересстрочной развертки сопровождается слабым мерцанием изображения, раздражающим глаза. Более предпочтительно использование мониторов и видеоадаптеров, не применяющих метод чересстрочной развертки изображения (NonInterlaced).
Пожалуй, одной из самых трудных и долгих процедур при покупке компьютера является приобретение монитора. Наш опыт показывает, что если вы решили купить действительно хороший монитор, вам предстоит запастись терпением. Вероятней всего вам предстоит посетить не один магазин и оценить не один десяток изделий.
Проблема заключается в том, что если вы нашли подходящую модель монитора с маленьким размером зерна, например 0,28 мм, это не гарантирует что вам достанется отличный монитор. К сожалению, многие мониторы имеют такие дефекты, как искажение изображения, несведение лучей и т. д. Вам следует посмотреть на несколько мониторов, прежде чем остановить свой выбор.
Убедитесь что монитор имеет действительно маленькие размеры зерна. Проще всего это проверяется при отображении текстовой информации. Контуры символов должны быть четкие и хорошо проработанные. На экране высококачественных мониторов видно, что пикселы имеют квадратную форму. Если буквы "мохнатые", а пикселы отображаются как жирные точки, скорее всего, вам предлагают монитор с размером зерна 0,31 мм или 0,39 мм.
Теперь обратите внимание на дефект, называемый несведением лучей. Отобразите на экране монитора сетку из вертикальных и горизонтальных линий. Для этого можно воспользоваться тестами программы CheckIt. Посмотрите внимательно на границы линий. Их цвет должен соответствовать цвету линий. Если линии белые, а их границы синего или красного цвета - у этого монитора несведение лучей. Обычно несведение лучей наиболее выражено на границах экрана.
Несведение лучей можно наблюдать практически на всех мониторах, даже на очень высококачественных. Единственный простой и доступный способ борьбы с этим дефектом - просмотреть несколько мониторов, сравнить их и выбрать лучший.
Когда вы приобретаете монитор с размером экрана 17 дюймов, то ожидаете, что 17 дюймов это не размер корпуса монитора или электронно-лучевой трубки, а размер изображения на экране. Вооружитесь обычной линейкой и измерьте диагональ изображения на экране монитора. Она должна максимально соответствовать данным из паспорта данной модели. Если это не так, возможно лучше выбрать другой монитор.
Теперь поговорим об искажениях изображения. Они выражаются в том, что обычный прямоугольник на экране плохого монитора может приобрести самую неожиданную форму. Многие современные мониторы позволяют с помощью кнопок, ручек или других регуляторов исправить эти искажения.
M Большинство дефектов мониторов, в том числе большой размер пикселов, несведение лучей и искажения изображения, заметны только когда на экране отображается графическое изображение состоящее из линий или прямоугольников. Часто на демонстрационных компьютерах показывают фрагменты игр, например, игры Doom или абстрактные разноцветные рисунки. В этом случае дефекты монитора незаметны
Современные видеоадаптеры и мониторы обладают возможностью временного отключения при длительном перерыве в работе с компьютером. В этом случае монитор переходит в экономичный режим и потребляет очень мало электроэнергии.
Фактически вы уже знакомы с возможностью отключения монитора. В серии "Персональный компьютер - шаг за шагом" мы рассказывали о программах сохранения экрана, которые могут гасить изображение.
Параметры наиболее распространенных мониторов, применяемых на компьютерах, совместимых с IBM PC/XT/AT, приведены в следующей таблице :
Монитор |
Совместимый с монитором видеоадаптер |
Количество цветов |
Разрешение в текстовом режиме |
Разрешение в графическом режиме |
Монохромный (MD) |
MDA, Hercules, EGA |
2 |
80х25 |
640х350 720х350 720х348 |
Цветной (CD) |
CGA, EGA |
16 |
40x25 80x25 |
320x200 640x200 |
Улучшенный цветной (ECD) |
CGA, EGA |
16 из 64 |
80х25 |
320х200 640х200 640х350 |
Многочастотный цифровой |
CGA, EGA |
16 из 64 |
40x25 80х25 |
320x200 640х200 640х350 |
Многочастотный аналоговый |
VGA, SVGA |
256 |
80x25 |
640x480 800х600 |
Цветной VGA |
VGA |
256 |
40х25 80х25 |
320х400 640х400 |
Монохромный VGA |
VGA |
256 |
40х25 80х25 |
320х350 640х350 720х350 720х400 720х480 |
w Монохромный монитор
Первоначально компьютер IBM PC выпускался с монохромным монитором фирмы IBM (MD) и монохромным видеоадаптером (MDA). Видеоадаптер MDA не предоставляет возможности отображения графики и цвета, но за счет высокой разрешающей способности - 720х350 пикселов - он широко используется для приложений, работающих с текстами.
Монохромный монитор фирмы IBM и совместимые с ним видеоадаптеры используют частоту кадров, равную 50 Гц.
w Цветной монитор
Цветной монитор фирмы IBM (CD - Color Display) используется совместно с адаптером CGA и обеспечивает отображение четырех различных цветов для графики и восьми цветов для текста. Сам цветной монитор имеет возможность отображать шестнадцать различных цветов. Разрешение цветного монитора меньше, чем у монохромного - 640х200 и размер символов составляет 8 пикселов (пиксел - минимальный элемент изображения) по высоте и 8 пикселов по ширине. В результате заметно, что символы состоят из отдельных пикселов. С появлением улучшенного цветного монитора, имеющего большую разрешающую способность, этот недостаток был устранен.
Цветной монитор имеет частоту смены кадров, равную 60 Гц.
w Улучшенный цветной монитор
Улучшенный цветной монитор создан для использования совместно с видеоадаптером EGA. Он имеет большую разрешающую способность - 640х350 и может отображать большее количество цветов (любые 16 из 64), чем обычный цветной монитор. Символы имеют размер 8 пикселов по ширине и 14 пикселов по высоте.
w Многочастотный цветной монитор
Этот монитор имеет возможность работать с различной частотой кадров, что позволяет поддерживать режимы с различной разрешающей способностью. Обычно эти мониторы имеют разрешающую способность 640х350, (что соответствует EGA) и выше - 640х400, 640x480, 800x600, 1024x768. Последние два режима реализуются только видеоадаптерами SVGA.
Многочастотный цветной монитор может воспроизводить больше цветов, чем улучшенный цветной монитор. При работе в цифровом режиме он имеет те же 64 цвета, что и ECD, а при работе в аналоговом режиме он может отображать практически неограниченное число цветов. Большинство многочастотных мониторов можно использовать совместно с VGA. Первые модели многочастотного монитора фирмы NEC видеоадаптер VGA не поддерживали.
w Монитор VGA
Для видеоадаптера VGA фирмой IBM был разработан аналоговый RGB монитор с высоким разрешением, а также монохромный аналоговый монитор с высоким разрешением. На монохромном мониторе различные цвета изображаются различными градациями серого цвета. Эти два монитора (монохромный и цветной) являются взаимозаменяемыми - приложения, написанные для одного из монитора, могут работать с другим монитором.