Motorola 6845

(S'ha redirigit des de: MC6845)


El Motorola 6845, comunament MC6845 i també conegut com a CRTC6845 ( Cathode Ray Tube Controller 6845), va ser un generador d'adreces de vídeo, introduït primerament per Motorola . Tot i que el 6845 va ser desenvolupat per als dissenys basats en la CPU Motorola 6800 i tenia un número de peça relacionat amb ella,encara que va ser usat juntament amb altres processadors. El 6845 va ser la base dels adaptadors vídeo MDA, CGA i EGA, dels primers ordinadors personals de IBM i els seus compatibles, com també en els ordinadors Amstrad CPC i BBC Micro . La funcionalitat del 6845 va ser duplicada i ampliada per circuits fets a la mida dins la targeta de vídeo VGA .

Infotaula equipament informàticMotorola 6845
Motorola MC6845.jpg
Modifica el valor a Wikidata

El 6845 era molt similar i estava relacionat amb el posterior 6545 fabricat per MOS Technology (Commodore Semiconductor Group) i Rockwell (en dues variants), i va ser clonat com amb l'Hitachi 46505 .

DescripcióModifica

El 6845 generava els senyals necessaris per connectar amb una pantalla de trama però no mostrava cap píxel . Era usat per produir correctament els temps per a la sincronització horitzontal i vertical i proporcionar l'adreça de memòria en la qual el proper píxel o conjunt de píxels havia de ser llegit. El procés de llegir aquest valor, convertint-lo en píxels i enviar-los a un CRT era deixat a altres circuits..

Eren suportats les maneres de sortida de vídeo entrellaçats i no entrellaçats, igual que un cursor de text per maquinari. Es proporcionava un latch que quan era disparat duplicava i conservava una còpia de l'adreça de vídeo que hi havia en aquell moment per poder ser llegida més endavant per la CPU . Això permetia el funcionament de dispositius de senyalització com el llapis òptic i la pistola de llum que enviaven un senyal al 6845 quan el feix electrònic passava pel lloc on estaven apuntant, permetent així que un programa pogués saber la localització assenyalada.

Degut al fet que tots els aspectes de la sincronització de vídeo eren programables, una sola màquina podia canviar entre les sincronitzacions NTSC i PAL per mitjà de programari. El xip també podia ser usat per controlar monitors o qualsevol altra pantalla de trama.

Interior del 6845Modifica

 
Placa de video amb el xip Hitachi HD6845, clon del MC6845.

El xip tenia un total de 18 registres de 8 bits que controlaven tots els aspectes de les sincronitzacions vídeo. Només dues adreces eren exposades als components externs, una que era un índex per seleccionar qual registre intern havia de ser accedit, i una altra per accedir al registre seleccionat, ja sigui per a lectura o escriptura.

Nº de Registre funció
0 Total horitzontal, en Nro de caràcters
1 Nro de caràcters horitzontals mostrats per línia
2 Posició de sincronització horitzontal
3 Ample de sincronització horitzontal, en Nro de caràcters
4 total vertical
5 Ajust del total vertical, en Nro de línies d'escaneig
6 Nro de files mostrades (verticalment)
7 Posició de sincronització vertical, en Nro de files de caràcters
8 Mode d'entrellaçat
9 Màxima direcció de línies d'escaneig
10 Inici del cursor, en línia de scaneo
11 Final del cursor, en línia d'escaneig
12 Adreça inicial de la pantalla (High)
13 Adreça inicial de la pantalla (Low)
14 Adreça del cursor (High)
15 Adreça del cursor (Low)
16 Adreça del Light Pen (High)
17 Adreça del Light Pen (Low)

El 6845 es va dissenyar per a exhibicions basades en caràcters. Cada direcció que generava es componia de dues parts, una adreça del caràcter, de 14 bits, i una adreça de la fila (línia scan del caràcter), de 5 bits. No obstant això, el 6845 es podia usar també per generar gràfics.

La direcció del caràcter augmentava linealment. Quan el xip assenyalava la sincronització horitzontal (final de la fila), s'incrementava l'adreça de la fila. Si l'adreça de la fila no igualava el nombre fixat per programa de files per caràcter, llavors l'adreça del caràcter es restableix per tenir el mateix valor que tenia al principi de la línia d'escaneig actual. La direcció de la fila es restableix a zero després d'escanejar l'última fila del caràcter, per així preparar-se a escanejar la primera fila de la següent línia de caràcters.

Si l'adreça del caràcter era usada per mirar una referència del caràcter en RAM i l'adreça de la fila per indexar una taula de gràfics que representaven el caràcter en la ROM, es construïa una exhibició ordinària de manera de text.

Modes de vídeoModifica

Mode Resolució Colors Bytes[1]
Alphanumeric Internal 32 x 16 1 + Negre 512
Alphanumeric External 32 x 16 1 + Negre 512
Semigraphics 4 64 x 32 8 + Negre 512
Semigraphics 6 64 x 48 4 + Negre 512
Color Graphics 1 64 x 64 4 1024
Resolution Graphics 1 128 x 64 1 + Negre 1024
Color Graphics 2 128 x 64 4 2048
Resolution Graphics 2 128 x 96 1 + Negre 1536
Color Graphics 3 128 x 96 4 3072
Resolution Graphics 3 128 x 192 1 + Negre 3072
Color Graphics 6 128 x 192 4 6144
Resolution Graphics 6 256 x 192 1 + Negre 6144

Framebuffers linealsModifica

Com es va descriure a dalt, el 6845 ordinàriament no podia proporcionar grans framebuffers lineals. Un disseny només podia fer servir l'adreça de caràcters de 14 bits i ajustar el nombre de files per caràcter a 1 però estava restringit a 16 KB de memòria adreçable.

Una solució de compromís es trobava en el Amstrad CPC que combinava l'adreça de files i l'adreça del caràcters juntes, de manera de proporcionar scanlines lineals dins d'un buffer no lineal. Això tenia els avantatges d'una programació més fàcil per mostrar caràcter NULL i tenia un moviment suau horitzontal, però impedia el moviment en sentit vertical.

Diferències amb el 6545Modifica

Tot i que en gran part eren compatibles, hi havia un nombre de petites variacions entre el 6845 i el 6545.

La diferència més gran era que el 6545 podia ser configurat de manera que tingués accés únic al bus d'adreces per a la memòria de vídeo. Eren inclosos dos registres addicionals per ajustar qualsevol adreça que el CPU desitgés llegir i el xip s'alternava entre fer sortir adreces per a la generació de l'exhibició i l'ajust d'exhibició per l'accés del CPU.

Petits canvis consistien en que el MOS Technology i una variació del Rockwell 6545 no tenien suport per a sortida entrellaçada i tots els 6545 van incloure un ajust opcional de l'adreça, que si s'activava, retardava l'activació de l'exhibició per un caràcter. Aquesta segona característica va ser incorporada en les últimes variacions del Motorola 6845.

El 6545 es podia ajustar, usant un bit d'estat, per treballar en mode lineal de 14 bits. Al 6845 es requeria l'ajust de l'alçària del caràcter.

TrucsModifica

El 6845 llegia l'adreça del començament per a l'exhibició de vídeo una vegada per frame . No obstant això, si els valors de la sincronització interna en el xip eren alterats en el temps correcte, es podia fer que es preparés per a un nou frame sense acabar l'actual, creant un salt no continu de les adreces generades a meitat del camí de la exhibició. Això era comunament usat pels jocs per a proporcionar una àrea mòbil de mostreig (generalment el camp de joc), i una àrea estàtica (generalment mostrant l'estat).

El desplaçament en sentit vertical resultava restringit perquè només l'adreça d'inici del caràcter podia ser ajustada i l'adreça de la fila es posava sempre a zero a l'inici del frame, però ajustant els temps de la vora era possible desplaçar, per a increments de caràcters sencers, la posició en la qual el framebuffer era mostrat a la pantalla. Amb el dibuix de píxels en blanc a les vores de la pantalla, això podia fer-se invisible a l'usuari, creant just la il·lusió d'un desplaçament vertical suau.

ReferènciesModifica

Vegeu tambéModifica

Enllaços externsModifica

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Motorola 6845