|
Часть 1
Программирование в графических режимах VGA
-----------------------------------------------------------------
Автор: Rueggeberg (Рюггеберг)
Abacus
A Data Becker Book
Впервые напечатано в 1990г.
Напечатано в США
Авторские права (c) 1990 Abacus
5370 52nd Street SE
Grand Rapids, MI 49512
Авторские права (c) 1990 Data Becker GmbH
Merowingerstrasse 30
4000 Duesseldorf, West Germany
Редактор: George W. Miller
Данная книга защищена авторским правом. Никакая часть книги
не может быть воспроизведена, записана в поисковую систему или
передана в любой форме или любыми средствами, электронными,
механическими, фотокопированием, магнитной записью и т.д. без
предварительного письменного разрешения Abacus или Data Becker,
GmbH.
IBM, PC-XT, PC-AT и PC-DOS это торговые марки или
зарегистрированные торговые марки фирмы International Business
Machines Corporation. MS-DOS это торговая марка или
зарегистрированная торговая марка фирмы Microsoft Corporation.
Turbo BASIC, Turbo C и Turbo Pascal это торговые марки или
зарегистрированные торговые марки фирмы Borland International.
QuickBASIC это торговая марка или зарегистрированная торговая
марка фирмы Microsoft Corporation.
Данные Каталога изданий библиотеки Конгресса
Rueggeberg, Jan, 1959-
Programming VGA graphics : programming techniques for
better, faster and easier VGA graphics / Jan Rueggeberg.
p. cm.
Includes index.
ISBN 1-55755-099-9
1. Computer graphics. 2. Expansion boards
(Micricomputers)
I. Title
T385.R85 1990
006.6'7--dc20 90-47264
CIP
Важная информация
-----------------------------------------------------------------
Пожалуйста, имейте в виду, что плата VGA позволит вам выбрать
любой из 262144 цветов, если вы подсоедините ее к аналоговому
монитору при помощи аналогового кабеля. Кроме того, вы должны
правильно установить положения DIP-переключателей на плате VGA и
на мониторе.
Изменения, которые были внесены после издания книги
-----------------------------------------------------------------
Мы часто получаем изменения в программах уже после того, как
текст программ уже был напечатан, что исключает внесение в книгу
последних изменений. Кроме того, мы считаем нужным вносить
изменения в программы в ходе сопровождения наших программных
продуктов, которые по тем или иным причинам не могли быть
отражены в печатном издании.
Поэтому такого рода последние изменения программного
обеспечения отражаются в виде файла README, поставляемого на
программных дискетах в комплекте книги. Эти файлы содержат
информацию, которая должна входить в программное обеспечение.
Если такой информации не оказалось, то файла README на ваших
дискетах не будет. Перед запуском любой из программ, находящихся
на дискете, проверьте, нет ли в директории файла README. Если
такой файл там имеется, прочтите его, прежде чем приступить к
дальнейшей работе.
Файл README можно непосредственно вызвать на экран командой:
TYPE README.TXT
Либо вывод можно сразу направить на принтер командой:
TYPE README.TXT >PRN
Рис.1: Шторм в океане
Содержание
-----------------------------------------------------------------
Важная информация
Изменения, которые были внесены после издания книги
1. Введение
2. Плата VGA
2.1 Экранные адаптеры
2.2 Экран
2.3 Клавиатура
2.4 Устройства для создания графических изображений
3. Основные сведения о BIOS
3.1 Прерывание 16
3.1.1 Функции прерывания 16 в VGA BIOS
3.1.2 Обращение к регистрам BIOS
3.2 Введение в DOS
4. Расширения команд DOS
4.1 Пример программ для DOS
4.2 Команды VGA-DOS
4.3 Обзор команд VGA-DOS
4.4 Инсталяция команд VGA-DOS
4.5 Вызов команд VGA-DOS по приглашению DOS
4.6 Вызов команд VGA-DOS из командных файлов
5. VGA и другие режимы
5.1 Видео-режимы и демонстрационные программы
5.2 Специализации видео-режимов IBM
5.3 Специальные свойства графического режима Hercules
5.4. Уменьшенный шрифт для графических режимов
5.5 EGA- и CGA-вариации режима VGA
6. Расширения Turbo Pascal
6.1 Основы Паскаля
6.1.1 Требования для использования Паскаля
6.1.2 Создание модуля Паскаля
6.1.3 Изменение видео-режима: новая процедура Паскаля
6.1.4 Изменение видео-режимов: текст программы
6.1.5 Переключение на режим 19, шестнадцатиричный номер $13
6.1.6 Использование команд из DOS
6.2 Манипулирование цветами
6.2.1 Цвета рамки в режиме 19
6.2.2 Цвета текста в режиме 19
6.2.3 Цветовая палитра в видео-режиме 19
6.2.4 Упрощенные манипуляции с палитрой
6.2.5 Просмотр палитры
6.2.6 Палитры, настраиваемые пользователем
6.2.7 Цвета палитры в текстовых режимах
6.3 Графические команды Режима 19
6.3.1 Чтение и вывод на экран пикселей
6.3.2 Процедура BLOCK
6.3.3 Процедура CIRCLE
6.3.4 Процедура DISK
6.3.5 Рисование линий в видео-режиме 19 (процедура LINE)
6.3.6 Создание рамок
6.4 Специализированные графические команды
6.4.1 Предварительные требования
6.4.2 Рисование многоцветных линий процедурой FEATHER
6.4.3 Упрощенная процедура заполнения (процедура HORIZONTAL)
6.4.4 Многоцветные диски (процедура BALL)
6.4.5 Многоцветные блоки
6.5 Процедуры со смешанными цветами заполнения
6.5.1 Процедура Horizontal со смешанными цветами заполнения
6.5.2 Расширения процедур BALL и COLUMN
6.5.3 Дополнительные способы работы с цветными поверхностями
(программа Quadratic)
6.6 Сглаживание цветов: процедура ANTIALIA
6.6.1 Считывание палитры
6.6.2 Считывание номера в палитре (процедура READPALETTE)
6.6.3 Считывание цвета палитры непосредственно с экрана
6.6.4 Создание переменных списков для цветов палитры
6.6.5 Считывание цветовых компонент (процедура PEEKLIST)
6.6.6 Поиск аналогий (процедура SIMILAR)
6.6.7 Сглаживание в блоках (процедура ANTALIA)
6.7 Последовательное сглаживание по пикселям
6.8 Модификации существующей палитры
6.8.1 Абсолютное регулирование яркости цветов палитры
6.8.2 Относительное регулирование яркости цветов палитры
6.8.3 Преобразование цветов палитры в чисто серые тона
6.9 Завершенный модуль Паскаля
6.9.1 Добавление в модуль процедуры ZEROKEY
6.10 Прямой запуск программ из DOS
6.10.1 Пример новой команды DOS (программа EGAPALETT)
6.11 Дополнительные примеры программ
6.11.1 Расширение части экрана (Zoom - "Наезд")
6.11.2 Уменьшение части экрана ("Отъезд")
6.11.3 Перемещение изображения
6.11.4 Восход солнца, программа Aurora
6.12 Несколько заключительных слов по поводу
расширений Turbo Pascal
6.13 Список новых процедур на Паскале
7. Программирование для платы VGA на Бейсике
7.1 Turbo BASIC и PowerBASIC
7.1.1 Команды Turbo BASIC и PowerBASIC
7.1.2 Примеры программ на Turbo BASIC и PowerBASIC
7.2 Quick BASIC
7.2.1 Команды Quick BASIC
7.7.2 Пример программы на Quick BASIC
8. Программирование для платы VGA на Turbo С
8.1 Важные команды языка Си
8.2 Пример программы на Си
9. Графическая плата Hercules
9.1 Процедуры для монохромных графических режимов
9.1.1 Монохромный графический режим Hercules и его инициализация
9.1.2 Модификация программ VGA для платы Hercules
9.1.3 Палитра Hercules
9.1.4 Присвоение и считывание цветов пикселей при помощи
процедуры "PEEK(Hercules)"
9.1.5 Процедура BLOCK(Hercules)
9.1.6 Процедура CIRCLE/DISK(Hercules)
9.1.7 Рисование линий и рамок в монохромном графическом режиме
9.2 Специализированные графические команды для Hercules
9.2.1 "Серые тона палитры"
9.3 Моделирование режима VGA 19 в режиме Hercules
10. Графические команды режима 19
10.1 Путешествие по галактике
10.1.1 Описание программы
10.1.2 Правила игры
10.1.3 Листинг TERRAX.PAS на Паскале
10.2 Программа TERRAX для графической платы Hercules
10.3 Демонстрация графики в видео-режиме 19
10.3.1 Заполнение ландшафта деревьями (TREE.PAS)
10.3.2 Лунный пейзаж (CRATER.PAS)
10.3.3 Битва 256 цветов ("Острова в океане")
10.3.4 Размножение цветных пикселей ("Рост кораллов под водой")
10.4 Демонстрация графики для Hercules
10.4.1 Демонстрация моделирования VGA на Hercules
10.4.2 Создание лунного пейзажа в режиме Hercules
10.4.3 Команды DOS для VGA-графики в режиме Hercules
11. Фрактальная графика в режиме IBM 19
11.1 Создание базового файла фрактальной графики
11.2 Программа BMANLED.PAS
Приложение A: Команды VGA DOS
Приложение B: Содержимое сопутствующих дискет
Приложение С: Исходный код
Алфавитный указатель
|