Motorola 6845

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 9 de septiembre de 2017; las comprobaciones requieren 3 ediciones .

Motorola MC6845  es un componente electrónico, un chip controlador de video , desarrollado por Motorola a fines de la década de 1970 (el año 1977 se indica en la documentación ). La abreviatura CRTC (Cathode Ray Tube Controller, controlador de tubo de rayos catódicos ) también se utiliza para designar el chip . El chip es parte del conjunto de chips de soporte del procesador Motorola 6800 , pero a menudo se usaba en sistemas con otros procesadores.

Utilizado en computadoras Amstrad CPC y BBC Micro , y tarjetas gráficas MDA y CGA para la PC IBM . Posteriormente, para compatibilidad con versiones anteriores, la funcionalidad del chip se integró en chips especializados para tarjetas gráficas VGA .

Debido a la popularidad de las computadoras compatibles con IBM PC, en algunos países se produjeron análogos completos del microcircuito. Entonces, en Japón, Hitachi produjo el chip 46505 , en Bulgaria se produjo el chip CM607 . A principios de la década de 1990 (aproximadamente en 1991 ), la industria electrónica rusa en la planta de Svetlana comenzó la producción del chip KM1809VG6 .

MOS Technology y Rockwell produjeron el chip 6545 utilizado en las computadoras Commodore PET y la serie B de las computadoras Commodore CBM-II . Esta versión es casi un análogo completo del chip 6845 con pequeñas diferencias.

Características

El chip está diseñado para implementar modos de video de texto, pseudográfico y gráfico. Proporciona la generación de señales de sincronización horizontal y vertical para la generación de video , así como atributos de cursor y parpadeo, pero no genera los datos de video en sí. En cambio, el microcircuito genera una dirección en la memoria de video desde donde se debe leer el valor del siguiente carácter, píxel o grupo de píxeles. La lectura de este valor de la memoria, su conversión en datos de píxeles individuales y la generación de la señal de video compuesta deben ser realizados por un circuito externo.

Soporta exploración progresiva y entrelazada . Dado que todos los parámetros de escaneo están configurados por software, es posible generar señales NTSC y PAL y cambiar entre ellas por software sin cambiar el circuito de conmutación. También es posible generar señales de reloj no estándar para cualquier otro tipo de pantalla de trama. Una limitación importante es el número máximo de líneas, que es de 128. En modos alfanuméricos, este número es redundante y en modos gráficos no es suficiente. Es por eso que, para obtener imágenes gráficas de alta resolución, el contador del número de línea en el símbolo se utilizó como contadores adicionales y, como resultado, apareció la organización "bancaria" de la memoria de video en CGA (2 bancos) y HGC (4 bancos en modo normal y 3 en modo emulación CGA).

La dirección generada actual se puede almacenar en un pestillo interno y el procesador puede leerla. Esta función se puede utilizar para determinar la posición exacta del haz de barrido al implementar un lápiz óptico o una pistola de luz .

Dispositivo

El microcircuito está fabricado con n-Channel MOS, tecnología TTL , requiere una tensión de alimentación única de +5 voltios. Producido en cajas DIP40 (cerámica y plástico).

El microcircuito tiene 18 registros de ocho bits que controlan todos los parámetros de barrido. Para un dispositivo externo, el microcircuito está disponible a través de dos puertos, uno de los cuales sirve para seleccionar el registro actual y el otro para leer o escribir un valor en el registro actual.

La dirección generada consta de dos partes: una dirección de caracteres de 14 bits (CA0..CA13) y una dirección de cadena de 5 bits (RA0..RA4), que permite direccionar hasta 512 KB de memoria de video. La dirección del carácter se incrementa secuencialmente. La dirección de línea se incrementa al comienzo de una nueva línea de trama cuando se genera una señal de sincronización horizontal. Si la dirección de la línea no ha alcanzado el valor especificado, la dirección del carácter se establece en el valor que tenía al principio de la línea anterior; de lo contrario, se restablece en cero.

Para implementar el modo de texto, la dirección del carácter se puede usar como la dirección en la memoria de video, la dirección de línea se puede usar como el número de línea de píxeles en la ROM del generador de caracteres y el valor leído por el circuito externo de la memoria de video se puede utilizar como número de carácter en la ROM del generador de caracteres.

Los modos de gráficos con organización de memoria de video lineal se pueden implementar configurando el número de líneas en 1, pero la cantidad de memoria direccionable se limitará a 16 KB. Esta limitación se puede superar mediante el uso de una organización no lineal de la memoria de video: la dirección de línea se puede establecer en los bits superiores del bus de direcciones de la memoria de video. En este caso, todas las primeras filas de píxeles del número especificado de filas en un carácter se ubicarán secuencialmente en la memoria de video, luego todas las segundas, etc. Es decir, si se especifican dos filas en un carácter, todos incluso , todas las líneas impares de la imagen se ubicarán primero. Este enfoque se utiliza en la computadora Amstrad CPC , adaptadores de video CGA y HGC para la PC IBM y computadoras compatibles.

Diferencias de 6545

La principal diferencia del chip 6545 es la posibilidad de acceso exclusivo al bus de direcciones. El microcircuito tiene dos registros adicionales para configurar la dirección a la que debe acceder el procesador y, según la situación en el bus de direcciones, se configurará la dirección deseada.

Otras diferencias menores incluyen la falta de soporte de entrelazado, la capacidad de retrasar la resolución de la imagen en un ciclo de generación de líneas de caracteres (esta función se incluyó más tarde en las contrapartes posteriores de 6845) y configurar el modo para generar un búfer de video de gráficos lineales configurando un bit en el registro de estado en lugar de cambiar la altura del carácter.

Uso no estándar

El chip lee la dirección de inicio una vez al comienzo del cuadro generado. Sin embargo, si los parámetros de barrido se cambian en algún momento, la visualización de un nuevo cuadro puede comenzar sin completar la visualización del actual. Esto le permite crear un espacio en las direcciones generadas durante la visualización de un marco e implementar varias "ventanas" (en toda la pantalla) en las que se muestran diferentes áreas de memoria. Este método se usaba a menudo en juegos para combinar áreas con desplazamiento (generalmente para una ventana con una situación de juego) y sin (para mostrar estadísticas del juego).

Dado que solo es posible establecer la dirección de inicio del carácter y la dirección de línea siempre se establece en 0 al inicio del cuadro, el desplazamiento vertical es limitado. Sin embargo, al cambiar mediante programación los parámetros de escaneo, es posible cambiar la posición del ráster mostrado en la pantalla. Debido a la combinación de desplazamiento de carácter por carácter, desplazamiento de mapa de bits y visualización de líneas vacías en los bordes de la pantalla, es posible implementar un desplazamiento vertical suave.

Véase también

Enlaces