Программирование видеоадаптеров 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. |

