Free Student HQ / FSHQ / "Штаб-Квартира свободного Студента"

Видеопамять

Видеорежимы прежде характеризуются типом (алфавитно-цифровой, т.е. текстовым, при котором экран делится на знакоместа, каждое из которых имеет такие свойства, как символ и цветные атрибуты; также очень распространено графический режим, при котором экран делится на пиксели, каждому из которых соответствует определенный цвет из палитры). Я же остановлюсь на текстовом режиме и объясню основные методы и средства управления видеопамятью в этом режиме средствами языка программирования низкого уровня "Assembler".

Надо сказать, что любой видеорежим характеризуют следующие параметры:

разрешение, то есть максимальное количество точек, которые могут быть изображены на экране по горизонтали и вертикали;
шириной (width) и высотой (height) знака, высвечивается на экране; эти параметры поддерживаются программой знакогенератора и определяют максимальное количество символов в строке и строк на экране;
максимальным количеством цветов, что одновременно высвечиваются на экране;
диапазоном адресов оперативной памяти, занимаемой видеопамять;
максимальным количеством видеостраниц ("экранов"), содержащиеся в видеопамяти.

Установка видеорежиме обеспечивается программами видео BIOS. Я приведу список таких видеорежимов:

В EGA существует пять текстовых и семь графических режимов. Текстовые: 0-3 и 7.Режимы 0-3 идентичны режимам 0-3 в CGA. Режим 7 идентичен режиму 7 монохромногоадаптера MDA. Видеорежимы АРА 4-6 идентичны в EGA и CGA. В видеорежимах АРАкурсор не выводится.

Структура видеопамяти в текстовом режиме

Видеопамять в текстовых режимах начинается с адреса B800h (цветной дисплей) и B000h(монохромный). Под каждое знакоместо экрана в видеопамяти отводится 2 байта. Младший байт (с парным смещением от начала видеопамяти - 0, 2, 4 ...) содержит кодASCII висвитлюемого знака. Старший байт (с нечетным смещением) содержит атрибутзнака, определяющего его цветные.

Эта видеопамять с частотой от 50 до 70 раз в секунду (см. VERTICAL SCAN RATE т.д.)отображается на экране, причем байты с парным смещением в видеопамятиотображаются на экране в виде соответствующего символа (с помощьюзнакогенератора). Следующие за ним нечетные байты-атрибуты задают цвета знаков, изображаются.

В байте-атрибута 4 значащих поля:
7-й бит: мерцание (blink)
6,5,4-и биты: цвет фона (background)
3-й бит: интенсивность (intensity)
2,1,0-и биты: цвет переднего плана (foreground)

Для цветного монитора, 3-битовый код определяет один из 8 возможных цветов. В монохромном мониторе возможны 3 бита цвета должны выбирать одно из следующих значений:

Надо заметить, что в EGA / VGA, эти 3-битовые комбинации определяют не цвет, а номер регистра палитры в атрибутном контроллере. Указанные цвета получаются только в случаях, когда эти регистры имеют стандартные 6-битные значения. Во всех других случаях, регистр палитры может быть заполнено любым из 64 возможных комбинаций битов, связанных с некоторым цветом.

Кроме того, в VGA, 6-битное значение регистра палитры связано лишь с номером одного из 256 регистров DAC (что непосредственно руководит цветом на экране). Указанные цвета получаются только в случае, когда эти регистры имеют стандартные 18-битные значения. Во всех других случаях, регистр DAC может быть заполнено в любой из 262144 возможных комбинаций битов, связанных с некоторым цветом.

Основные характеристики экрана (DOT RSTE, HORIZONTAL (VERTICAL) SCAN RATE)

Основной характеристикой аппаратных возможностей видеосистемы является скорость вывода точек на экран (DOT RATE VIDEO или BANDWIDTH). Осцелятор, что означает эту скорость, называется DOT CLOCK. чем выше DOT CLOCK, тем лучше разрешение экрана. На разрешение экрана влияют еще две характеристики: скорость вывода линий на экран (HORIZONTAL SCAN RATE) и скорость вывода экранов (VERTICAL SCAN RATE).

Чтобы подсчитать, например, возможное количество знаков в строке экрана (HORIZONTAL TOTAL; см.. Регистры CRTC):

Значимые интервалы при перемещении луча по экрану

В программировании устройств видеосистемы большую роль играют специфические интервалы времени, возникающие при перемещении луча по экрану.

Луч перемещается по экрану слева направо и сверху вниз. Интервал времени, когда луч идет налево называется HORIZONTAL RETRACE. HORIZONTAL RETRACE равна примерно 10-15% от времени HORIZONTAL SCAN RATE, т.е.
Количество точек в линии
                                                                         1
HORIZONTAL RETRACE = (10-15%) _____________________________

HORIZONTAL SCAN RATE

Во время интервала RETRACE луч должен быть отключен, чтобы предотвратить ухудшение изображения на экране (так HORIZONTAL RETRACE называют также HORIZONTAL BLANKING). Но между отключением луча и началом RETRACE (а также между включением луча и концом RETRACE) проходит некоторое время, пока луч еще включен, а активная область экрана уже кончилась. Этот интервал называют OVERSCAN. С его помощью создается "рамка" экрана.

Аналогичные интервалы возникают при движении луча вверх. Интервал времени, когда луч идет вверх, называют VERTICAL RETRACE. Время отключенного луча в RETRACE называют RETRACE BLANKING. Время включенного луча, который находится в VERTICAL RETRACE, называют VERTICAL OVERSCAN. VERTICAL OVERSCAN может быть внизу (когда начался RETRACE, но луч еще не отключен), или вверху (если RETRACE еще не кончился, но луч уже включен).

Адрес видео BIOS CGA, EGA, VGA

Видео BIOS CGA находится на материнской плате. При включении компьютера, вектор прерывания 10h инициализуеться так, чтобы указывать на видеопрограммы BIOS в ROM. Эти программы начинаются в адресном пространстве CPU с адреса F000: E000.

В EGA находится своя множество видеопрограмм в RAM. Они размещаются с адреса C000: 0000. Программа начальной загрузки (POST) инициализуе вектор прерывания 10h так, чтобы он указывал на собственные видеопрограммы EGA. Адрес программы видео BIOS на материнской плате сохраняется в векторе прерывания 42h.

В VGA программы видео BIOS размещаются по адресу C000: 0000

В слагаемого приводится текст программы на языке Borland Pascal 7.0 с вставками на языке Assembler. Программа демонстрирует возможности управления изображением с помощью прямой адресации видеопамяти.

 

 

Слагаемое. Листинг программы, которая демонстрирует возможности управления видеопамьятью.

 

  • Категории раздела:
  •      Другое
  • Смотрите также:
  •  



    Сайт создан в 2012 г. © Все права на материалы сайта принадлежат его автору! 
    Копирование любых материалов сайта возможно только с разрешения автора и при указании ссылки на первоисточник
    Яндекс.Метрика