Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Программирование видеоадаптеров CGA, EGA и VGA

© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.

[Назад] [Содеожание] [Дальше]

10.1. Переменные в младших адресах памяти

В младших адресах памяти 0000:0400 - 0000:0500 расположены переменные BIOS, в которых находятся основные параметры, определяющие состояние компьютера. Прикладные программы должны осторожно обращаться с этой областью памяти, так как нарушения в ней могут вызвать "зависание" системы, или другие нежелательные эффекты.

Если вы программируете видеоадаптер непосредственно через регистры, то если вы в последствии хотите вызывать функции BIOS, то рекомендуется при записи в регистры обновлять соответствующие переменные BIOS. Например если вы изменили непосредственно через регистры положение курсора, а потом хотите считать его положение при помощи функций BIOS, то надо сразу после изменения регистра изменить и соответствующую переменную BIOS (ее адрес 0000:0450).


Адрес      Размер   Содержание


0000:0410   1 байт   флаги конфигурации:
            биты D5 и D4 определяют тип
            текущего первичного дисплея:

               D5 D4   видеоадаптер

               0  0      EGA
               0  1      CGA 40х25
               1  0      CGA 80х25
               1  1      MDA

0000:0449   1 байт   текущий режим работы
            видеоадаптера

0000:044A   слово   число символов в строке

0000:044С   слово   размер страницы видеопамяти
            в байтах

0000:044E   слово   значение регистра начального
            адреса (SAR)

0000:0450   8 слов   координаты курсоров для
            каждой страницы видеопамяти,
            младший байт определяет
            столбец, а старший строку
            экрана в которой находится
            курсор

0000:0460   слово   содержимое регистров
            начальной и конечной линии
            курсора (CSR _ старший и CER
             _ младший байты
             соответственно)
            

0000:0462   1 байт   номер активной страницы
            видеопамяти

0000:0463   слово   адрес порта контроллера ЭЛТ
            (3B4 или 3D4)

0000:0465   1 байт   установка регистра режима CGA
            (регистр MCR)

0000:0466   1 байт   установка цветовой палитры
            CGA (регистр CSR)

0000:0484   1 байт   число текстовых строк _ 1

0000:0485   слово   высота символов в пикселах

0000:0487   1 байт   первый байт информации о EGA:


    7 6 5 4 3 2 1 0
   _________________
   ¦ ¦   ¦ ¦ ¦ ¦ ¦ ¦
   _________________
    _ ___ _ _ _ _ ___ если бит равен единице, то 
    _  _  _ _ _ _   разрешена эмуляция курсора CGA;
       _  _  _ _ _ _   
       _  _  _ _ _ _____ равен единице, видеоадаптер
    _  _  _ _ _      подсоединен к монохрому дисплею;
       _  _  _ _ _      
       _  _  _ _ _______ единица в этом бите означает,
    _  _  _ _       что BIOS будет ожидать обратного
    _  _  _ _       вертикального хода луча для
    _  _  _ _       записи в видеопамять;
       _  _  _ _        
       _  _  _ _________ бит установлен, если  первичным
    _  _  _        видеоадаптером является EGA;
       _  _  _          
       _  _  ___________ не используется;
       _  _             
       _  ______________ объем видеопамяти:
       _
    _         0 0 _ 64К байт,
    _         0 1 _ 128К байт,
    _         1 0 _ 192К байт,
    _         1 1 _ 256К байт;
       _
       _  
       _________________ единица означает, что последняя
          операция выбора режима
          видеоадаптера не очистила
          видеопамять
   
0000:0488   1 байт   второй байт информации о EGA:

    7 6 5 4 3 2 1 0
   _________________
   ¦       ¦       ¦
   _________________
    _______ _______
          _          ___ положение переключателей на плате
       _       EGA
          _
          ______________ значение регистра управления
                         дополнительным устройством


0000:04A8   двойное слово      адрес таблицы 
                  окружения (см. 
                  следующий раздел)

Таблица 11.1 Переменные видеофункций BIOS.

[Назад] [Содеожание] [Дальше]