Assembler - язык неограниченных возможностей


Регистры синхронизатора (03C4h– 03C5h)


Для обращения к регистрам синхронизатора следует записать индекс нужного регистра в порт 03C4h, после чего можно будет читать и писать данные для выбранного регистра в порт 03C5h. Точно так же, если требуется только запись в регистры, можно просто поместить индекс в AL, посылаемый байт — в АН и выполнить команду вывода слова в порт 03CEh.

    00h: Регистр сброса синхронизации

    бит 1: запись нуля сюда вызывает синхронный сброс

    бит 0: запись нуля сюда вызывает асинхронный сброс

01h: Регистр режима синхронизации

    бит 5: 1 — обмен данными между видеопамятью и дисплеем выключен

    бит 3: 1 — частота обновления для символов уменьшена в два раза

    бит 0: 1/0 — ширина символа 8/9 точек

02h: Регистр маски записи

    бит 3: разрешена запись CPU в цветовую плоскость 3

    бит 2: разрешена запись CPU в цветовую плоскость 2

    бит 1: разрешена запись CPU в цветовую плоскость 1

    бит 0: разрешена запись CPU в цветовую плоскость 0

03h: Регистр выбора шрифта

    бит 5: если бит 3 атрибута символа = 1, символ берется из шрифта 2

    бит 4: если бит 3 атрибута символа = 0, символ берется из шрифта 2

    биты 3 – 2: номер таблицы для шрифта 2

    биты 1 – 0: номер таблицы для шрифта 1

    (00, 01, 10, 11) = (0 Кб, 16 Кб, 32 Кб, 48 Кб от начала памяти шрифтов VGA)

04h: Регистр организации видеопамяти

    бит 3: 1 — режим CHAIN-4 (используется только в видеорежиме 13h)

    бит 2: 0 — четные адреса обращаются к плоскостям 0, 2, нечетные — к 1, 3

    бит 1: объем видеопамяти больше 64 Кб

Хотя BIOS и позволяет использовать некоторые возможности этих регистров, в частности работу со шрифтами (INT 10h АН = 11h) и выключение обмена данными между видеопамятью и дисплеем (INT 10h, АН = 12h, BL = 32h), прямое программирование регистров синхронизатора вместе с регистрами контроллера CRT позволяет значительно изменять характеристики видеорежимов VGA, вплоть до установки нестандартных видеорежимов. Наиболее популярными режимами являются так называемые режимы «X» с 256 цветами и с разрешением 320 или 360 пикселей по горизонтали и 200, 240, 400 или 480 пикселей по вертикали. Так как такие режимы не поддерживаются BIOS, для их реализации нужно написать все необходимые процедуры — установку видеорежима, вывод пикселя, чтение пикселя, переключение страниц, изменение палитры, загрузку шрифтов. При этом для всех режимов из этой серии, кроме 320x240x256, приходится также учитывать измененное соотношение размеров экрана по вертикали и горизонтали, чтобы круг, выведенный на экран, не выглядел как эллипс, а квадрат — как прямоугольник.




Начало  Назад  Вперед