Вiдеопамять укр

  роздільна здатність, тобто максимальна кількість пікселів, що можуть бути зображені на екрані по горизонталі та вертикалі; шириною (width) та висотою (height)

Вiдеопамять укр

Информация

Разное

Другие материалы по предмету

Разное

Сдать работу со 100% гаранией

 

 

 

 

 

 

 

 

 

РЕФЕРАТ

 

на тему “ВІДЕОПАМЯТЬ”

студента 1-го курсу

Департамента Компютерних Технологій

Національного Університету “Києво-Могилянська Академія”

Ковальова Сергія

Вступ

 

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

 

Треба сказати, що будь-який відеорежим характеризують такі параметри:

 

  • роздільна здатність, тобто максимальна кількість пікселів, що можуть бути зображені на екрані по горизонталі та вертикалі;
  • шириною (width) та висотою (height) знака, що висвічується на екрані; ці параметри підтримуються програмою знакогенератора та визначають максимальну кількість символів у рядку та рядків на екрані;
  • максимальною кількістю кольорів, що одночасно висвічуються на екрані;
  • діапазоном адресів оперативної памяті, яку займає відеопамять;
  • максимальною кількістю відеосторінок (“екранів”), що можуть міститися у відеопамяті.

 

Встановлення відеорежима забеспечується програмами відео BIOS. Я наведу список таких відеорежимів:

 

Індекс режимуТипКількість кольорівМакс. кількість сторінокТекстовий форматПоч. адреса відеопамяті0,1Текст16840x25B8002,3Текст168(CGA-4)80x25B8004,5АРА4140x25B8006АРА2180x25B8007ТекстМоно8(MDA-1)80x25B0008АРА16120x25B0009АРА16140x25B000AhАРА4180x25B000Bh,ChРезерв для знакогенератора EGADhАРА16840x25A000EhАРА16480x25A000FhАРАМоно280x25A00010hАРА16280x25A00011hАРА2180x30A00012hАРА16180x30A00013hАРА256140x25A000

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

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

 

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

 

B800h

|

01…………1581594000 байтов38403841…………39983999

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

 

У байті-атрибуту 4 значащих поля:

7-й біт: мерехтіння (blink)

6,5,4-і біти: колір фону (background)

3-й біт: інтенсивність (intensity)

2,1,0-і біти: колір переднього плану (foreground)

 

Для кольорового монітору, 3-бітовий код визначає один з 8 можливих кольорів. У монохромному моніторі можливі 3 біти кольору повинні обирати одне з наступних значень:

 

БітиКольори (за замовченням)Монохромний000ЧорнийЧорний001СинійПідкреслення010Зелений011Циан100Червоний101Магента110Коричневий111БілийБілий

Треба відмітити, що у 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):

DOT RATE

Кількість точок в лінії=

HORIZONTAL SCAN RATE;

Кількість точок в лінії

HORIZONTAL TOTAL=

WIDTH;

  • WIDTH(=ширина знака) визначається програмою знакогенератора.

 

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

 

У програмуванні пристроїв відеосистеми велику роль відіграють специфічні інтервали часу, що виникають при переміщенні луча по екрану.

Луч переміщується по екрану зліва направо та зверху униз. Інтервал часу, коли луч йде наліво називається 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. Програма демонструє можливості керування зображенням за допомогою прямої адресації відеопамяти.

 

Доданок. Лістінг програми, яка демонструє можливості керування відеопамятью.

 

PROGRAM VideoMem_Demo; {Written by Kovalyov Serhii as attachment}

{to report "Video Memory"}

USES

CRT;

VAR

Cols:WORD;

Rows:BYTE;

PageSize:WORD;

ActivePage:BYTE;

VOffset:WORD;

ChOff:WORD;

J:BYTE;

Dir:BOOLEAN;

PROCEDURE ReadScreenProp; ASSEMBLER;

ASM

{Reading properties of Video Mode}

PUSH DS

MOV AX,0040h

MOV DS,AX

MOV AX,DS:[004Ah]

XOR BX,BX

MOV BL,DS:[0084h]

INC BL

MOV DL,DS:[0062h]

POP DS

MOV Cols,AX

MOV Rows,BL

MUL BX

MOV PageSize,AX

MOV ActivePage,DL

END;

PROCEDURE ClearScreen; ASSEMBLER;

ASM

{Set cursor position}

PUSH DS

MOV AX,0040h

MOV DS,AX

MOV BX,0050h

XOR DH,DH

MOV DL,ActivePage

ADD BX,DX

ADD BX,DX

MOV WORD PTR DS:[BX],0

POP DS

{Clearing active page}

MOV CX,Pag

Похожие работы

1 2 >