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 };).
Saludos Malignos!