How «oldschool» graphics work, part 2 – Apple and Atari

Bienvenidos a la segunda parte de "Cómo funcionaban los gráficos de la vieja escuela". En el último episodio hablé de algunos de los sistemas más populares de los ochenta… como el de la Nintendo o el de la Commodore. En este episodio voy a tratar el sistema del Apple II y algunos otros. El sistema gráfico del Apple II es uno de los más complicados y difíciles de explicar de todos. Y siendo sincero… lo cierto es que funciona como dos ordenadores completamente diferentes… dependiendo de si tienes conectado un monitor en color o uno monocromo. He aquí un ejemplo. Ésta es una imagen ampliada que muestra cómo se ven los píxeles en cada tipo de pantalla. Para comprender mejor por qué funciona así, es necesario diseccionar el sistema. La pantalla está dividida en secciones de siete píxeles cada una. Veamos qué ocurre dentro de esas secciones. Se usan ocho bits de memoria para definir esos siete píxeles.

El bit sobrante se usa como bit de control. Así es como funciona: En una pantalla monocromática, si activamos algunos bits en memoria… los píxeles correspondientes se activarán y así obtendremos el resultado esperado. ¿Y qué ocurre cuando activamos o desactivamos el bit sobrante? Básicamente, nada. Así, en una pantalla monocromática el Apple II ofrecía una apariencia nítida… y era, en general, magnífico para aplicaciones de negocios. De acuerdo, ahora mostremos esto con una pantalla a color para comparar. Una de las primeras cosas que se notan cuando usamos un Apple II con una pantalla a color…

Es que el texto se ve multicolor frecuentemente. Hay una razón para esto, y está relacionada con la manera en que esta máquina usa los colores. Volvamos al diagrama de píxeles. Si activamos algunos bits vemos que aparecen colores. Y se puede cambiar el color moviendo el bit de sitio. Si movemos el píxel a un lado obtenemos verde, y si lo movemos al otro obtenemos violeta. Con dos píxeles juntos se obtiene el color blanco. Esto da un total de cuatro posibles colores.

¿Pero recordáis este bit de control? Esto es lo que pasa si lo activamos ahora. Los colores cambian a naranja y azul. Por tanto, el bit extra nos permite usar dos colores adicionales. Pero tenemos que tener en cuenta que no podemos usar estos colores… en la misma sección de siete bits en que queramos usar estos otros dos. Es por eso que es muy difícil tener verde y azul juntos en la pantalla… a menos que los alinees a la perfección. Ahora es fácil entender por qué el texto se veía multicolor en los monitores a color. Hasta aquí hemos estado hablando del modo de alta resolución… con el cual se diseñaron la mayoría de juegos. Pero Apple también ofrecía un modo de baja resolución con 48 por 48 píxeles. Los píxeles eran grandes y anchos, pero a cambio obteníamos un total de 16 colores. Éste es el motivo por el que en Apple se afirmaba que el Apple II era un ordenador de 16 colores. Más tarde, cuando Apple presentó el Apple IIC y el Apple IIE… estos ya tenían añadida la posibilidad de usar más colores en el modo de alta resolución.

Pero muy raramente se usaba… ya que los desarrolladores de videojuegos querían mantener la compatibilidad con los antiguos Apple. Bien, si estáis algo confusos no hay motivo para que os sintáis mal… hay muy poca gente que realmente entendiera cómo funcionaban los gráficos del Apple II. De paso, me gustaría defender este ordenador un poco de cara a todos aquellos que podáis decir… "¡Vaya, sólo puede hacer seis colores en el modo de alta resolución! Eso es muy poco para juegos y cosas así". Pero… es importante verlo con perspectiva y tener en cuenta que esta máquina salió al mercado en 1977. Eso son cinco años antes que sistemas como la Nintendo o el Commodore. Bien, hay un sistema de gráficos más del que me gustaría hablar. Es el sistema de gráficos dirigidos por CPU. Permitidme que explique cómo funciona. He creado algunos píxeles sobredimensionados en esta ilustración. Primero de todo, hay que tener en cuenta que los píxeles se dibujan en la pantalla uno por uno…

Empezando por la esquina superior izquierda, yendo hacia la derecha y luego hacia abajo. Por supuesto, todo esto ocurre en un abrir y cerrar de ojos (de hecho, ocurre treinta veces por segundo). La mayoría de ordenadores tienen un chip dedicado exclusivamente al vídeo… que envía señales al monitor en el orden y momento precisos para dibujar imágenes en la pantalla. Sin embargo, algunos sistemas no tenían un chip de vídeo en absoluto… y usaban la CPU para enviar las señales directamente. De acuerdo, esto realmente funciona, pero requiere del uso de una gran cantidad de tiempo de CPU… para conseguir que así sea. Esto hacía que quedara muy poco tiempo de CPU disponible para ejecutar el código del videojuego. Imaginemos que hicieran esto en un sistema moderno. Abriríamos el administrador de tareas y tendríamos siempre un proceso llamado Generador de Vídeo… que emplearía el 90% de nuestro tiempo de CPU. Sería una lata, ¿verdad? El desarrollo de videojuegos para la Atari 2600 era todo un desafío debido a esto.

De hecho, ¿no habéis notado alguna vez que en ciertos juegos, si miramos a la parte izquierda de la pantalla… vemos unas misteriosas líneas negras? Esas líneas están ahí porque el código del juego se está ejecutando y la CPU no tiene tiempo suficiente… para ejecutar el juego y dibujar la pantalla al mismo tiempo. Ahora, una última cosa que quiero mencionar es que en realidad es posible usar esta técnica de… gráficos dirigidos por CPU incluso en ordenadores que incluyen un chip gráfico convencional. ¿Os acordáis de las celdas de color de las que hablamos en el último episodio? Bueno, pues si un programador quería, podía usar la CPU para cambiar la paleta de colores…

en cada línea. Esto permitía que se hicieran algunos gráficos artísticos magníficos en la Commodore 64. Pero esto nunca se usó en videojuegos… básicamente porque consumía casi todo el tiempo de CPU disponible. Bien, eso más o menos engloba todo lo relativo a este episodio. En el próximo episodio voy a explicar… cómo funcionaban la música y el sonido de la vieja escuela. Y, si hay interés suficiente, puede que haga otro sobre los modos gráficos de IBM llamados CGA, EGA y VGA. No os olvidéis de darle a like y de suscribiros… y tampoco de echarle un vistazo a mi página de Facebook (dejo un link debajo). ¡Os veo a la próxima!.