Motorola 6845
El Motorola 6845, comúnmente MC6845 y también conocido como CRTC6845 (Cathode Ray Tube Controller 6845), fue un generador de direcciones de video, introducido primeramente por Motorola. Aunque el 6845 fue desarrollado para los diseños basados en el CPU Motorola 6800 y tenía un número de parte relacionado, fue usado junto con otros procesadores. El 6845 fue usado en los adaptadores video MDA, CGA y EGA, de los primeros computadores personales de IBM y sus compatibles, como también en los computadores Amstrad CPC y BBC Micro. La funcionalidad del 6845 fue duplicada y ampliada por circuitos hechos a la medida en la tarjeta de vídeo VGA.
El 6845 era muy similar y estaba relacionado con el posterior 6545 fabricado por MOS Technology (Commodore Semiconductor Group) y Rockwell (en dos variaciones), y fue clonado como con el Hitachi 46505.
El chip tenía un total de 18 registros de 8 bits que controlaban todos los aspectos de las sincronizaciones video. Solamente dos direcciones eran expuestas a los componentes externos, una que era un índice para seleccionar cual registro interno debía ser accedido, y otra para acceder el registro seleccionado, ya sea para lectura o escritura.
El 6845 se diseñó para exhibiciones basadas en caracteres. Cada dirección que generaba se componía de dos partes, una dirección del carácter, de 14 bits, y una dirección de la fila (línea scan del carácter), de 5 bits. Sin embargo, el 6845 se podía usar también para generar gráficos.
La dirección del carácter aumentaba linealmente. Cuando el chip señalaba la sincronización horizontal (final de la fila), se incrementaba la dirección de la fila. Si la dirección de la fila no igualaba el número programáticamente fijado de filas por carácter, entonces la dirección del carácter se resetea para tener el mismo valor que tenía al principio de la línea de escaneo actual. La dirección de la fila se resetea a cero después de escanear la última fila del carácter, para así prepararse a escanear la primera fila de la siguiente línea de caracteres.
Si la dirección del carácter era usada para mirar una referencia del carácter en RAM y la dirección de la fila para indexar una tabla de gráficos que representaban el carácter en la ROM, se construía una exhibición ordinaria de modo de texto.