У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 26.12.2024

РЕФЕРАТ

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

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

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

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

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


Вступ

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

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

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

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

Індекс режиму

Тип

Кількість кольорів

Макс. кількість сторінок

Текстовий формат

Поч. адреса відеопам’яті

0,1

Текст

16

40x25

B800

2,3

Текст

16

8(CGA-4)

x25

B800

4,5

АРА

4

x25

B800

6

АРА

2

x25

B800

7

Текст

Моно

8(MDA-1)

x25

B000

8

АРА

16

x25

B000

9

АРА

16

x25

B000

Ah

АРА

4

x25

B000

Bh,Ch

Резерв для знакогенератора EGA

Dh

АРА

16

x25

A000

Eh

АРА

16

80x25

A000

Fh

АРА

Моно

2

x25

A000

10h

АРА

16

x25

A000

11h

АРА

2

x30

A000

12h

АРА

16

x30

A000

13h

АРА

256

x25

A000

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

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

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

B800h

|

0

…………

4000 байтов

3840

…………

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

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

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

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

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

,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;

  1.  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,PageSize

XOR     AX,AX

XOR     BX,BX

MOV     AL,ActivePage

MOV     BX,PageSize

MUL     BX

MOV     VOffset,AX

MOV     BX,VOffset

MOV     CX,PageSize

MOV     AX,0B800h

PUSH    DS

MOV     DS,AX

@loop_label2:

MOV     WORD PTR DS:[BX],0000h

INC     BX

MOV     WORD PTR DS:[BX],000Fh

INC     BX

LOOP    @loop_label2

POP     DS

END;

PROCEDURE PutSymbol(Character:CHAR;Attr:BYTE;PosX,PosY:BYTE); ASSEMBLER;

ASM

MOV     CH,Attr

MOV     CL,Character

XOR     AX,AX

MOV     AL,PosY

MOV     BX,Cols

ADD     BX,BX

MUL     BX

XOR     BX,BX

MOV     BL,PosX

ADD     BL,PosX

ADD     AX,BX

MOV     ChOff,AX

MOV     BX,VOffset

ADD     BX,ChOff

PUSH    DS

MOV     AX,0B800h

MOV     DS,AX

MOV     WORD PTR DS:BX,CX

POP     DS

END;

BEGIN

Dir:=TRUE;

ReadScreenProp;

ClearScreen;

{WriteLn(PageSize,' ',VOffset,' ',ActivePage,' ',Cols,' ',Rows,' ',ChOff);}

PutSymbol(' ',$0000,0,0);

PutSymbol('V',$1E,3,1);

PutSymbol('I',$1E,3,2);

PutSymbol('D',$1E,3,3);

PutSymbol('E',$1E,3,4);

PutSymbol('O',$1E,3,5);

PutSymbol('M',$70,2,4);

PutSymbol('E',$02,3,4);

PutSymbol('M',$70,4,4);

PutSymbol('O',$70,5,4);

PutSymbol('R',$70,6,4);

PutSymbol('Y',$70,7,4);

J:=0;

REPEAT

IF Dir THEN PutSymbol(' ',$00,J-1,11)

ELSE PutSymbol(' ',$00,J+6,11);

PutSymbol('D',$0E,J,11);

PutSymbol('C',$0E,J+1,11);

PutSymbol('S',$0E,J+2,11);

PutSymbol('S',$0E,J+3,11);

PutSymbol('-',$0E,J+4,11);

PutSymbol('1',$0E,J+5,11);

IF (J<Cols-6) AND Dir THEN INC(J)

ELSE IF (NOT Dir) AND (J>0)

THEN DEC(J)

ELSE BEGIN

Dir:=NOT Dir;

END;

Delay(120);

UNTIL KeyPressed;

ClearScreen;

END.




1. Учет выпуска, отгрузки и реализации готовой продукции1
2. Курсовая работа- Бухгалтерский учет расчетов с персоналом по оплате труда
3. і. Наступні спроби винайти швейну машину відносяться до другої половини XVIII ст.html
4. тематический институт Российской академии наук просит для формирования в ряде муниципальных образований пр.html
5. Умирающий младенец- дилеммы неонатологии 213 в прессе приводят впечатляющие фотографии дет
6. Тематический словарьсправочник - Под ред1
7. Конверсія як засіб словотворення в англійській мові
8. Реферат- Гриб Копринус
9. Рынок труда и его особенности
10. Элементарные частицы мельчайшие неделимые объекты в микромире в атомном ядерном и субъядерном масштабе
11. тематики Бубилева Елена Владимировна 20122013 уч
12. на тему- ТЕОРИЯ РАЗДЕЛЕНИЯ ВЛАСТЕЙ Работу выполнила- студентка 1
13. на тему- Про воздух и про воду
14. 122146 0.14203 0
15. позитивные Ощущение ~ отражение отдельных свойств предметов и вялений окружающего мира
16. Управление персоналом п-п Вопросы Итогового междисципли
17. стабильного экономического роста; 2 полной занятости ресурсов прежде всего решение проблемы циклическо
18. Пусть Новый год предоставит Вам новые возможности и Вы достигнете взойдете откроете удивитесь поймете
19. О ничтожестве и горестях жизни Артур Шопенгауэр О ничтожестве и горестях жизни О нич
20. Истоки современного понимания термина культура