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 символів в кожному.


 

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

58457. Общая характеристика продукции 122.5 KB
  Общая характеристика продукции Результат труда чаще выступает в материальной форме в виде продукции. Изготавливаемая на предприятии продукция на разных стадиях технологического процесса находится в виде незавершенного производства полуфабриката или готового изделия продукции. Незавершенное производство это продукция не получившая законченного вида в пределах производства а также продукция не проверенная ОТК и не сданная на склад готовой продукции. Планирование и учет изготовлений продукции осуществляется в натуральных...
58458. РАДІОПРИЙМАЛЬНИЙ ПРИСТРІЙ РАДІОЛОКАЦІЙНИХ СИГНАЛІВ З РОЗРАХУНКОМ ПІДСИЛЮВАЧА ВИСОКОЇ ЧАСТОТИ 104.5 KB
  о складу системи входять джерело радіовипромінювання, лінія передачі та радіоприймальний пристрій. Джерело радіовипромінювання може удавати з себе або радіопередавальний пристрій або пасивний відбива
58459. Электроустановки с изолированными и глухозаземленными нейтралями 174 KB
  Вид связи нейтралей машин и трансформаторов с землей в значительной степени определяет уровень изоляции электроустановок и выбор коммутационной аппаратуры значения перенапряжений и способы их ограничения токи при однофазных замыканиях на землю условия работы релейной защиты и безопасности...
58460. Организация и порядок проведения капитальных ремонтов 41.5 KB
  Планово-предупредительный ремонт представляет собой комплекс работ, направленных на поддержание и восстановление работоспособности оборудования путем обслуживания, ремонта и замены изношенных деталей и узлов с тем, чтобы в дальнейшем обеспечить его надежную и экономичную работу.
58461. Розповідається про... 987 KB
  Мета: вчити першокласників визначати жанр твору працювати з тлумачним словни ком удосконалювати вміння працювати з текстом; сприяти формуванню грамотності; розвивати мовлення мислення уважність швидкість читання; збагачувати словниковий запас учнів...
58462. Наші зелені друзі 274.5 KB
  Мета: удосконалювати читацькі навички, вчити виділяти головне з прочитаного, робити власні висновки та аргументувати їх; розвивати прагнення до розуміння краси природи; учити дітей бути спостережливими, уважними, виробляти звичку планувати власні дії, самостійно контролювати результати своєї праці...
58463. Степень с целым показателем и ее свойства 6.32 MB
  Оборудование: презентация Степень; раздаточный материал для Математического лото; портреты ученых математиков. И соберём по капельке всё что учили по теме: Степень в младших класах. Степенью числа а с натуральным показателем п большим за 1 называется произведение п множителей каждый из которых равен а. аn = аа а n раз Как называется число которое...
58464. Визначні місця Лондона 63.5 KB
  Today I invite you to London. We are going to visit famous sights there. I think we’ll travel there by plane, because it is the fastest way. Get your tickets and fill in some information about yourself for registration.