Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Цветной графический адаптер CGA_F





 

Цветной графический адаптер (CGA - Color Graphics Adapter)

- это графический видеоконтроллер среднего разрешения. Для него

зарезервированы порты ввода-вывода 3D0h - 3DFh, имеющие

следующее назначение.

 

Порт Операция Описание

───────────────────────────────────────────────────────────── 3D4h Запись Регистр индекса ЭЛТ. Используется для выбора

регистра ЭЛТ. Для записи регистра ЭЛТ Rn нужно

выполнить команды:

out 3D4h,n и out 3D5h,данные.

 

3D5h Запись/ Регистр данных ЭЛТ. Позволяет записывать все

чтение регистры ЭЛТ и читать регистры R12 - R17.

3D8h Запись Регистр режимов дисплея:

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│ │ │ │ │ │ │ Бит:

└─┴─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┘ ────

│ │ │ │ │ └──>0: кол-во столбцов в текстовых режимах:

│ │ │ │ │ 0=40 столбцов, 1=80 столбцов

│ │ │ │ └─────>1: 0=текстовый режим, 1=графический режим

│ │ │ └────────>2: 1=запрет цвета на композитном дисплее

│ │ └───────────>3: 0=очистить экран, 1=активизировать

│ │ экран

│ └──────────────>4: разрешение по горизонтали:

│ 0=320 точек, 1=640 точек

└─────────────────>5: 1=бит 7 атрибутов - мерцание

0=бит 7 атрибутов - яркость фона

3D9h Запись Регистр выбора цветов:

7 6 5 4 3 2 1 0

┌─┬─┬──┬──┬──┬──┬──┬──┐

│X│X│ │ │I R G B │ Биты:

└─┴─┴┬─┴┬─┴──┴──┼──┴──┘ ─────

│ │ └──────>0-3: цвет (см. 7.3): для текста - цвет

│ │ рамки, для графики - цвет фона

│ └──────────────>4: яркость: для текста - яркость фона,

│ для графики - яркость пикселей

└─────────────────>5: номер графической палитры (0 или 1)

Примечание: Выбор палитры задает набор основных цветов в

графическом режиме. Палитра 0 - зеленый/красный/коричневый,

палитра 1 - бирюзовый/сиреневый/светло-серый (т. е. отличается

добавлением синего цвета).

 

3DAh Чтение Регистр состояния дисплея:

 

7 6 5 4 3 2 1 0

┌─┬─┬─┬─┬──┬──┬──┬──┐

│X│X│X│X│ │ │ │ │ Бит:

└─┴─┴─┴─┴┬─┴┬─┴┬─┴┬─┘ ────

│ │ │ └───>0: 0=вывод изображения, 1=горизонтальная

│ │ │ или вертикальная синхронизация

│ │ └──────>1: 1=триггер светового пера сброшен

│ └─────────>2: 1=защелка светового пера открыта


└────────────>3: 0=экран включен, 1=выключен (позволяет

проверить поступление видеосигнала на

на экран - если этот бит установлен,

вывод на экран не вызывает "хлопьев")

 

3DBh Запись/ Вывод любого байта выключает триггер светового

Чтение пера.

3DCh Запись/ Вывод любого байта включает триггер светового

Чтение пера.

─────────────────────────────────────────────────────────────

 

Видеопамять CGA располагается в адесах ОЗУ B8000h - BFFFFh.

CGA имеет два типа текстовых режимов: 25 строк по 40 символов в

строке и по 80 символов в строке. В режимах 25 х 40 одна

страница занимает 800h байтов, поэтому видеопамять состоит из 8

страниц; в режимах 25 х 80 страница занимает 1000h байтов и

видеопамять состоит из 4 страниц.

Адрес кода символа в текстовых режимах равен B800h:

n*P+m*L+2*C, адрес атрибута на единицу больше. Здесь L - номер

строки (0 - 24), C - номер столбца (0 - 79 или 0 - 39), m = 2 *

количество столбцов режима, n = 800h при m=80 и 1000h при m=160.

 

CGA имеет два типа графических режимов: цветной режим,

имеющий разрешение 320 точек по горизонтали на 200 точек по

вертикали, и черно-белый режим с разрешением 640 точек на 200

точек. В режиме 320 х 200 каждый пиксель задается двумя битами,

кодирующими его цвет; в режиме 640 х 200 цвет пикселя задается

одним битом (белый/черный). В графических режимах один экран

требует 16К видеопамяти, поэтому имеется одна страница

видеопамяти, которая размещается в адресах B8000h - BFFFFh. Эта

страница расслоена на две области: область с адреса B8000h

содержит пиксели, имеющие четные номера строк; область с адреса

BA000h содержит пиксели из нечетных строк. Поэтому адрес байта,

содержащего точку с координатами (X,Y), равен в цветном режиме

B800h: 2000h * (Y % 2) + 80 * int(Y/2) + int(X/4),

а номера соответствующих битов в этом байте равны 7 - 2 * (X %

4) и 6 - 2 * (X % 4). Здесь X - горизонтальная позиция точки (0

- 319), Y - ее вертикальная позиция (0 - 199).

Адрес байта, содержащего точку с координатами (X,Y), равен

в черно-белом режиме

B800h: 2000h * (Y % 2) + 80 * int(Y/2) + int(X/8),

а номер соответствующего бита в этом байте равен 7 - (X % 8).

Здесь X - горизонтальная позиция точки (0 - 639), Y - ее

вертикальная позиция (0 - 199).







Date: 2015-09-18; view: 413; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию