jueves, febrero 13, 2020

Del Apple II al Apple IIgs o cómo un genio (Steve Wozniak) se empeñó en revolucionar la informática gracias, en parte, al videojuego Breakout de Atari [Parte 1 de 3]

Esta Microhistoria pretende ser un homenaje al que posiblemente sea el mejor ordenador que representa la cultura hacker, la serie Apple II. Esta primera parte de una serie de dos artículos, comienza en 1977, el año en el que un joven Steve Wozniak de tan solo 27 años, junto a su colega Steve Jobs de 22 - en la tarea de diseño y comercialización -, completaron el hardware Apple I y comenzó su distribución para la venta, eso sí, muy despacio, entre varios compradores de la zona de la bahía de San Francisco.

Figura 1: Del Apple II al Apple IIgs o como un genio (Steve Wozniak)
se empeñó en revolucionar la informática gracias, en parte,
al videojuego Breakout de Atari [Parte 1 de 2]

Su gran éxito - aunque sólo se fabricaron 200 unidades y algunas no se vendieron, pero aún así tenía una gran demanda - se basó principalmente en que era mucho más sencillo de programar y utilizar que el Altair 8800, que era su gran competidor de la época, sobre todo por tener un teclado - cosa que el Altair no tenía - y además visualizar la información en una simple televisión, cuando el Altair sólo mostraba un conjunto de LEDS.

Al principio intentaron venderlo como un kit, pero el propietario de la tienda “The Byte Shop” dijo que los quería montados o nadie los compraría. Así que comenzaron a soldar y a ensamblar a mano todos los componentes entre la casa de Jobs y Wozniak junto a algunos amigos como Bill Fernandez. Pero esta no era la idea principal que Steve Wozniak tenía en mente de lo que tenía que ser un ordenador personal.

Figura 2: Apple I vs Altair 8800

A medida que diseñaba el Apple I, Wozniak pensaba en otro concepto, más cercano a los videojuegos, ahora veremos el motivo. El primer punto diferenciador de su ordenador era que debía de ser en color y no en monocromo para poder desarrollar aplicaciones y juegos más vistosos de cara al usuario y así, captar su atención. Además, el Apple I, debido a su diseño original, mostraba los caracteres en pantalla con cierto retardo, como hacían los terminales de la época ya que el hardware de vídeo estaba totalmente separado del hardware general del ordenador como si fuera un periférico más (conectado a bus más lento).

Este era otro concepto que Wozniak quería eliminar, y para ello se le ocurrió una genial idea revolucionaria: mover a la memoria del ordenador (RAM) la memoria de video y de esa forma, tendría en tiempo real una salida en la pantalla de la información a mostrar. Una vez resuelto este tema, aún quedaba un detalle más. Este debería tener sonido, sobre todo orientado a la creación de videojuegos. Pero ¿de dónde sacó todas esas ideas Wozniak?, pues todas estaban concentradas en un videojuego de Atari: Breakout.

Figura 3: Secuencia de juego Breakout original de 1976

Ya conocéis la historia de cómo Atari le pidió a Jobs (no olvidemos que este trabajaba allí) que fabricara una placa de circuito impreso (y Jobs no le facilitó toda la información a Wozniak pagándole menos dinero que el pactado con la empresa), utilizando el menor número de chips, para implementar este juego.

Wozniak se lo tomó como un reto y estuvo trabajando durante cuatro días casi sin parar (por la tarde y por la noche, ya que él trabajaba durante el día en HP) programando y diseñando la circuitería completa (aunque de vez en cuando, desconectaba jugando a algunas de las máquinas que había por allí, como por ejemplo Gran Trak 10).

Durante ese periodo, Wozniak se fijó que Atari estaba diseñando juegos utilizando microprocesadores, en vez de implementarlo por completo, usando circuitos impresos como se venía haciendo hasta ahora. Esto era totalmente revolucionario ya que con un solo microprocesador podrías crear varios juegos para la misma máquina. Y quien dice juegos, dice programas de todo tipo.

Figura 4: Libro "Microhistorias: Anécodas y curiosidades de la
historia de la informática (y los hackers)"

Crear un ordenador desde cero y además que ofreciera colores en pantalla, era una tarea prácticamente imposible (debido, sobre todo, al alto coste de los chips de vÍdeo, así como de las pantallas color). Pero en los talleres de Atari, Wozniak encontraría una solución brillante. Llevaba tiempo fijándose en algo que estaba en una esquina de las oficinas. En concreto era una televisión en color que no se utilizaba para ningún videojuego en concreto.

En Atari, por aquella época, la mayoría de los juegos eran en blanco y negro debido al tema de costes, como ya hemos comentado. Esa televisión se utilizaba para algún tipo de prueba y había un punto que se desplazaba de izquierda a derecha - posiblemente fuera para probar la versión color de Breakout o cualquier otro juego -. No podía quitarle el ojo a ese hipnótico movimiento y de repente, le llegó la inspiración. Después de analizar qué ocurría detrás de ese aparente simple movimiento de un haz de luz en la pantalla, le vino a la mente una forma de obtener hasta 16 colores diferentes jugando con las señales de vídeo a bajo nivel.

Figura 5: Esquema del funcionamiento del sistema de video del Apple II original

Wozniak sacó ventaja de una característica muy peculiar de las televisiones con el estándar americano de la época, NTSC. En concreto, modificando la señal “colorburst” podría conseguir píxeles de diferentes colores sin invertir en los costosos chips de vídeo. Con esta técnica consiguió que el Apple II, siendo un ordenador monocromo, mostrara en pantalla hasta cuatro colores diferentes como negro, púrpura, verde o blanco.

Además, ajustando los valores de tiempo (timing) consiguió añadir dos colores más: el azul y el naranja. El único problema era que la resolución debía de estar limitada a 140x192 pixeles (un Apple Watch Series 4 tiene una resolución de 272x340 píxeles), eso sí, poca resolución pero en color, algo totalmente nuevo para la época. Esto no fue inconveniente para que se desarrollaran juegos tan espectaculares como Karateka o Lode Runner, entre otros.

Figura 6: Secuencia del espectacular Karateka de Jordan Mechner

Así que unificando estas ideas y otras muchas, Wozniak comenzó a fabricar un ordenador con una premisa principal: tenía que estar diseñado como si fuera para él mismo. Es por este motivo que el Apple II está lleno de diferentes hacks que van desde la brillante gestión de la memoria (en principio la CPU del Apple II, un 6502, sólo podía direccionar 4KB pero consiguió que fueran hasta 48KB), un acceso total a la placa base sencillo (se abre sin tornillos), lleno de puertos de expansión para poder conectarle prácticamente cualquier cosa que se le ocurriera al usuario, etcetera.

Hasta algo tan normal como puede ser un manual, ha tenido el reconocimiento de ser el mejor manual de ordenador de la historia, el famoso “Red Book”. Wozniak lo había pasado muy mal tratando de buscar información sobre toda la electrónica necesaria para su Apple II que quiso que el manual fuera lo más completo posible para el usuario y que no perdiera el tiempo en buscar información al más bajo nivel.

El manual lo explica absolutamente todo (de hecho, está basado en los apuntes originales de Wozniak), desde las rutinas en ensamblador para acceder a todo el hardware hasta los esquemas electrónicos de cada una de sus partes. Incluía además como ejemplo, como crear en BASIC juegos como Pong o Dragon Maze. Si estáis pensando en comprar uno original, ya ronda los 400$ en eBay y no es fácil de encontrar. Aquí lo puedes encontrar en todo esplendor en formato PDF.

Figura 7: Portada dle manual "Red Book" de Apple II

Por otro lado, es curioso que algo aparentemente sencillo y sin mucha importancia como es una fuente de alimentación, en el caso del Apple II se convirtió en algo revolucionario. La obra de Rod Holt es nada más y nada menos, la fuente de alimentación conmutada (realmente no la inventó él pero sí le añadió cambios para mejorar su funcionamiento que le otorgaron el honor de tener su propia patente) que utilizamos hoy día en multitud de aparatos de precisión, como son los ordenadores. Por cierto, la caja la seleccionó Steve Jobs (una auténtica maravilla del diseño) antes de tener la placa base y la fuente ni siquiera estudiadas, así que esto añadió mayor complejidad a la hora de crear ambos componentes esenciales para que encajaran dentro.

Por cierto, este hecho de no pensar en los ingenieros daba comienzo “la era de los caprichos de Jobs” (nos hemos tomado el lujo de bautizarlo así), los cuales fueron básicamente exigencias de diseño sin contar con la complejidad ni el consejo de los que realmente sabían del tema. Hay que decir a su favor que estas extravagantes ideas fueron vitales para conseguir que Apple fuera la empresa de éxito que hoy conocemos, ya que forzaban a los ingenieros a conseguir proezas técnicas prácticamente imposibles hasta la época, lo cual tenía como resultado auténticos diseños revolucionarios.

Figura 8: Vista de la fuente de alimentación del Apple II.

Finalmente, una vez tuvo su primer prototipo funcional, ya casi estaba listo para salir al mercado. Pero al igual que ocurrió con el Apple I, Wozniak quería llevarlo al Home Brew Computer Club para que el resto de colegas reconociera su gran logro y de paso, darle publicidad antes de sacarlo al mercado. Para poder impresionarlos, se le ocurrió programar un juego muy similar al Breakout, que llamó “Little Brickout” (por temas de derechos de autor, donde además del nombre, cambió la orientación del juego), en apenas 40 líneas de código BASIC.

Lo programó, según él, en media hora en su apartamento, pero además, fabricó un mando con una rueda para poder mover la paleta utilizando circuitos integrados 555 (baratos para la época) en vez de los caros convertidores analógicos a digital. Le añadió sonido y también conectó un radiocasete al Apple II para poder cargar el juego. Podéis imaginaros las caras de los presentes en aquella reunión, seguro que nunca más se les olvidaría aquella demo.

Como anécdota final, Wozniak (que todos sabéis que es muy bromista), añadió una combinación de teclas, en concreto CTRL+Z, la bola siempre iría a parar a la paleta, dando la impresión de ser un gran jugador al no fallar nunca el rebote. Aquí tenéis un vídeo donde se muestra el juego en ejecución:


Figura 9: Brekout Woz version

Fijaos cómo se cierra el círculo con Breakout, siendo su inspiración al principio desde el punto de vista de hardware y acabando, siendo su modelo desde el punto de vista de software para enseñarlo al mundo en el mítico Home Brew Computer Club como si estuviera buscando la aprobación de otros hackers como él.


Después de esa presentación, en junio de 1977, el Apple II salió al mercado rompiendo todos los récords de ventas. En el siguiente artículo vamos a analizar cada uno de los modelos (contando algunas batallitas también), desde el Apple II original, pasando por el IIc, el IIe y terminaremos en el Apple IIGS, el último ordenador diseñado por Wozniak y posiblemente, el ordenador que todo hacker querría tener (y que tenemos que decir, no con cierta envidia, que Chema Alonso tiene dos en su mesa de despacho).


Ya sabéis que en nuestro libro de Microhistorias podéis encontrar más anécdotas y curiosidades relacionadas con Apple, Wozniak y muchos otros protagonistas y hackers de la historia informática. No os perdáis el siguiente capítulo....

Happy Hacking Hackers!

***********************************************************************************
- Del Apple II al Apple IIgs [Parte 1 de 3]
- Del Apple II al Apple IIgs [Parte 2 de 3]
- Del Apple II al Apple IIgs [Parte 3 de 3]
***********************************************************************************

Autores:

Fran Ramírez, (@cyberhadesblog) es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.


 Contactar con Fran Ramírez en MyPublicInbox

Rafael Troncoso
(@tuxotron) es Senior Software Engineer en SAP Concur, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" además del blog CyberHades. Puedes contactar con Rafael Troncoso en MyPublicInbox.



Contactar con Rafael Troncoso en MyPublicInbox

1 comentario:

Unknown dijo...

Ostias he entrado en el lado del bien...

Entrada destacada

Cibercriminales con Inteligencia Artificial: Una charla para estudiantes en la Zaragoza

Hoy domingo toca ir a participar en un evento, con una charla y una pequeña demo. Ahora mismo sí, así que el tiempo apremia, os dejo una cha...

Entradas populares