22600

Управління відеоадаптером IBM PC

Лабораторная работа

Информатика, кибернетика и программирование

Однак вона також встановлює режим екрана управляє курсором і для кольорового графічного адаптора управляє кольором. Розмір і розташування цих буферів міняється з системою режимом екрана а також кількістю заздалегідь відведеної пам'яті. Коли в буфері зберігається декілька образів екрана то кожний окремий образ називають екранною сторінкою. Цього досить для відображення одного графічного екрана без сторінок або від чотирьох до восьми екранів тексту в залежності від числа символів в рядку 40 або 80.

Украинкский

2013-08-04

35.5 KB

3 чел.

ЛАБОРАТОРНА РОБОТА № 4

"Управління відеоадаптером IBM PC" 

Розглянемо монохромний адаптор, кольоровий графічний адаптор, і поліпшений графічний адаптер (EGA). Всі системи базуються на мікросхемі Motorola 6845 CRTC (cathode ray tube controller) Ця мікросхема виконує масу технічних задач, які звичайно не цікавлять програміста. Однак, вона також встановлює режим екрана, управляє курсором і (для кольорового графічного адаптора) управляє кольором. Мікросхема легко програмується напряму, хоч процедури операційної системи дозволяють керувати більшістю її дій. Всі відеосистеми використовують буфера, в які відображаються дані для зображення на екрані. Екран періодично оновлюється скануванням цих даних. Розмір і розташування цих буферів міняється з системою, режимом екрана, а також кількістю заздалегідь відведеної пам'яті. Коли в буфері зберігається декілька образів екрана, то кожний окремий образ називають екранною сторінкою. Нижче приведене коротке зведення:

Монохромний адаптор

Монохромний адаптор має 4K байт пам'яті на платі, починаючи з адреси B0000H (тобто B000:0000). Цієї пам'яті вистачає тільки для зберігання однієї 80-символьної сторінки тексту.

Кольорової графічний адаптор.

Кольорової графічний адаптор має 16K байт пам'яті на платі, починаючи з адреси пам'яті B8000H. Цього досить для відображення одного графічного екрана, без сторінок, або від чотирьох до восьми екранів тексту, в залежності від числа символів в рядку - 40 або 80.

EGA.

EGA може бути забезпечений 64K, 128K або 256K пам'яті. Крім використання в якості відеобуфера ця пам'ять може також зберігати бітові описи аж до 1024 символів. Стартову адресу буфера дисплея програмуємо, тому буфер починається з адреси A000H для поліпшених графічних режимів, і з B000H і B800H для сумісності зі стандартними монохромним і кольоровим графічним режимами. У більшості випадків EGA займає два сегменти з адресами від A000H до BFFFH, навіть коли є 256K пам'яті. Це можливе, оскільки в деяких режимах два або більше за байти пам'яті дисплея прочитуються з одних і тих же адрес. Доступне число сторінок залежить як від режиму екрана, так і від кількості пам'яті, що є. Внаслідок своєї складності EGA має ПЗУ на 16K байт, яке замінює і розширює процедури роботи з терміналом BIOS. Початок області ПЗУ - адреса C000:0000.

У текстових режимах інформація буфера починається з даних для верхнього рядка екрана, починаючи з лівого кута. Подальші дані переносяться з правого кінця одного рядка на лівий кінець наступного, неначе екран представляється одним великим рядком - і з точки зору видеобуфера так воно і є. Однак в графічних режимах буфер може бути розділений на 2 або 4 частини. У кольорового графічного адаптора різні частини буфера містять інформацію, що відноситься до кожної другої або кожної четвертої лінії точок на екрані. У EGA кожна частина буфера містить один біт з двох або чотирьох, які визначають колір даної точки екрана.

При виведенні різні відеосистеми працюють однаково. Для екрана відводиться 4000 байтів, так що на кожну з 2000 позицій екрану відводиться 2 байти (25 рядків * 80 символів). Перший байт містить код ASCII. Апаратура дисплея перетворює номер коду ASCII в пов'язаний з ним символ і посилає його на екран. Другий байт (байт атрибутів) містить інформацію про те, як повинен бути виведений даний символ. Для монохромного дисплея він встановлювається чи буде даний символ підкреслено, виділено яскравістю або негативом, або використовує комбінацію цих атрибутів. У кольорових системах байт атрибутів встановлює основний і фоновий кольори символа. У будь-якому випадку програма може писати дані прямо в буфер монітора, що значно підвищує швидкість висновку на екран.

Всі системи, крім монохромної, надають набір кольорових графічних режимів, які відрізняються як розподільчою здатністю, так і числом кольорів, що одночасно виводяться. EGA може одночасно виводити 16 кольорів, причому може вибирати ці 16 з набору 64 кольорів. При використанні 16 кольорів кожна точка екрана вимагає чотирьох біт пам'яті, оскільки 4 біти можуть зберігати числа від 0 до 15. Аналогічно, чотирьохкольорова графіка вимагає тільки 2 біта на точку. Двобарвна графіка може упакувати представлення восьми точок в один байт відеобуфера. Кількість пам'яті, що потрібна для даного режиму екрана може бути легко обчислена, якщо відома кількість точок, що виводяться в цьому режимі і кількість біт, необхідне для опису однієї точки. Текст легко комбінується з графікою (BIOS малює символи на графічному екрані) і можна створювати свої спеціальні символи.

Програмування контроллера дисплея 6845.

Всі відеосистеми будуються навколо мікросхеми контроллера відеомонітора Motorola 6845. Мікросхема використовується багато в чому аналогічно в монохромному адапторі і в кольоровому адапторі. Мікросхема 6845 встановлює відеодисплей в один з декількох алфавитноцифрових або графічних режимів. Вона виконує основну роботу по інтерпретації номерів кодів ASCII і пошуку даних для виводу відповідних символів в мікросхемі ПЗУ (а іноді в оперативній пам'яті). Вона декодує значення атрибутів кольору і відповідно встановлює екран. Вона також створює курсор і управляє ім. У архитектурі EGA частина цих функцій розподілена між іншими микросхемами.

Мікросхема 6845 має 18 керуючих регістрів, пронумерованих від 0 до 17. Перші 10 регістрів фіксують горизонтальні і вертикальні параметри дисплея. Ці регістри, як правило, нецікаві для програмістів, оскільки вони автоматично встановлюються BIOS при зміні режиму екрана. Не радимо экспериментувати з цими регістрами, оскільки є можливість зіпсувати монітор. Регістри мають розмір 8 біт, але деякі пов'язані в пари, щоб зберігати 16-бітні величини. Пари #10-11 і #14-15 встановлюють форму і місцеположення курсора. Пара #12-13 управляє сторінками дисплея. Пара #16-17 повідомляє позицію світлового пера. Більшість регістрів доступно тільки для запису; тільки регістр адреси курсора можна і читати і писати, а регістр світлового пера призначений тільки для читання. EGA має 6 додаткових регістрів, які пов'язані з технічними деталями. Регістр 20 найбільш цікавий; він визначає яка лінія сканування в рядку символа використовується для підкреслення.

Доступ до всіх 18 регістрів здійснюється через один і той же порт, адреса якого для монохромного адаптора дорівнює 3B5H і дорівнює 3D5H для кольорового адаптора. EGA використовує одну з цих двох адрес, в залежності від того, чи приєднаний до нього кольоровий або монохромний монітор. Для записи в регістр монохромного адаптора треба спочатку в регістр адреси, розташований в порту 3B4H (3D4H для кольорового), послати номер необхідного регістра. Тоді наступний байт, посланий в порт з адресою 3B5H буде записаний в цей регістр. Оскільки регістри, цікаві для програміста, використовуються попарно, то дані треба спочатку записати в адресний регістр, потім в перший регістр пари, потім знов в адресний регістр і, нарешті, у другий регістр пари.

У монохромного і кольорового адапторов є ще три порти, які важливі для програмістів. Вони мають адреси 3B8H, 3B9H і 3BAH для монохромного і 3D8H, 3D9H і 3DAH - для кольорового адаптора. Перший встановлює режим екрана, другий - пов'язаний в основному з установкою кольорів екрана, а третій повідомляє корисну інформацію про статус дисплея.

Доступ до всіх регістрів здійснюється через порт 3DAH. Спочатку треба послати в цей порт номер необхідного регістра, а потім значення цього регістра. Порт автоматично перемикається між цими функціями роботи з адресами і з даними. Щоб він почав чекати введення адреси, треба прочитати його.

Особливий інтерес представляють 16 регістрів палітри з номерами від 10H до 1FH. Кожний регістр має розмір всього 4 біта, що якраз досить, щоб зберігати 16 кодових номерів для 16 можливих кольорів. Для кожної позиції символу або точки на екрані відеобуфер містить дані, вказуючи яким кольором повинен виводитися цей об'єкт. Цю інформацію називають даними атрибутів. Дані атрибутів є покажчиками на один з 16 регістрів палітри, а число, що міститься в цьому регістрі, визначає яким кольором буде виводитися даний символ. При такому методі, програмі треба змінити тільки установку регістра палітри, і всі символи або точки з відповідним атрибутом змінять свій колір. Регістри палітри працюють у всіх режимах, як текстових, так і графічних.

EGA розподіляє ці функції між мікросхемою контролера атрибутів (адреса порту 3C0H) і двома мікросхемами контролера графіки (адреси портів 3CCH-3CFH). Контролер атрибутів містить 16 регістрів палітри EGA, пронумерованих від 00 до 0FH. Ці регістри можуть містити 6-бітні коди кольорів, коли EGA пов'язаний з поліпшеним кольоровим дисплеєм, тому можуть бути використані будь-які 16 кольорів з набору 64-х.

Постановка задачі

Написати програму роботи з відеоадаптером в текстовому режимі на прикладі циклічного зсуву зображення праворуч/ліворуч (вгору/вниз). Використовувати режим 25 рядків по 80 символів в кожному.


 

А также другие работы, которые могут Вас заинтересовать

78309. НОРМИРОВАНИЕ ТОЧНОСТИ ФОРМЫ И РАСПОЛОЖЕНИЯ ПОВЕРХНОСТЕЙ ДЕТАЛЕЙ 964 KB
  Отклонение формы поверхностей Отклонением формы называется отклонение реальной поверхности или реального профиля от формы идеальной поверхности или идеального профиля. Допуск формы это величина в пределах которой может изменяться отклонение формы. Будем использовать следующие обозначения: Δ отклонение формы; Т допуск формы; L длина участка на котором определяется отклонение...
78310. НОРМИРОВАНИЕ ТРЕБОВАНИЙ К НЕРОВНОСТЯМ НА ПОВЕРХНОСТИ ЭЛЕМЕНТОВ ДЕТАЛЕЙ (ШЕРОХОВАТОСТЬ ПОВЕРХНОСТИ) 808.5 KB
  Базовая линия это линия заданной геометрической формы определенным образом проведенная относительно профиля и служащая для оценки геометрических параметров поверхностных неровностей. Короче говоря базовая линия при получении профиля поверхности элемента детали проводится в виде линии эквидистантной геометрической форме поверхности. Средняя линия профиля m это базовая линия имеющая форму номинального профиля и проведенная так что в пределах базовой длины среднее квадратичное отклонение профиля от этой линии минимально...
78311. НОРМИРОВАНИЕ ТОЧНОСТИ ДЕТАЛЕЙ, СОПРЯГАЕМЫХ С ПОДШИПНИКАМИ КАЧЕНИЯ 406 KB
  В подшипниках качения между поверхностью вращающейся детали и поверхностью опор располагаются шарики или ролики. Внутренний диаметр внутреннего кольца В ширина высота колец подшипника при одинаковой ширине наружного и внутреннего колец. Общий вид подшипника качения роликовый Класс точности подшипника характеризуется целым комплексом точностных требований относящихся к отклонениям размеров формы и расположения...
78312. ОБЕСПЕЧЕНИЕ ТОЧНОСТИ РАЗМЕРНЫХ ЦЕПЕЙ 312 KB
  Размерные цепи при образовании посадок: а для посадки с зазором; для посадки с натягом Если рассмотреть связи между размерами звеньев составляющих размерную цепь и замыкающим звеном можно увидеть особенность этих звеньев по которой все составляющие звенья цепи разделяются на увеличивающие и уменьшающие рис. необходимо решать вопрос о нормировании точности составляющих звеньев и точности замыкающего звена чтобы устройство образующее размерную цепь в виде отдельной детали или сборочной единицы выполняло свое служебное...
78313. Машины для соединения деталей и обработки узлов одежды физико-химическим и электро-физическим способами 19.28 KB
  Существует несколько видов сварки деталей из термопластичных одежных материалов. Разновидностью термоконтактного способа сварки является термоимпульсная сварка которая применяется для ПВХ и полиэтиленовых пленок. Оборудование при термоимпульсном способе сварки применяется в основном в виде прессов например УЗП2500 ДиЭлектро. Установки для ВЧ сварки включают в себя электроды механизм давления генератор ВЧ приборы контроля режима сварки и автоматического управления процессом.
78314. Дополнительные механизмы и устройства швейных машин 22.44 KB
  Приспособления для направления полуфабриката к иглам швейных машин в зависимости от типа шва выполняемого с их применением по классификации ЦНИИШП разбиты на 6 групп. В первую группу объединены приспособления для выполнения соединительных и отделочных швов без подгибания материалов. Во вторую третью и четвертую группы входят приспособления для выполнения таких швов где требуется подгибать один или несколько слоев материала. При этом во вторую группу входят приспособления где подгибание не связано с соединением деталей например...
78315. Классификация машин-полуавтоматов 24.31 KB
  Для пришивания пуговиц применяют полуавтомат с челночным и однониточным цепным переплетением ниток. Пришивание пуговиц с челночным переплетением ниток выполняют на машине 727 827 классов кроме того пришивание металлических крючков и петель на полуавтомате 53 класса и изготовление закрепок на машине 220М и 820 классов. Пришивание пуговиц однониточным цепным стежком выполняют на полуавтоматах...
78316. ПОЗНАВАТЕЛЬНЫЕ ПРОЦЕССЫ 175.5 KB
  Внимание сопровождает процессы восприятия памяти мышления и т. У дочеловеческих организмов есть только два вида памяти: генетическая и механическая. Человеку также присущи эти два вида памяти. Сохранить можно только то что запомнил а воспроизвести то что сохранил в памяти.
78317. ЭМОЦИОНАЛЬНО-ВОЛЕВАЯ СФЕРА ЛИЧНОСТИ 118 KB
  Эмоции и чувства. Он не только познает объективную и субъективную действительность но и как-то относится к предметам событиям другим людям к своей личности. Они образуют единую подструктуру личности ее эмоциональную сферу. Чувства являются ведущими образованиями эмоциональной сферы личности определяющие динамику и содержание эмоций.