Введение

В третьем томе "Библиотеки системного программиста", который называется "Программирование видеоадаптеров CGA, EGA и VGA", мы уже рассказывали вам о видеоадаптерах. За несколько лет, прошедших с момента выхода в свет этого тома, появилось много новых моделей видеоадаптеров, обеспечивающих большую разрешающую способность и большее количество одновременно отображаемых цветов.

Сегодня видеоадаптеры MDA, CGA, Hercules и EGA вытеснены различными моделями адаптеров VGA и SVGA. Поэтому мы убрали материал, относящийся только к этим видеоадаптерам и добавили информацию о видеоадаптерах SVGA. В частности нами описан стандарт VESA, которому соответствуют многие адаптеры SVGA. Благодаря стандарту VESA вы сможете легко программировать видеоадаптеры в режимах с большим разрешением и большим количеством цветов.

Нами подробно описана архитектура видеоадаптеров, совместимых с VGA, их регистры. Воспроизводится формат регистров и описывается их назначение. В наиболее интересных случаях представлены программы, использующие непосредственный доступ к регистрам. Читатель сможет получить на экране своего компьютера видеоэффекты, недоступные при использовании только функций BIOS или функций библиотек трансляторов языков высокого уровня.

Читателю предоставляется возможность подробно рассмотреть стандартные режимы работы видеоадаптеров, структуру видеопамяти в этих режимах. Знание структуры видеопамяти позволяет создавать программы, отображающие информацию на экране путем непосредственного доступа к видеопамяти. А это, в свою очередь, важно при создании быстрых видеопрограмм, в частности, динамических игр и графических редакторов.

В качестве примера рассмотрены два не стандартных режима видеоадаптера VGA. Эти режимы не поддерживаются функциями BIOS и позволяют в режиме с 256 цветами иметь большую разрешающую способность.

Далее в книге излагаются традиционные методы управления видеоадаптерами. Приведен обзор всех прерываний и функций BIOS, предназначенных для работы с видеоадаптерами. Описываются наиболее важные функции стандартной библиотеки трансляторов Borland C++. Применение каждой группы функций иллюстрируется примерами программ.

Большое количество программ, составленных с использованием таких распространенных языков программирования, как Си и ассемблер, значительно облегчают понимание материала, изложенного в книге.

Дополнительно к книге можно купить дискету, содержащую исходные тексты всех разработанных нами программ, описанных в книге. Если вас интересуют сведения, которые были включены в третий том "Библиотеки системного программиста", но не вошли в это издание, вы можете отдельно приобрести дискету с гипертекстовой базой данных.

Как связаться с авторами

Авторы имеют собственный почтовый адрес в сети GlasNet. Все свои замечания и предложения по содержанию книг серий "Библиотека системного программиста" и "Персональный компьютер - шаг за шагом" вы можете присылать нам по следующему адресу:

frolov@glas.apc.org

Наш почтовый адрес доступен не только пользователям сети GlasNet. Абоненты других компьютерных сетей также могут передать нам сообщения. Ниже мы привели наш адрес в различных сетях:

Глобальная сеть Наш адрес
CompuServe >internet:frolov@glas.apc.org
GlasNet frolov@glas.apc.org
Internet frolov@glas.apc.org
Relcom frolov@glas.apc.org
UUCP uunet!cdp!glas!frolov

Вы также можете присылать свои пожелания почтой по адресу:

Издательский отдел АО "ДИАЛОГ-МИФИ"

Индекс 115409, город Москва, улица Москворечье, дом 31, корпус 2

Благодарности

Авторы выражают благодарность Фроловой Ольге Викторовне, Кустову Виктору. Мы также благодарим всех сотрудников издательского отдела АО "ДИАЛОГ-МИФИ": Голубева Олега Александровича, Дмитриеву Наталью, Виноградову Елену, Кузьминову Оксану.

Замечания

При описании регистров мы используем следующее соглашение о нумерации битов регистров: биты в байте нумеруются справа налево. Бит D7 является старшим, а бит D0 - младшим битами.

Если мы приводим значения переменных, регистров или адресов в шестнадцатиричной системе счисления, то после числа указывается символ 'h' (от слова Hexadecimal). Если число представлено в двоичной системе счисления, то после него указывается символ 'b' (от слова Binary).