ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 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: Содержимое сопутствующих дискет Приложение С: Исходный код Алфавитный указатель |