Графические адаптеры EGA и VGA. Руководство программиста

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

В данном методическом материале рассматривается архитектура графических адаптеров для управления дисплеями классов EGA и VGA, широко используемым в персональных компьютерах, совместимых с IBM PC. Приводятся основные методы программирования таких адаптеров, даются примеры программ и правила написания драйверов. Материал будет полезен системным программистам и программистам прикладных программ, работающим на компьютерах, совместимых с IBM PC, и применяющим нестандартные приемы работы с графической информацией.

Author(s): Bradley Dyck Kliewer
Publisher: Малахит
Year: 1992

Language: Russian
Commentary: Перевод книги "EGA/VGA, a programmer’s reference guide"
Pages: 274
City: Санкт-Петербург
Tags: EGA;VGA;Hardware;IBM PC

Предисловие ......Page 4
Соглашения по терминологии ......Page 9
Совместимость с ранними моделями адаптеров ......Page 10
Гибкость (страничная организация памяти, альтернативные наборы символов, мониторы) ......Page 12
2. Введение в BIOS. Модифицируемые программы ......Page 15
Обращения к BIOS ......Page 16
Текстовой и графический режимы ......Page 17
Вызов функции 0: Установка Режима ......Page 19
Вызов функции 1: Установка Типа Курсора ......Page 21
Вызов функции 2: Установка Позиции Курсора ......Page 23
Вызов функции 3: Чтение Позиции Курсора ......Page 24
Вызов функции 4: Чтение Позиции Светового Пера ......Page 27
Вызов функции 5: Установка Активной Экранной Страницы ......Page 28
Вызов функции 6: Прокрутка (Скроллинг) Активной Страницы Вверх ......Page 31
Вызов функции 7: Прокрутка (Скроллинг) Активной Страницы Вниз ......Page 33
Вызов функции 8: Чтение Атрибута/Символа в Текущей Позиции Курсора ......Page 36
Вызов функции 9: Запись Атрибута/Символа в Текущую Позицию Курсора ......Page 39
Вызов функции ah: Запись Атрибута/Символа в Текущую Позицию Курсора ......Page 42
Вызов функции bh: Установка Цветовой Палитры ......Page 44
Вызов Функции ch: Запись Точки ......Page 46
Вызов функции dh: Считывание Точки ......Page 47
Вызов функции уh: Вывод Символа на Активную Страницу в Режиме Телетайпа ......Page 49
Вызов функции fh: Определение Текущего Видеорежима ......Page 51
Вызов функции 10h: Установка Регистров Палитры ......Page 53
Подфункция 2: Установка Всех Регистров Палитры ......Page 55
Подфункция 3: Переключение Бита Яркость/Мерцание ......Page 56
Подфункция 10h (только VGA): Установка Отдельного Регистра ЦАП ......Page 57
Подфункция 13h (только VGA): Выбор Подмножества Цветов ......Page 58
Подфункция lah (только VGA): Чтение Цвета Состояния Страницы ......Page 59
Подфункция lbh (только VGA): Суммирование Регистров ЦАП лля Получения Оттенков Серого ......Page 60
Вызов функции llh: Генерация Символов ......Page 63
Подфункция 1: Загрузка Монохромного Набора Символов из ПЗУ ......Page 64
Подфункция 3: Установка Спецификатора Блока ......Page 65
Подфункция 10h: Загрузка Набора Символов Пользователя в Алфавитно-цифровом режиме ......Page 66
Подфункция 14h: Загрузка 16-строчного Набора Символов из ПЗУ ......Page 67
Подфункция 22h: Набор Символов 8x14 из ПЗУ ......Page 68
Подфункция 30h: Информационная ......Page 69
Вызов функции 12h: Альтернативный Выбор ......Page 72
Подфункция 30h (только VGA): Выбор Количества Строк Развертки в Алфавитно-цифровом Режиме ......Page 73
Подфункция 32h (только VGA): Видеофункция ......Page 74
Подфункция 34h: Эмуляция Курсора ......Page 75
Подфункция 36h: Регенерация Изображения ......Page 76
Вызов функции 13h: Вывод Строки на Активную Страницу в Режиме Телетайпа ......Page 77
Вызов функции lah (только VGA): Комбинированный Код Дисплея (ККД) ......Page 78
Подфункция 1: Запись ККД ......Page 79
Вызов функции lbh (только VGA): Информация о Функциональных Возможностях/Состоянии ......Page 80
Вызов функции lch: Сохранение/Восстановление Видеосостояния ......Page 84
Подфункция 2: Восстановление ......Page 85
Непосредственный доступ к памяти ......Page 87
Методы хранения и обработки изображений ......Page 97
Сжатие данных ......Page 99
Обзорные сведения об устройстве EGA ......Page 100
6. Введение в регистровое программирование ......Page 103
Внешние регистры ......Page 105
Порт 3c2h: Регистр Смешанного Вывода (Miscellaneous Output Register) ......Page 106
Порт 3?ah: Регистр Управления Признаком (Feature Control Register) ......Page 108
Порт 3c2h: Нулевой Регистр Входного Состояния (Input Status Register Zero) ......Page 109
Порт 3?ah: Первый Регистр Входного Состояния (Input Status Register One) ......Page 111
Порт 3c3h (только VGA): Регистр Разрешения Видеоподсистемы (Video Subsystem Enable Register) ......Page 112
7. Регистры Указателя Последовательности ......Page 113
Порт 3c4h: Регистр Сброса (индекс 0) (Reset Register) ......Page 114
Порт 3c5h: Регистр Режима Синхронизации (индекс 1) (Clocking Mode Register) ......Page 115
Порт 3c5h: Регистр Маскирования Растра (индекс 2) (Map Mask Register) ......Page 117
Порт 3c5h: Регистр Выбора Символьного Растра (индекс 3) (Character Map Select Register) ......Page 118
Порт 3c5h: Регистр Режима Памяти (индекс 4) (Memory Mode Register) ......Page 120
8. Регистры контроллера электронно-лучевой трубки (ЭЛТ) ......Page 122
Порт 374h: Регистр Адрес КЭЛТ (CRTC Address Register) ......Page 123
Порт 375h: Общий Горизонтальный Регистр (Индекс 0) (Horizontal Total Register) ......Page 124
Порт 375h: Регистр Конец Разрешения Вывода по Горизонтали (индекс 1) (Horizontal Dispaly Enable End register) ......Page 125
Порт 375h: Регистр Начало Затемнения по Горизонтали (индекс 2) (Start Horizontal Blanking Register) ......Page 126
Порт 375h: Конец Затемнения по Горизонтали (индекс 3) (End Horizontal Blanking Register) ......Page 127
Порт 375h: Регистр Сигнал Начала Обратного Сканирования (индекс 4) (Start Horizontal Retrace Pulse Register) ......Page 128
Порт 375h: Регистр Конец Обратного Сканирования по Горизонтали (индекс 5) (End Horizontal Retrace Register) ......Page 129
Порт 375h: Регистр Общий Вертикальный (индекс 6) (Vertical Total Register) ......Page 131
Порт 375h: Регистр Переполнение КЭЛТ (индекс 7) (CRT Controller Overflow Register) ......Page 132
Порт 375h: Регистр Предварительная Строчная Развертка (индекс 8) (Preset Row Scan Register) ......Page 133
Порт 375h: Максимальная Строка Развертки (Индекс 9) (Maximum Scan Line Register) ......Page 134
Порт 375h: Регистр Начало Курсора (индекс ah) (Cursor Start Register) ......Page 135
Порт 375h: Регистр Конец Курсора (индекс bh) (Cursor End Register) ......Page 136
Порт 375h: Регистр Начального Старшего Адреса (индекс ch) (Start Address High Register) ......Page 137
Порт 3?5h: Регистр Начального Младшего Адреса (индекс dh) (Stari Address Low Register) ......Page 138
Порт 375h: Регистр Младшего Адреса Курсора (индекс fh) (Cursor Location Low Register) ......Page 139
Порт 3?5h: Регистр Начало Обратного Хода Луча по Кадр> (индекс l()h (запись!) (Vertical Retrace Start Register) ......Page 140
Порт 375h: Регистр Конец Обратного Хода Луча по Кадру (индекс 1 1 h (запись() (Vertical Retrace End Register) ......Page 141
Порт 375h: Конец Разрешения Вывода Кадров (индекс 12h) (Vertical Dispaly Enable End Register) ......Page 144
Порт 375h: Регистр Смещение (индекс 13h) (Offset Register) ......Page 145
Порт 375h: Регистр Положение Подчеркивания (индекс 14h) (Underline Location Register) ......Page 146
Порт 375h: Регистр Начало Затемнения по Кадру (индекс 15h) (Start Vertical Blanking Register) ......Page 147
Порт 375h: Регистр Конец Затемнения по Кадру (индекс 16h) (End Vertical Blanking) ......Page 148
Порт 375h: Регистр Управления Режимом (индекс 17h) (Mode Control Register) ......Page 149
Порт 375h: Регистр Сравнение Строк (индекс 18h) (Line Compare Register) ......Page 151
9. Регистры Графического Контроллера ......Page 153
Порт 3cch: Регистр Положение Графика 1 (только EGA) (Graphics 1 Position Register) ......Page 154
Порт 3ceh: Регистр Адрес Графики 1 и 2 (Graphics 1 and 2 Address Register) ......Page 155
Порт 3cfh: Регистр Установка/Сброс (индекс 0) (Set/Reset Register) ......Page 156
Порт 3cfh: Регистр Разрешение Установки/Сброса (индекс 1) (Enable Set/Reset Register) ......Page 157
Порт 3efh: Регистр Циклический Сдвиг Данных (индекс 3) (Data Rotate Register) ......Page 159
Порт 3cfh: Регистр Режим (индекс 5) (Mode Register) ......Page 163
Порт 3cfh: Регистр Смешанный (индекс 6) (Miscallaneous Register) ......Page 167
Порт 3cfh: Регистр Цвет Безразличен (индекс 7) (Color Don’t Care) ......Page 168
Порт 3cfh: Регистр Битовой Маски (индекс 8) (Bit Mask Register) ......Page 169
Порт 3c0h: Регистр Адрес Атрибута (Attribute Address Register) ......Page 170
Порт 3c0h: Регистры Палитры (индекс 0-fh) (Palette Registers) ......Page 172
Порт 3c0h: Регистр Управление Режимом (индекс 10h) (Mode Control Register) ......Page 174
Порт 3c0h: Регистр Цвета Рамки (индекс llh) (Overscan Color Register) ......Page 176
Порг 3c0h: Регистр Разрешение Матрицы Цветов (индекс 12h) (Color Plane Enable Register) ......Page 177
Порт 3c0h: Регистр Горизонтальное Поэлементное Панорамирование (индекс l3h) (Horizontal PPL Panninig Register) ......Page 178
Порт 3c0h (только VGA): Регистр Выбор Цвета (индекс 14h) (Color Select Register) ......Page 180
11. Регистры цифро-аналогового преобразователя (только VGA) ......Page 181
Порт 3c8h (только VGA): Режим Записи PEL Адреса (PEL Address Write Register) ......Page 182
Порт 3c9h (только VGA): Регистр PEL Данных (PEL Data Register) ......Page 184
Порт 3c6h (только VGA): Регистр Маскирования PEL (Pel Mask) ......Page 185
12. Область сохранения BlOS ......Page 186
Таблица параметров ......Page 188
Дополнительная таблица алфавитно-цифрового режима ......Page 191
Таблица кодовых комбинаций дисплея ......Page 192
Таблица Параметров Палитры Пользователя ......Page 193
Дополнительные области ОЗУ, использусмые BIOS ......Page 194
Чтение состояния EGA ......Page 195
13. Дисплеи ......Page 196
Модификация прерываний EGA BIOS ......Page 201
Восстановление режимов: убедитесь, что старший бит обнулен ......Page 202
Tест на присутствие ......Page 203
Проблемы при использовании таблиц альтернативного шрифта ......Page 206
Кадровые прерывания ......Page 207
Плавная прокрутка ......Page 213
Графические программы ......Page 216
Алгоритм изображения линии ......Page 217
Алгоритм изображения эллипса ......Page 220
FPLOT.ASM ......Page 225
SMOOTH.ASM ......Page 228
ELLIPSE.ASM ......Page 239
LINE.ASM ......Page 252
VERTIRQ2.ASM ......Page 260