Кіріспе
Дисплей контроллері Motorola 6845 немесе MC6845 – 1980 жылдары 8 биттік компьютерлерде кеңінен қолданылған дисплей контроллері. Бастапқыда Motorola 6800 процессоры негізіндегі жүйелер үшін әзірленген және оған сәйкес нөмір берілген, бірақ ол басқа процессорлармен де жиі қолданылды, әсіресе Zilog Z80 және MOS 6502 процессорларындағы машиналарда. 6845 өздігінен толыққанды дисплей шешімі емес; чиптің басты міндеті – дисплей жадына уақтылы қол жеткізуді қамтамасыз ету және келесі бөлігінің жад мекенжайын есептеу. Машинадағы басқа схемалар 6845 ұсынған мекенжайды қолданып, суретті алып, оны экранға шығарады. Мұндай аппараттық құрылғыны іске асыру толығымен дизайнерге байланысты және түрлі машиналарда әртүрліше іске асырылған. 6845 әріптік дисплейлерге арналған, бірақ тиімді бағдарламалау арқылы пикселдік графиканы да қолдануға болады. Оның ең белгілі қолданылулары – BBC Micro, Amstrad CPC және Apple II үшін Videx VideoTerm дисплей карталары. Оның мүмкіндіктері EGA және VGA PC бейне адаптерлеріндегі арнайы схемалармен көбейтіліп, жақсартылды.
The Motorola 6845, or MC6845, is a display controller that was widely used in 8 bit computers during the 1980s. Originally intended for designs based on the Motorola 6800 CPU and given a related part number, it was more widely used alongside various other processors, and was most commonly found in machines based on the Zilog Z80 and MOS 6502. The 6845 is not an entire display solution on its own; the chip's main function is to properly time access to the display memory, and to calculate the memory address of the next portion to be drawn. Other circuitry in the machine then uses the address provided by the 6845 to fetch the pattern and then draw it. The implementation of that hardware is entirely up to the designer and varied widely among machines. The 6845 is intended for character displays, but could also be used for pixel based graphics, with some clever programming. Among its better known uses is the BBC Micro, Amstrad CPC, and Videx VideoTerm display cards for the Apple II. Its functionality was duplicated and extended by custom circuits in the EGA and VGA PC video adapters.
Дизайн
Бастапқыда Hitachi компаниясы HD46505 ретінде жобалаған, Hitachi жасаған нұсқалары Sony, Sharp, Panasonic және Casio фирмаларының көптеген жапон компьютерлерінде қолданылды. Кейіннен Fujitsu компаниясы MB89321A деп клондады. Ол сондай-ақ 6845 CRTC немесе CRTC6845 деп аталады, яғни "катодты сәулелі түтік контроллері" деген мағынаны білдіреді. Бұл нұсқа Apricot PC және Victor 9000 компьютерлерінде 800x400 ажыратымдылықтағы монохромды дисплейді қамтамасыз ету үшін пайдаланылды. Бұл CRT контроллерінің кең таралған клоны - United Microelectronics Corporation (UMC) UM6845E CRT контроллері. Салқын соғыс кезеңіндегі технологиялық эмбарго кезінде 6845 Болгарияда CM607 белгісімен клондалды. 6845, MOS Technology (Commodore Semiconductor Group) және Rockwell (екі нұсқада) компаниялары өндірген кейінгі 6545 үлгісімен өте ұқсас және байланысты болды.
Шектеулер
RA0 RA4: CA0 CA13 толық адрестік диапазонын пайдалану арқылы 6845 процессор жадтың сөздерін адрестеуге қабілетті. Сөздің ұзындығы жүйе дизайнерлері таңдайтын кез келген бит санынан тұруы мүмкін: 6845 процессор адрестей алатын бірегей адрестер саны 524 288-ге дейін шектелгенімен, 6845 адрестейтін жад көлемі күтілгеннен әлдеқайда үлкен болуы мүмкін, себебі 6845 адрестейтін әр жад орнының мөлшеріне ешқандай шектеу қойылмайды. Егер сөздің ұзындығы бір байт болса, 6845 процессор 512 КиБ жадты адрестеуге болады. Егер сөздің ұзындығы 32 бит болса, мысалы, 32 биттік түсті графикада әрбір сөз үшін бір пиксел болса, онда 6845 процессор 2048 КиБ жадты адрестеуге болады; ал 64 биттік сөздер үшін – екі есе көп жадты адрестеуге болады. Бұл шектеулер 6845 процессордың өзінен емес, оған қосылған сыртқы жадтың құрылымынан және 6845 процессордың мүмкіндіктерінен туындайды.
Сызықтық қоршау-бафферлер
Жоғарыда сипатталғандай, 6845 әдетте үлкен сызықтық фреймбуферлерді ұсына алмайды. Бір дизайн тек 14 биттік символ адрестеуін пайдалана алады және әр символға бір қана жол белгілей алады, бірақ ол 128 жолмен және 16 КБ адрестелетін жадпен шектеледі.
6545-тен айырмашылықтары
6845 және 6545 арасында өте үйлесімді болғанымен, бірқатар шағын айырмашылықтар бар. Ең басты айырмашылық – 6545 видео жадының адрестік шинасына эксклюзивті қол жеткізуге конфигурациялануы мүмкін. CPU оқығысы келген кез келген адресті орнату үшін екі қосымша тіркегіш (регистр) қосылған, ал чип дисплейді жасау үшін адрестерді шығарып, CPU қол жеткізуі үшін дисплейді ауыстырады. Шағын өзгерістерге MOS Technology және Rockwell 6545-тің бір түрінде кезендемелі (interlaced) шығыс қолдауының болмауы және барлық 6545-те орнатылған жағдайда, дисплейді бір таңба циклына қалыптастыруды кешіктіретін опционалды адрес бұрылысы (skew) кіреді. Бұл екінші мүмкіндік Motorola 6845-тің кейінгі нұсқаларында қолданылған. 6545 күй биті арқылы сызықтық 14 биттік режимде жұмыс істеуге орнатылуы мүмкін. 6845-те осыған ұқсас әрекет таңба биіктігін реттеуді қажет етеді.
Қалпына келтіру
6845 өзінің дисплейінің бастапқы мекенжайын әрбір кадр үшін бір рет оқиды. Дегенмен, егер чиптегі ішкі уақыт шамалары дұрыс уақытта өзгертілсе, оны ағымдағы кадрды аяқтамай-ақ жаңа кадрға дайындауға болады, соның салдарынан дисплейдегі генерацияланған мекенжайлардың ортасында үзіліс тудырып, үздіксіздікті бұзуға болады. Бұл әдетте демонстрацияларда, ал ойындарда сирек қолданылады, дисплейдің бір қозғалмалы аймағын (әдетте ойын алаңы) және бір тұрақты аймағын (әдетте ақпараттық тақта) жасау үшін. Тік прокрутка шектеулі болып көрінеді, себебі тек символдың бастапқы мекенжайын ғана орнату мүмкін, ал қатардың мекенжайы кадр басталғанда әрқашан нөлге теңеледі. Бірақ, шекара уақытын реттеу арқылы кадрлық буфердің растрлық дисплейде көрсетілу орнын символдардың арасындағы шамалармен жылжытуға болады. Экран жиектерінде бос пикселдерді салу арқылы бұл қолданушыға көрінбейді, тек тегіс тік прокрутканың иллюзиясын ғана тудырады.