Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программирование EGA и VGA


=======================================================================
ПОРТ 3c5h: РЕГИСТР ВЫБОРА СИМВОЛЬНОГО РАСТРА (индекс 3)
           (Character Map Select Register)

ОПИСАНИЕ

    Регистр определяет, какой раздел второй битовой матрицы со-
держит генератор(ы) символов алфавитно - цифрового режима. Вторая
битовая матрица разделена на 1-4 раздела по 8К (в зависимости от
размера установленной памяти EGA). На EGA каждый из этих разделов
может содержать один генератор символов (всего может быть 4). На
VGA каждый раздел может содержать два символьных растра. Два гене-
ратора из четырех (или восьми) могут быть определены как основной
и вторичный наборы символов для вывода 512 символов (выбираются из
1024 или 2048 возможных). EGA позволяет определить 256 символов на
каждые 64К установленной памяти.

ЗАМЕЧАНИЯ

    Как правило, символьные растры А и В имеют одинаковые значения,
вследствие чего доступны только 256 символов. Однако, когда эти кар-
ты программируются различными значениями, 3 бита атрибута (яркость)
используются в качестве  селектора набора символов (то, что выглядит
в большинстве программ как символы с высокой яркостью, будет отобра-
жаться как дополнительные 256 символов).
    Для работы этой функции размер установленной памяти EGA должен
превышать 64К.
    Установка регистра Выбора Символьного Растра должна производить-
ся только после сброса регистра Указателя Последовательности (асин-
хронный сброс вызывает очистку этого регистра путем присвоения ему
значения 0).
    Установки BIOS, предусмотренные по умолчанию (все значения шест-
надцатиричные):

    Режим   0  1  2  3  4  5  6  7  d  e  f  10
           00 00 00 00 00 00 00 00 00 00 00 00

БИТЫ

  0-1   Выбор Символьного Растра А
        Посредством этого двоичного значения определяется раздел
        размером 8К, используемый для основного набора символов
        (бит 3 атрибута = 0). Значения 0-3 определяют соответст-
        венно банки 0-3

  2-3   Выбор Символьного Растра В
        Посредством этого двоичного значения определяется раздел
        размером 8К, используемый для вторичного набора символов
        (бит 3 атрибута = 1). Значения 0-3 определяют соответст-
        венно банки 0-3

  4     Старший Бит Символьного Растра В (только VGA)
        Добавляет дополнительный бит к номеру вторичного набора
        символов для получения восьми возможных состояний

  5     Старший Бит Символьного Растра А (только EGA)
        Добавляет дополнительный бит к номеру основного набора
        символов для получения восьми возможных состояний

  6-7   Не используются



=======================================================================
ПОРТ 3c5h: РЕГИСТР РЕЖИМА ПАМЯТИ (индекс 4)
           (Memory Mode Register)

ОПИСАНИЕ

    Регистр осуществляет управление установками режима указателя
последовательности. Для определения режима Графического Контроллера
см. регистры: Режим Графического Контроллера, Смешанные. Для уста-
новки режима КЭЛТ следует обратиться к описанию регистра Управление
Режимом КЭЛТ.
    Установки BIOS, предусмотренные по умолчанию (все значения шест-
надцатиричные):

    Режим   0  1  2  3  4  5  6  7  d  e  f 10
           03 03 03 03 02 02 06 03 06 06 00 00

    Более 64К памяти EGA:

    Режим   f 10
           06 06

БИТЫ

  0     Алфавитно-цифровой режим (только EGA)
        Значение 1 устанавливается для алфавитно-цифровых режимов,
        а 0 - для графических. В алфавитно-цифровом режиме вторая
        битовая матрица может быть использована в качестве генера-
        торов символов

  1     Расширяемая Память
        Если установлено более 64К памяти, значение бита, равное 1,
        позволяет адресовать биты 14 и 15. Установка значения 0 ис-
        пользуется для режимов высокого разрешения EGA, когда плата
        расширения памяти адаптера не установлена

  2     Нечетный/Четный режим
        Если установлено значение 0, данные ЦП с нечетными адресами
        отображаются в нечетных битовых матрицах (а данные с четными
        адресами - в четных). Используется только Указатель Последо-
        вательности. Обычно для использования такой схемы адресации
        Графического Контроллера выполняется установка бита 4 регис-
        тра Режима Графического Контроллера (см. порт 3cfh, индекс 5)
        Использование такой схемы полезно в алфавитно-цифровых режи-
        мах (данные атрибута помещаются в одной матрице, а символьные
        данные - в другой), при эмуляции графических режимов CGA или
        в случае, когда доступно менее 64К памяти для адресации двух
        битовых матриц как одной

  3     Цепочка 4 (только VGA)
        Режим сходен с нечетным/четным режимом, за исключением фор-
        мирования цикла из четырех, а не двух значений. Когда оста-
        ток равен 0, ЦП адресует растр в матрицу 0, остаток 1 - в
        матрицу 1, остаток, равный 2 - в матрицу 2, а 3 - в матрицу
        3. Установкой значения 1 определяется режим Цепочка 4 (ис-
        пользуется в 256-цветном режиме). Каждая битовая матрица
        содержит каждый четвертый байт, тогда как ЦП рассматривает
        их как одну матрицу непрерывной памяти

 4-7    Не используется



------------------------------------------------------------------------
                              8. P E Г И C T P Ы   K O H T P O Л Л E P A
           Э Л E K T P O H H O - Л У Ч E B O Й   T P У Б K И   ( Э Л T )
------------------------------------------------------------------------



     Регистры КЭЛТ образуют самую большую группу регистров в EGA и VGA.
Как следует из названия регистров, они предназначены для управления
функциями временного согласования и синхронизации монитора ЭЛТ. Регистры
КЭЛТ уникальны в том смысле, что могут использоваться c двумя адресами
портов, как для порта 3b4h/3b5h (монохромный дисплей), так и 3d4h/3d5h
(цветной дисплей). Большинство из этих регистров дублируют функции кон-
троллера 6845, используемого c MDA и CGA, хотя и имеются малосуществен-
ные отличия. При вводе в эксплуатацию EGA некоторые программы CGA ока-
зались не в состоянии работать в режиме эмуляции не EGA из-за указанных
отличий.
     B большинстве случаев несовместимость проявляется в программах под-
держивающих композитные мониторы, в которых изображение может центриро-
ваться через регистр Позиции Горизонтальной Синхронизации (порт 3d5h,
индекс 2). Однако в EGA не поддерживаются композитные мониторы и индекс
2 используется как регистр Начало Затемнения по Горизонтали. B следую-
щей таблице приведены основные отличия.

----------T----------------------------T-------------------------------¬
¦Порт 3d4h¦                            ¦                               ¦
¦Индекс   ¦        CGA/MDA             ¦         EGA/VGA               ¦
+---------+----------------------------+-------------------------------+
¦   2     ¦Позиция Горизонтальной Син- ¦Начало Затемнения по Горизон-  ¦
¦         ¦хронизации                  ¦тали                           ¦
¦   3     ¦Ширина Горизонтальной Син-  ¦Конец Затемнения по Горизон-   ¦
¦         ¦хронизации                  ¦тали                           ¦
¦   4     ¦Общий Вертикальный          ¦Начало Обратного Сканирования  ¦
¦         ¦                            ¦по горизонтали                 ¦
¦   5     ¦Общая Установка Кадров по   ¦Конец Обратного Сканирования   ¦
¦         ¦Вертикали                   ¦по горизонтали                 ¦
¦   6     ¦Вывод по Кадрам             ¦Общий Вертикальный             ¦
¦   7     ¦Синхронизация по Вертикали  ¦Переполнение                   ¦
¦   8     ¦Режим переплетение          ¦Предварительная строчная       ¦
¦         ¦                            ¦Развертка                      ¦
L---------+----------------------------+--------------------------------

     Кроме того, порт 3d8h (регистр Выбора Режима) и 3d9h (регистр Вы-
деления Цвета) не применяются в адаптерах EGA и VGA. B некоторых прог-
раммах CGA порт 3d8h используется для устранения мерцания , a порт 3d9h -
для замены цвета символов графического экрана 640x200.


=======================================================================
ПОРТ 3?4h: РЕГИСТР АДРЕС КЭЛТ
           (CRTC Address Register)


ОПИСАНИЕ

     Регистр Адрес КЭЛТ определяет регистр, назначенный порту 3b5h (для
монохромных дисплеев) или порту 3d5h (для цветных дисплеев). Номер ин-
декса требуемого регистра записывается в порт 3b5h или 3d5h.
Индекс   Регистр
  0      Общий Горизонтальный
  1      Конец Разрешения Вывода по Горизонтали
  2      Начало Затемнения по Горизонтали
  3      Конец Затемнения по Горизонтали
  4      Начало Обратного Сканирования по Горизонтали
  5      Конец Обратного Сканирования по Горизонтали
  6      Общий Вертикальный
  7      Переполнение
  8      Предварительная Строчная Развертка
  9      Максимальная Строка Развертки
  Ah     Начало Kypcopa
  Bh     Конец Kypcopa
  Ch     Начальный Старший Адрес
  Dh     Начальный Младший Адрес
  Eh     Регистр Старшего Адреса Kypcopa
  Fh     Регистр Младшего Адреса Kypcopa

 10h     Начало Обратного Хода Луча по Кадру (запись EGA, чтение/запись
         в VGA)
 10h     Регистр Старшего Адреса Светового Пера (чтение, только EGA)
 11h     Конец Обратного Хода Луча по Кадру (запись в EGA, чтение/запись
         в VGA)
 11h     Регистр Младшего Адреса Светового Пера (чтение, только EGA)
 12h     Конец Разрешения Вывода Кадров
 13h     Смещение
 14h     Положение подчеркивания
 15h     Начало Затемнения по Кадру
 16h     Конец Затемнения по Кадру
 17h     Управление Режимом
 18h     Сравнение Строк

ЗАМЕЧАНИЯ

     Бит 5 в VGA применяется для тестирования микросхем. Его значение
всегда должно быть равно 0.


=======================================================================
ПОРТ 3?5h: ОБЩИЙ ГОРИЗОНТАЛЬНЫЙ РЕГИСТР (Индекс 0)
           (Horizontal Total Register)


ОПИСАНИЕ

     B данном регистре указывается возможное по ширине количество сим-
волов в горизонтальной развертке, плюс период горизонтального обратного
сканирования (это  может быть как окончанием затемнения по горизонтали
в режимах совместимости, так и окончанием обратного сканирования по го-
ризонтали в режимах EGA).
     Встроенный счетчик сбрасывается при достижении значения, определен-
ного в Общем Горизонтальном регистре. Ha основе встроенного счетчика pe-
ализованы все временные функции ЭЛТ. Новый интервал начинается через од-
но значение счетчика после окончания предыдущего интервала.

ЗАМЕЧАНИЯ

     Значение, используемое в Общем Горизонтальном регистре, фактически
на два меньше общего количества символов в строке в EGA и на пять - в
VGA.
     Адаптер всегда считает первую высвечиваемую позицию первым значени-
ем счетчика развертки. Следующие интервалы включают сканирование правого
участка рамки, затемнение по горизонтали и, наконец, сканирование левого
участка рамки.
     Ограниченность временных интервалов требует от адаптера закончить
счет по обратному сканированию до окончания затемнения по горизонтали.
Таким образом, обратное сканирование заканчивается до окончания затем-
нения по горизонтали, что является причиной появления цветной полосы
на левом краю высвечиваемой области, если цвет рамки отличен от черного.
     Этот регистр также управляет горизонтальным размером пикселя. Пол-
ное значение счетчика должно достигаться за время полной горизонталь-
ной развертки и обратного сканирования. Поэтому большее значение приво-
дит к меньшему размеру пикселя.
     Установки, принятые в BIOS по умолчанию (шестнадцатиричные значе-
ния):

     Режим      0  1  2  3  4  5  6  7  D  E  F 10
               37 37 70 70 37 37 70 60 37 70 60 5b

     Объем памяти EGA более 64K

     Режим      f 10
               60 5b

     Значение для усовершенствованного цветного дисплея:

     Режим      0  1  2  3
               2d 2d 5d 5d

БИТЫ
 0-7     Счетчик символов (минус 2 - для EGA, минус 5 - для VGA)



=======================================================================
ПОРТ 3?5h: РЕГИСТР КОНЕЦ РАЗРЕШЕНИЯ ВЫВОДА ПО ГОРИЗОНТАЛИ (Индекс 1)
           (Horizontal Display Enable End Register)

ОПИСАНИЕ

     B регистре содержится значение возможного количества символов,
умещающихся по ширине экрана. При значении внутреннего счетчика, рав-
ном значению в регистре Конец Разрешения Вывода по Горизонтали, начи-
нается обратное сканирование.

ЗАМЕЧАНИЯ

     Значение регистра Конец Разрешения Вывода по Горизонтали фактичес-
ки меньше максимального значения на 1 (поэтому нулевое значение опреде-
ляет один символ).
     Адаптер всегда считает первую высвечиваемую позицию первым значени-
ем счетчика развертки. Следующие интервалы включают сканирование правого
участка рамки, затемнение по горизонтали и наконец сканирование левого
участка рамки.
     Установки, принятые в BIOS по умолчанию (шестнадцатиричные значе-
ния):

     Режим     0  1  2  3  4  5  6  7  d  e  f 10
              27 27 4f 4f 27 27 4f 4f 27 4f 4f 4f

БИТЫ
0-7      Счетчик символов (минус 1) на всей ширине экрана; обычно 39
         или 79.

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог