Математика

Физика

Химия

Биология

Техника и    технологии

Фролов Л. В., Фролов Г. В. 1 Программирование пидеоадаптсроп. - М.: ДИАЛОГ-МИФИ, 1995. -272 с. - (Библиотека системного программиста; Т. 21) ISBN 5-86404-066-5 (Т. 21) Книга представляет собой новую редакцию третьего тома "Библиотеки системного программиста" и посвящена программированию видеоадаптеров. D ней рассмотрены различные типы современных видеоадаптеров, в том числе адаптеры SVGA, описаны их регистры, организация видеопамяти. Представлены основные приемы программирования видеоадаптеров. Книга предназначена для специалистов по вычислительной технике, системных и прикладных про]раммистов, студентов и преподавателей вузов, специализирующихся на вычислительной технике.
ВЕДЕНИЕ
В третьем томе "Библиотеки системного программиста", который называется "Программирование видеоадаптеров CGA. EGA и VGA", мы уже рассказывали вам о видеоадаптерах. За несколько лет, прошедших с момента выхода в свет этого тома, появилось много новых моделей видеоадаптеров, обеспечивающих высокую разрешающую' способность и большее количество одновременно отображаемых цветов.
Сегодня видеоадаптеры MDA, CGA, Hercules и EGA вытеснены различными моделями адаптеров VGA и SVGA. Поэтому мы убрали материал, относящийся к старым видеоадаптерам, и добавили информацию о видеоадаптерах SVGA. В частности, нами описан стандарт VESA, которому соответствуют многие адаптеры SVGA. Благодаря стандарту VESA вы сможете легко программировать видеоадаптеры в режимах с высоким разрешением и большим количеством цветов.
Нами подробно описана архитектура видеоадаптеров, совместимых с VGA, их регистры. Воспроизводится формат регистров и описывается их назначение. В наиболее интересных случаях представлены программы, использующие непосредственный доступ к регистрам. Вы сможете получить на экране своего компьютера видеоэффекты, недоступные при использовании только функций BIOS или функций библиотек трансляторов языков высокого уровня.
В книге подробно рассмотрены стандартные режимы работы видеоадаптеров, структура видеопамяти в этих режимах. Знание структуры видеопамяти позволяет создавать программы, отображающие информацию на экране путем непосредственного доступа к видеопамяти. А это, в свою очередь, важно для быстрых видеопрограмм, в частности динамичных игр и графических редакторов.
В качестве примера рассмотрены два нестандартных режима видеоадаптера VGA. Они не поддерживаются функциями BIOS и позволяют отображать 256 цветов с высокой разрешающей способностью. ¦
Далее в книге излагаются традиционные методы управления видеоадаптерами. Приведен обзор всех прерываний и функций BIOS, предназначенных для работы с видеоадаптерами. Описываются наиболее важные функции стандартной библиотеки трансляторов Borland C++. Применение каждой группы функций иллюстрируется примерами программ. Большое количество программ, составленных с использованием таких распространенных языков программирования, как Си и ассемблер, значительно облегчают понимание материала, изложенного в книге.
Дополнительно к книге можно купить дискету, содержащую исходные тексты всех разработанных программ, описанных в книге.
Как связаться с авторами
АвтоРЫ имеют почтовый адрес в се»ти GlasNet. Все свои замечания и предложения к держанию книг серий "Библиотека системного программиста" и "Персональный ютер - шаг за шагом" можно присылать по следующему адресу:
lov@gl
as.ape.ora
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ......................................................................................................3
1. ВИДЕО ПОДСИСТЕМА КОМПЬЮТЕРА................................................5
Мониторы...................................................................................................8
2. РЕЖИМЫ РАБОТЫ ВИДЕОАДАПТЕРОВ..........................................12
Режимы 0 и 1...........................................................................................14
Режимы 0* и 1*........................................................................................15
Режимы 0+ и 1+......................................................................................16
Режимы 2 и 3...........................................................................................16
Режимы 2* и 3*........................................................................................16
Режимы 2+ и 3+......................................................................................16
Режимы 4 и 5...........................................................................................17
Режим 6....................................................................................................17
Режим 7.................................................................................................... 17
Режим 7+......................................................¦............................................17
Режимы 8, 9 и OAh...................................................................................18
Режим ODh...............................................................................................18
Режим OEh................................................................................................18
Режим OFh................................................................................................19
Режим 10h................................................................................................. 19
Режим lib.................................................................................................20
Режим 12h.................................................................................................20
Режим 13h.................................................................................................20
3. АРХИТЕКТУРА ВИДЕОАДАПТЕРОВ...................................................21
Монитор...................................................................................................22
Видеопамять.............................................................................................23
Текстовые режимы..............................................,............'...............................24
Видеопамять в графических режимах............................................................35
Графический контроллер................................................................................43
Последовательный преобразователь...............................................................45 .
Контроллер атрибутов...............,....................................................................45 \
Контроллер ЭЛТ.............................................................................................47 |
Синхронизатор................................................................................................47 *
Системы с двумя видеоадаптерами........................................................49
4. РЕГИСТРЫ ВИДЕОАДАПТЕРОВ...........................................................50
Краткий обзор..........................................................................................50
Внешние регистры...................................................................................53
Регистр определения различных режимов работы
(Miscellaneous Output Register - MOR)............................................................53
Регистр управления дополнительным устройством
(Feature Control Register - FCR).....................................................................54
Регистр состояния 0 (Input Status Register 0 - 1SR0)......................................55
Регистр состояния 1 (Input Status Register 1 - 1SR0)......................................57
Регистр разрешения работы системы VGA
(VGA Enable Register - VGA_ER)....................................................................61
Регистр сброса триггера-защелки светового пера
(Light Pen Latch Reset Register - LPLRR)........................................................61
Регистр установки триггера-защелки светового пера
(Light Pen Latch Set Register - LPLSR)............................................................61
Регистры контроллера ЭЛТ....................................................................61
Общая длина линии горизонтальной развертки
(Horizontal Total Register - HTR)....................................................................66
Длина отображаемой части горизонтальной развертки
(Horizontal Display Enable End Register - HDER)..........................................66
Начало импульса гашения луча горизонтальной
развертки (Start Horizontal Blank Register - SHBR) ......................................66
Конец импульса гашения луча горизонтальной развертки
(End Horizontal Blank Register- EHBR)..........................................................66
Начало импульса горизонтального обратного хода луча
(Start Horizontal Retrace Register - SHRR)......................................................67
Конец импульса горизонтального обратного хода луча
(End Horizontal Retrace Register- EHRR).......................................................67
Число горизонтальных линий растра (Vertical Total Register - VTR).............67
Дополнительный регистр (Overflow Register - OVR).......................................68
Предварительная установка горизонтальной развертки
(Preset Row Scan Register - PRSR)..................................................................68
Высота символов текста (Max Scan Line Register - MSLR)............................69
Начальная линия курсора (Cursor Start Register - CSR).................................70
Конечная линия курсора (Cursor End Register - CER)..................................70
Регистры начального адреса...........................................................................73
Регистры, определяющие положение курсора...............................................74
Начало обратного вертикального хода луча
(Vertical Retrace Start Register - VRSR)............................................................75
Конец обратного вертикального хода луча
(Vertical Retrace End Register - VRER)............................................................76
Регистр адреса светового пера (Light Pen Address Register - LPAR)...............76
Завершение отображения вертикальной развертки
(Vertical Display End Register - VDER)............................................................76
Логическая ширина экрана (Offset Register - OFR).......................................77
Положение подчеркивания симвела (Underline Location Register - ULR)... '-.I Начало импульса гашения вертикальной развертки
(Start Vertical Blank Register- SVBR)........................................................ il
Конец импульса гашения вертикальной развертки
(End Vertical Blank Register - EVBR)...................................................S]
Управление режимом (Mode Control Register- MCR)............... ........&±
Регистр сравнения линий (Line Compare Register - LCR).......................S3
/swof-mm
Регистры синхронизатора.......................................................................88
Регистр сброса синхронизатора (Reset Register - RR)....................................88
Регистр режима синхронизации (Clock Mode Register - CMR).....................89
Регистр разрешения записи цветового слоя
(Color Plane Write Enable - CPWE).................................................................89
Регистр выбора знакогенератора
(Character Generator Select Register - CGSR)..................................................91
Регистр определения структуры памяти (Memory Mode Register - MMR)....92
Регистры графического контроллера.....................................................92
Регистр установки/сброса (Set/Reset Register- SRR).....................................95
Регистр разрешения установки/сброса (Set/Reset Enable Register - SRER) ...95
Регистр сравнения цветов (Color Compare Register - CCR)...........................97
Регистр циюшческого сдвига и выбора функции
(Data Rotate & Function Select - DRFS).........................................................98
Регистр выбора читаемого слоя (Read Plane Select Register - RPSR).............99
Регистр режима работы (Mode Register - MDR)..........................................100
Регистр смешанного назначения (Miscellaneous Register - MIR).....,...........103
Регистр маскирования цветовых слоев
(Color Don't Care Register - CDCR)..............................................................103
Регистр битовой маски (Bit Mask Register- BMR)......................................104
Чтение таблиц знакогенератора....................................................................105
Регистры контроллера атрибутов..........................................................112
Регистры цветовой палитры (0-15) (Color Palette Register's - CPR).............112
Регистр упраатения режимом (Mode Control Register - MCR)....................113
Регистр цвета рамки экрана (Screen Border Color Register - SBCR)............114
Регистр разрешения цветового слоя
(Color Plane Enable Register- CPER)............................................................114
Регистр горизонтальной свертки (Horizontal Panning Register - HPR)........115
Регистр выбора цвета (Color Select Register- CSR)......................................123
Регистры цифро-аналогового преобразователя VGA..........................123
Регистр маскирования пикселов (Pixel Mask Register - PMR).....................124
Регистр состояния ЦАП (DAC State Register - DAC_SR)............................124
Индекс читаемого регистра таблицы цветов
(Look-up Table Read Index Register - LTRIR)...."...........................................125
Индекс записываемого регистра таблицы цветов
(Look-up Table Write Index Register - LTWIR)..............................................125
Регистр данных таблицы цветов (Look-up Table Data Register - LTDR)......125
Нестандартные режимы видеоадаптера VGA.......................................130
Организация видеопамяти............................................................................131
Режим 320x400 пикселов, 256 цветов...........................................................132
Режим 360x480 пикселов, 256 цветов...........................................................141
5. ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ BIOS ДЛЯ РАБОТЫ
С ВИДЕОАДАПТЕРАМИ............................................................................150
Выбор режима работы - функция OOli..................................................151
Изменение формы курсора - функция 01h..........................................152
Изменение положения курсора - функция 02h...................................152
Определение положения и формы курсора - функция 03h................153
Использование светового пера - функция 04h....................................153
Выбор активной страницы видеопамяти - функция 05h....................153
Свертка окна вверх - функция 06h.......................................................154
Свертка текстового окна вниз - функция 07h......................................155
Чтение символа и его атрибутов - функция 08h..................................155
Запись символа с атрибутами в текущей позиции
курсора - функция 09h...........................................................................156
Запись символа в текущей позиции курсора - функция OAh............159
Установка цветовой палитры (режимы 4, 5, 6) - функция OBh........159
Вывод пиксела - функция ОСЬ..............................................................160
Чтение пиксела - функция ODh............................................................162
Запись символа в режиме телетайпа - функция OEh..........................162
Определение текущего режима работы видеоадаптера -
функция OFh............................................................,...............................163
Управление регистрами палитры - функция 10h.................................163
Установка регистра палитры - подфункция 00h..........................................164
Установка цвета рамки - подфункция 01h...................................................165
Установка всех регистров палитры - подфункция 02h................................166
Управление атрибутом мигания и атрибутом
интенсивности - подфункция 03h................................................................166
Чтение регистра палитры - подфункция 07h...............................................167
Чтение регистра цвета рамки - подфункция 08h.........................................167
Чтение всех регистров патитры - подфункция 09п.....................................167
Установка регистра таблицы цветов (регистров ЦАП) - подфункция 1 Oh..168 Установка нескольких регистров таблицы цветов (регистров ЦАП) -
подфункция 121i............................................................................................168
Выбор подмножества цветов - подфункция 13h..........................................169
Чтение регистра таблицы цветов - подфункция 15h....................................169
Чтение нескольких регистров таблицы цветов
(регистров ЦАП) - подфункция 17h............................................................170
Определение режима подмножества цветов - подфункция lAh..................170
Установка палитры из градаций серого цвета - подфункция lBh...............171
Загрузка таблиц знакогенератора - функция llh.................................174
Загрузка набора символов пользователя - подфункция 00h........................174
Загрузка набора символов из BIOS - подфункция 01h...............................175
Загрузка набора символов из BIOS - подфункция 02h...............................175
Выбор активных таблиц знакогенератора - подфункция 03h......................175
Загрузка набора символов из BIOS - подфункция 04h...............................176
Установка вектора прерывания lFh - подфункция 20h...............................176
Установка набора символов для графических режимов -
подфункция 2Ш............................................................................................176
Установка набора символов 8x14 из ПЗУ BIOS..........................................177
Установка набора символов 8x8 из ПЗУ BIOS............................................177
Установка набора символов 8x16 из ПЗУ BIOS..........................................177
Получение информации об активном наборе символов -
подфункция 30h............................................................................................178
Определение конфигурации и выбор программы
распечатки экрана - функция 12h.........................................................178
Определение конфигурации видеоадаптера - подфункция 10h...................179
Выбор программы печати экрана - подфункция 20h..................................179
Выбор количества линий развертки в текстовом
режиме - подфункция ЗОп............................................................................180
Запрещение переустановки палитры - подфункция 31h.............................180
Управление доступом к видеоадаптеру - подфункция 32h..........................180
Управление преобразованием серого цвета - подфункция 33h...................180
Эмуляция курсора CGA - подфункция 34h.................................................181
Выбор активного монитора - подфункция 35п.............................................1S1
Гашение экрана монитора - подфункция 36h.............................................182
Вывод текстовой строки - функция 13h...............................................182
Чтение/запись конфигурации видеосистемы - функция 1Ап...........183
Чтение конфигурации видеосистемы - подфункция 00h............................ 1S3
Запись конфигурации видеосистемы - подфункция Olh.............................184
Получение данных о состоянии VGA - функция lBh.........................184
Сохранение/восстановление состояния видеоадаптера -
функция ICh.........................................................................................:. 187
Определение размера буфера - подфункция ООп.........................................188
Сохранение текущего состояния видеоадаптера - подфункция Olh...............188
Восстановление текущего состояния видеоадаптера - подфункция 02п.....188
Русификация видеоадаптеров................................................................189
6. ОБЛАСТЬ ДАННЫХ ВИДЕОФУНКЦИЙ BIOS...................................202
Переменные в младших адресах памяти.................,..............................202
Таблица окружения................................................................................205
Таблица параметров......................................................................................205
Область сохранения...................................................................................„.208
Таблица символов текстового режима..........................................:...............208
Таблица символов графического режима.....................................................209
Дополнительная таблица окружения....................................................209
Вторая таблица символов текстового режима..............................................210
Таблица кодов комбинаций мониторов.......................................................210
Таблица настройки палитры..........................................................................210
7. ВИДБОАДАПТЕРЫ SVGA......................................................................214
Видеопамять SVGA.................................................................................214
Слоеный пирог.............................................................................................215
Увидеть весь мир через замочную скважину...............................................215
Больше цветов - больше бит........................................................................216
Стандарт VESA........................................................................................218
Получить информацию о реализации VBE и видеоадаптере......................218
Получить информацию о режиме видеоадаптера........................................220
Установить режим видеоадаптера.................................................................229
Определить текущий режим видеоадаптера.................................................231
Сохранить/восстановить состояние видеоадаптера......................................231
Управление адресацией видеопамяти...........................................................231
Установить/определить длину строки развертки.........................................24'
Установить/определить видимую область экрана........................................24f
Установить/определить разрядность регистров ЦАП..................................24:
Управление монитором..........................................................................24(
Определение возможностей управления......................................................24'
Включить режим сохранения электроэнергии.............................................24"
Определить состояние монитора..................................................................24!
Графические акселераторы....................................................................251
8. ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ MS-DOS
ДЛЯ УПРАВЛЕНИЯ ВИДЕОАДАПТЕРАМИ............................................25:
Вывод символов - функция 02h............................................................25:
Вывод строки на экран монитора - функция 09h................................25:
9. СТАНДАРТНЫЕ ФУНКЦИИ ВЫВОДА ЯЗЫКА СИ.........................25'
Функции putchar и putc..........................................................................25'
Функция puts...........................................................................................25:
Функция printf.........................................................................................25:
Функция putch........................................................................................25'
Функция cputs.................-........................................................................25!
Функция cprintf.......................................................................................25!
ПРИЛОЖЕНИЯ.............................................................................................25!
Таблицы ASCII-кодов символов...........................................................25'
Порты ввода/вывода видеоадаптеров EGA и VGA..............................26i
Регистры контроллера ЭЛТ...................................................................26
Регистры синхронизатора......................................................................26:
Регистры графического контроллера....................................................26
Регистры контроллера атрибутов..........................................................26
Регистры цифро-аналогового преобразователя VGA..........................26
ЛИТЕРАТУРА...............................................................................................26
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ.....................................................................26

Цена: 100руб.

Назад

Заказ

На главную страницу

Hosted by uCoz