Tenía unos 12 años cuando me apunté a la academia de mi barrio a aprender informática. Se llamaba Academia RUS, y tenía un dibujo hecho con spray de un robot en el que ponía algo como "Clases de Informática: Apúntate al futuro". Y mi madre me apuntó al futuro.
Allí tuve a Teo, un profesor curioso que venía todos los
días a clase con un libro de lectura y nos contaba historias, no solo de
informática, sino también de ciencia ficción. Entre otras cosas, en los
descansos, nos contaba cosas de "IT" de Stephen King - uno de los libros que trajo muchas veces mientras se lo terminaba -, "Caballo de Troya" de J.J. Benitez y de RoboCop, una película que acabaríamos yendo a ver a su estreno en el Cine Capitol de Gran Vía y que me llevaría a conocer el universo Paul Verhoeven en todo su esplendor. Todo eso cuando yo era un niño.
Creo que mi paso por esa academia con 12 años me marcó mucho más de lo
que yo iba a imaginar en mi vida. Allí comencé programando en
BASIC, en ordenadores de los 80, donde había cosas como el
Dragon Computer con el que tiré mis primeros programas, o equipos
Sinclair,
Atari, y por supuesto los famosos
AMSTRAD CPC 464. Daría oro por volver atrás en el tiempo y entrar en aquella sala llena de joyas de la historia de la informática hoy en día.
 |
Figura 1: DRAGON 32 |
Teo, mi profesor, me sentó, y se dedicó a explicarme los
conceptos básicos de la programación iterativa donde todo se resolvía
con tres estructuras básicas de control de flujo: La secuencia, la
repetición y la alternativa. Todo era sencillo y divertido y bastaba con
poner números de orden a las instrucciones, hacer bucles y aplicar
sentencias
IF-THEN-ELSE. Por supuesto, teníamos la posibilidad de romper el flujo con las instrucciones
GOTO - algo que como cuentan en
Microhistorias quedaría muy mal visto por los desarrolladores - y por eso nos recomendaba hacer uso de Subrutinas y utilizar
GOSUB y
RETURN o de las llamadas a funciones.
 |
Figura 2: Una pequeña subrutina en BASIC para dibujar una ventana en ASCII |
Con poco más, añadiendo el uso de variables y arrays de varias
dimensiones, el acceso a periféricos como la pantalla, el teclado, el
joystick o la impresora, jugando con los ficheros que abríamos de
lectura o escritura y poco más, los programas iban saliendo poco a poco.
Todo era un juego.
La pantalla del AMSTRAD era genial, porque tenía tres
modos con diferente número de columnas en cada modo, y si tenías un
monitor en color, podías cambiar el color del borde, el papel, y la
tinta de los caracteres. Además, podías jugar con los caracteres ASCII y redefinirlos con la función SYMBOL, lo que ayudaba a hacer cosas.
Recuerdo que de todo ello, lo que más me motivaba era hacer los
programas más rápidos que los de mis compañeros, y para ello había que
ser muy bueno con la optimización de las instrucciones. Los switches,
los acumuladores y los contadores eran mágicos, te permitían tener
información de lo que ya había sucedido en el flujo del programa y de lo
que quedaba por terminar, por lo que podrías saber si estabas haciendo
doble trabajo con alguna instrucción o si podías saltarte un paso
innecesariamente.
Una de las cosas geniales de aquella época era que podías escribirte tus
propios juegos con sencillez, y de hecho los compartíamos en papel
impreso para que otro se los fotocopiara y los tecleara en su equipo.
Programas de tenis, de disparos, el famoso arkanoid, etcétera, eran
juegos que podías escribirte tú mismo.
 |
Figura 3: El manual del AMSTRAD CPC 464 |
En la propia
guía de AMSTRAD CPC
venía juegos al final para que los escribieras tú, consiguiendo que
miles de niños escribieran programas sin entender mucho lo que estaban
haciendo, lo que les llevó irremediablemente a caer el mundo de la
informática.
Yo recuerdo descubrir cómo usar las envolventes de sonido, y los cuatro cronómetros de
AMSTRAD para gestionar subrutinas que tenían su propio hilo de ejecución, como la pelota del
Arkanoid
o un disparo en un máquina de marcianitos. Gran parte de la pasión mía
viene de aquellos días, donde después gracias a las revistas aprendería
que con
POKE o
PEEK se podía acceder a la
memoria y modificar los valores de los
contadores de vidas y balas de un
juego manipulando los valores hexadecimales de ciertas posiciones.
 |
Figura 4: movimento una pelota para hacer un "Arkanoid o Rebotes" |
Por supuesto, no sería hasta después cuando llegué a la Universidad,
que descubriría cosas como la algorítmica, las estructuras de datos, y a
resolver problemas de otra forma, pero también los equipos informáticos
habían cambiado mucho.
Sin embargo, todo esto volvió a mí, cuando este jueves pasado, casi sin quererlo, cayó en mis manos un emulador de AMSTRAD CPC que me permitía volver a programar como cuando tenía 12 años, y caí atrapado en él.
 |
Figura 5: Jugando en mode 0 con para hacer un editor de mapas |
Volví a leerme el manual de
AMSTRAD CPC y me vi haciendo un editor de mapas de
Arkanoid, y moviendo de nuevo una pelota por pantalla, jugando con los colores y tirando de
LOCATE y
FRAME para poner un carácter
ASCII en movimiento por la pantalla en
mode 0.
Ten cuidado y no te bajes ningún emulador como estos. Yo comencé al
principio solo por tirar unas líneas a ver qué tal iba, pero ahora estoy
totalmente enganchado. Si no tienes mucho tiempo no caigas en este
viaje al pasado. Ya os pasaré el código de lo que salga cuando acabe por
si queréis copiarlo
http://www.elladodelmal.com
Chema Alonso