Математика | ||||
графические адаптеры EGA/VGA-Руководство Москва 1992 стр.272 | ||||
Предисловие После своего появления в конце 1984 года усовершенствованный графический адаптер (EGA) стал стандартом графики для персональных компьютеров IBM. Сегодня к нему присоединился более мощный и сложный стандарт графики — массив видеографики (VGA). Поскольку EGA является . наиболее популярной дополнительной платой для миллионов компьютеров PC, XT, AT и совместимых с ними, a VGA представляет собой стандарт для новых серий компьютеров, выполненных на основе микропроцессоров 80286 и 80386, т. е. PS/2, нет необходимости объяснять важность знания этих графических стандартов для всех, кто интересуется программированием на описанных типах персональных компьютеров и желает наиболее полно использовать графические возможности компьютера. Однако получить подробную информацию об этих двух графических картах не так просто. Документация по EGA и VGA рассеяна по отдельным руководствам, трудна для понимания и нередко имеет отрывистый характер. Более того, эти руководства содержат очень небольшое количество примеров, а многие из приведенных примеров представляют собой только фрагменты программ, которые необходимо объединить еще с несколькими фрагментами, чтобы получить работающую программу. Несмотря на то, что в различных журналах имеется довольно большое число статей, посвященных программированию EGA/VGA, найти то или иное описание в этих статьях достаточно трудно, кроме того значительные сложности вызывает выбор терминологии, которая отличается в различных публикациях. Таким образом, программирование EGA/VGA не только достаточно сложно само по себе, но на программиста ложится дополнительная задача поиска информации, необходимой для понимания работы графических адаптеров. Цель настоящего руководства — устранить отмеченные выше сложности, объединив все имеющиеся материалы по EGA/VGA в одной работе, расширив число ситуаций, для которых приведены Оглавление Предисловие..................................................................................................................3 Соглашения по терминологии...............................................................................К 1. Проблема совместимости.........................................................................................9 Совместимость с ранними моделями адаптеров..................................................9 Гибкость (страничная организация памяти, альтернативные наборы символов, мониторы) .....................................................'................................1 1 2. Введение в BIOS. Модифицируемые программы.......................................'.........14 Обращения к BIOS...............................................................................................15 Текстовой и графический режимы.....................................................................16 Вызов функции 0: Установка Режима........................................................18 Вызов функции 1: Установка Типа Курсора..............................................20 Вызов функции 2: Установка Позиции Курсора........................................22 Вызов функции 3: Чтение Позиции Курсора.............................................23 Вызов функции 4: Чтение Позиции Светового Пера................................26 Вызов функции 5: Установка Активной Экранной Страницы..................27 Вызов функции 6: Прокрутка (Скроллинг) Активной Страницы Вверх.........................................................................................................30 Вызов функции 7: Прокрутка (Скроллинг) Активной Страницы Вниз..32 3. BIOS экранного ввода/вывода..............................................................................35 Вызов функции 8: Чтение Атрибута/Символа в Текущей Позиции Курсора..............'.......................................................................................35 Вызов функции 9: Запись Атрибута/Символа в Текущую Позицию Курсора...................................*................................................................38 Вызов функции ah: Запись Атрибута/Символа в Текущую Позицию Курсора.....................................................................................................41 Вызов функции bh: Установка Цветовой Палитры...................................43 Вызов Функции ch: Запись Точки..............................................................45 Вызов функции dh: Считывание Точки......................................................46 Вызов функции eh: Вывод Символа на Активную Страницу r Режиме Телетайпа.................................................................................................4S Вызова-функции fh: Определение Текущего Видеорежима........................50 Подфункция 23h: Набор Символов 8x8 из ПЗУ.................................68 Подфункция 24h: Набор Символов 8x16 из ПЗУ...............................68 Подфункция 30h: Информационная.......................................................68 •Вызов функции 12h: Альтернативный Выбор.............................................71 Подфункция !0h: Возвращает информацию.........................................72 Подфункция 20h: Выбор Альтернативной Программы Печати Экрана................................................................................................72 Подфункция ЗОИ (только VGA): Выбор Количества Строк Развертки в Алфавитно-цифровом Режиме.......................................................72 Подфункция 31 h (только VGA): Разрешение Загрузки Палитры по У мол ча н и ю.........................................................................................73 Подфункция 32h (только VGA): Видсофункция..................................73 Подфункция ЗЗп: Суммирование для Получения Градаций Серого..74 Подфункция 34h: Эмуляция Курсора....................................................74 Подфункция 35h: Выбор Активного Дисплея.......................................75 Подфункция 36п: Регенерация Изображения.......................................75 Вызов функции 13п: Вывод Строки на Активную Страницу в Режиме Телетайпа.................................................................................................76 Вызов функции lah (только VGA): Комбинированный Код Дисплея (ККД)........................................................................................................77 Подфункция 0: Чтение ККД..................................................................78 Подфункция 1: Запись ККД..................................................................78 Вызов функции lbh (только VGA): Информация о Функциональных Возможностях/Состоянии.........................................................................79 Вызов функции lch: Сохранение/Восстановление Видсосостояния...........83 Подфункция 0: Получение Размера Буфера........................................84 Подфункция 1: Сохранение....................................................................84 Подфункция 2: Восстановление..............................................................84 Физическая организация адаптеров.....................................................................86 Что лучше: обращения к BIOS или непосредственная работа с регистрами и памятью?..............................................................................86 Непосредственный доступ к памяти...................................................................86 Методы хранения и обработки изображений....................................................96 Сжатие данных.....................................................................................................98 Страницы...............................................................................................................99 Обзорные сведения об устройстве EGA.............................................................99 Введение в регистровое программирование.......................................................102 Внешние регистры..............................................................................................104 Порт 3c2h: Регистр Смешанного Вывода (Miscellaneous Output Register)..................................................................................................105 Порт З'.'а-h: Регистр Управления Признаком (Feature Control Register) 107 Порт 3c2h: Нулевой Регистр Входного Состояния (Input Status Register Zero).........................................................................<Г;............................108 Порт 3?ah: Первый Регистр Входного Состояния (Input Status Register One).........................................................................................................ПО Порт 3c3h (только VGA): Регистр Разрешения Видеоподсистемы (Video Subsystem Enable Register)...................................................................111 7. Регистры Указателя Последовательности..........................................................112 Порт 3c4h: Регистр Адреса Указателя Последовательности (Sequencer Address Register)....................................................................................113 Порт 3c4rr Регистр Сброса (индекс 0) (Reset Register).........................113 Порт 3c5h: Регистр Режима Синхронизации (индекс 1) (Clocking Mode Register)..................................................................................................114 Порт 3c5h: Регистр Маскирования Растра (индекс 2) (Map Mask Register)..................................................................................................116 Порт 3c5h: Регистр Выбора Символьного Растра (индекс 3) (Character Map Select Register)........................................117 Порт 3c5h: Регистр Режима Памяти (индекс 4) (Memory Mode Register)..................................................................................................119 8. Регистры контроллера электронно-лучевой трубки (ЭЛТ)...............................121 Порт 3?4h: Регистр Адрес КЭЛТ (CRTC Address Register)...................122 Порт 3?5h: Общий Горизонтальный Регистр (Индекс 0) (Horizontal Total Register)..................................................................................................123 Порт 3?5h: Регистр Конец Разрешения Вывода по Горизонтали (индекс 1) (Horizontal Dispaly Enable End register).........................124 Порт 3?5h: Регистр Начало Затемнения по Горизонтали (индекс 2) (Start Horizontal Blanking Register).....................................................125 Порт 3?5h: Конец Затемнения по Горизонтали (индекс 3) (End Horizontal Blanking Register)................................................................126 Порт 3?5h: Регистр Сигнал Начала Обратного Сканирования (индекс 4) (Start Horizontal Retrace Pulse Register)...............................127 Порт 3?5h: Регистр Конец Обратного Сканирования по Горизонтали (индекс 5) (End Horizontal Retrace Register).....................................128 Порт 3?5h: Регистр Общий Вертикальный (индекс 6) (Vertical Total Register)..................................................................................................130 Порт 3?5h: Регистр Переполнение КЭЛТ (индекс 7) (CRT Controller Overflow Register)...................................................................................131 Порт 3?5h: Регистр Предварительная Строчная Развертка (индекс 8) (Preset Row Scan Register)...................................................................132 Порт 3?5h: Максимальная Строка Развертки (Индекс 9) (Maximum Scan Line Register)................................................................................133 Порт 3?5h: Регистр Начало Курсора (индекс ah) (Cursor Start Register)..................................................................................................134 Цена: 100руб. |
||||