Skip to content

EMU6_128, el emulador de Spectrum para ordenadores MSX-2

septiembre 24, 2016

Es la evolución lógica del clásico emulador ROMU6 diseñado por su autor, Juan Hernández, que data del año 1990. Entre las novedades introducidas en esta remozada versión, dispone de la posibilidad de utilizar el modo 128 de uno de los modelos superiores del ZX Spectrum fabricados por Amstrad. El único requerimiento que se necesita para arrancar este programa emulador es la de disponer de un MSX de segunda generación (MSX-2) con al menos 128 KB de memoria RAM ó superior, pudiendo ejecutarse a una mejor velocidad en los MSX Turbo-R.

Entre sus nuevas cacterísticas, cuenta con la posibilidad de experimentar a baja velocidad buena parte del software de los ZX Spectrum 128 en un MSX2. Funciona mejor con openMSX (control de velocidad de emulación). Tiene soporte para archivos TAP de cualquier tamaño, SNA instantánea (Spectrum 128) y cuenta, por último, con soporte para activar el modo Turbo en los modelos Turbo-R.

Una gran iniciativa para usuarios de MSX que deséen conocer cómo funcionan otras máquinas en sus ordenadores, más siendo el ZX Spectrum el ordenador rival en la época dorada de estos sistemas.

¿Dónde hallarlo? En el blog de su programador.

Retro Gamer nº 17, ya a la venta

septiembre 24, 2016

cimg5984

Desde ayer viernes, se puso por fin a la venta en la mayoría de los quioscos del pais, llegando hoy al resto, el nuevo número de la edición española de Retro Gamer, el 17 en su haber. Y es una gran noticia de que siga publicándose a pesar de los problemas que aún persisten para publicar en papel una revista, un semanario ó un periódico. Ahí está manteniéndose y espero que sigan editando nuevos números cada tres meses, a pesar de todo.

En este nuevo número, y tal como nos lo ha ido reseñando con su particular estilo nuestro amigo y compañero Javi Ortiz, de El Mundo del Spectrum, en su canal de YouTube, vamos a encontrar nuevos artículos muy variados de contenido, algunos de ellos bastante extensos y muy completos, pero donde la presencia de microordenadores es más que testimonial en este número respecto de los anteriores, salvo las reseñas de siempre cuando se hablan de versiones de videojuegos recreativos y algún breve artículo relacionado con ellos.

Al menos, la reciente preservación de uno de los videojuegos de Indescomp con mayor misterio en su softografía, “Exterminator” se ha destacado a página completa y especialmente tratada por Jesús Relinque “Pedja” dentro de la sección de noticias.

cimg5985

Ya es algo habitual dedicar un aniversario redondo de algún título destacado dentro de la historia de los videojuegos; dadas las fechas actuales se da la oportunidad de celebrarlo de alguna manera en los medios escritos cuando hay ocasión de ello. En este número 17, se ha decidido incluir dos grandes reportajes sobre los cumpleañeros Sonic (25 años y ahí sigue como siempre) y el juego de carreras más loco y dicharachero de la historia producido por Sega, “Out Run” (30 años).

“La Abadia del Crimen Extensum” es otro de los videojuegos protagonistas de este nuevo número y lo abordan por todo lo alto; tanto así, que se han acordado un poco de la época de los primeros Micromanía para dedicarle un “patas arriba” mostrando detalles de cómo acabarlo, junto con su correspondiente mapa. Un gran reportaje más una entrevista a sus creadores, Manuel Pazos y Daniel Celemin, que conviene releerlo constantemente.

Por lo demás, el resto de contenidos está mayormente dedicado a material sobre consolas domésticas ó juegos arcade: PC Engine, Bonk, Out Run, Final Fight, Hyper Sports, Mr Do!, Slap Fight, Nintendo 64 y no falta desde luego el pormenorizado análisis a una de las últimas jugadas comerciales de Nintendo: su NES Mini, un regreso a una de las consolas más características de esta empresa, pero en una versión más compacta que la original y con 30 juegos incorporados, de la que supongo no hace falta contaros más de lo que ya sabéis en la actualidad, en vista de su más que inminente comercialización para el mes de noviembre.

cimg5989

Es de agradecer que sigan incluyendo material de contenido propio, realizado por miembros de la actual redacción de la revista, así como de colaboradores ocasionales. Por supuesto, a mí me gusta que sigan traduciendo a nuestro idioma los reportajes y análisis que se hagan a partir de la revista matriz de Imagine Publishing, siempre y cuando no dén lugar a errores de contexto por la coloquialidad con la que suelen expresarse algunos de los redactores del Retro Gamer inglés. Pero la incorporación de reportajes “made in Spain” añade al Retro Gamer español un valor intrínseco que le diferencia del original.

Y llega el momento de las sugerencias: seré pesado, pero llevo meses pidiendo que se incluya, alguna vez, una sección dedicada al análisis del software Homebrew actual, a dos ó cuatro páginas como en la revista inglesa, en donde reseñar y valorar los videojuegos que se vienen publicando de un tiempo a esta parte para los sistemas clásicos de microordenadores y consolas de 8 y 16 bits, por varios canales de distribución, principalmente internet. No creo que cueste tanto trabajo incluirla y darle la continuidad necesaria para los siguientes números. Hasta sería un punto más a su favor, pues sería una forma de apoyar y ensalzar el trabajo de todos estos esforzados programadores tanto noveles como veteranos (The Mojon Twins, RetroWorks, RELEVO, Salva Kantero, Cthonian Godkiller, Dave Hughes, Einar Saukas y tantos otros) tanto de nuestra propia escena, como de la internacional. Por pedir nuevamente, que no quede… A ver si para el siguiente número para finales de diciembre, por aquello de la Navidad, nos dan una alegría en este sentido.

Y por pedir, a ser posible que vuelva a haber más material sobre microordenadores para el próximo. No todo en la vida de un jugador de videojuegos van a ser los juegos de consolas ó recreativas que en España apenas hemos conocido. Ya sé que es difícil acertar con los gustos de todos, pero cuando uno hace sugerencias como las mías, no hay razón para obviarlas y sí tratar de considerarlas al menos. Aun así, me ha gustado este nuevo número, hay mucha enjundia, grandes y enormes artículos en los que hay mucho que leer, algo que siempre viene bien en cualquier momento del dia ó cuando uno tiene un poco de tiempo libre para ello.

Como siempre, para los que se queden rezagados ó se hayan agotado los ejemplares en los quioscos de vuestra zona, hay siempre otra oportunidad de conseguir este Retro Gamer nº 17, a través de la web de compras de su editorial, Axel Springer.

Commodore 64: “The Pirates of the Dark Waters”, versión 2 disponible

septiembre 22, 2016

darkwaters

Se ha presentado recientemente una nueva versión, con varias mejoras, de esta videoaventura conversacional que data su origen en 2007 cuando fue publicada por primera vez por su autor, Richard J. Derocher. Siempre nos han atraido las aventuras de piratas en diferentes géneros del videojuego, pues los ha habido para casi todos los estilos posibles y desde los primeros años de su historia, generalmente arcade. Pero donde más podemos dar rienda suelta a nuestra imaginación, potenciar nuestra inteligencia y desarrollar nuestro sentido de la orientación es en el de las aventuras de texto.

Si bien el idioma puede ser una barrera para los que no sepan inglés, no obstante, este “The Pirates of the Dark Waters” tiene lo adecuado para introducirnos en su desarrollo, aunque no cuente con pantallas gráficas que describan mejor cada situación en la que nos encontremos a cada paso ó acción que acometamos. No obstante, es la manera más clásica de afrontar una aventura conversacional y la que más retos ofrece al jugador habituado a este género en concreto.

Al iniciar la carga, y tras una breve presentación, podemos elegir entre cuatro opciones: ver la introducción y los créditos del juego, leer las instrucciones, tomar buena nota de la solución (solo para nenazas) ó bien ir directamente al juego. La aventura cuenta con unos limitados comandos que siempre tendremos a la vista, para elegir, con solo pulsar la tecla resaltada en cada uno de ellos, la opción que más nos interese. En otros momentos, sí usaremos el teclado para introducir un comando para tomar, usar ó soltar un objeto.

Ficha y descarga del juego (CSDb)

darkwaters4

darkwaters5

Trasteando con POKEs #1: Abu Simbel Profanation (SPE) parte I

septiembre 18, 2016

En este inicio de mi colaboración en Program: Bytes: 48K voy a hablar del primer juego que tuve oportunidad de probar en un microordenador (concretamente el ZX Spectrum+ de un amigo): Abu Simbel Profanation, de Dinamic. Lejos de centrarme en otro análisis más del juego (que los hay a patadas), lo utilizaré para introducir esta sección, en la que trataré de presentar las formas clásicas de encontrar POKEs para un juego y que en futuras entregas abarcará otras plataformas y juegos.

 

Herramientas necesarias

 

Para llevar a cabo todo el proceso, utilizaremos el emulador FUSE (http://fuse-emulator.sourceforge.net/) y, en particular, las siguientes herramientas del mismo:

  • Poke Finder, con el que podremos observar cambios en los valores almacenados en direcciones de memoria determinadas.
  • Debugger, que nos permitirá inspeccionar el estado del programa y la CPU, así como ver y modificar el código y los datos, y utilizar puntos de ruptura (breakpoints y data breakpoints, que explicaré enseguida).
  • Memory Browser, un inspector de memoria con el que ver el contenido de la misma en cualquier momento. Dado que este inspector es muy primitivo, no permitiendo por ejemplo hacer búsquedas, en algunas ocasiones utilizaremos un editor hexadecimal externo (yo utilizo el editor online http://hexed.it/).

 

Decimal y hexadecimal

 

A lo largo de la serie de artículos trabajaremos con las notaciones decimal y hexadecimal. La notación decimal (también llamada en base 10) es la que utilizamos en nuestro día a día para valorar y medir cosas, y representa los números utilizando los dígitos del 0 al 9. La notación hexadecimal (base 16) añade 6 letras, de la A a la F, de forma que después del 9 viene la A (equivalente a 10 en decimal), luego la B (11 en decimal) y así sucesivamente; y tras la F viene el 10 (16 en decimal).

Los valores hexadecimales se denotan con el prefijo 0x, por ejemplo 0x1976 (que en decimal es 6518), aunque FUSE muchas veces no utiliza ese prefijo al mostrar información.

Para movernos entre decimal y hexadecimal se puede utilizar la Calculadora de Windows (la clásica, no la de Windows 8) en modo programador. No ahondaré más en su uso al tratarse de una herramienta conocida.

 

Las memorias RAM y ROM

 

Aunque prácticamente todo el mundo sabe qué es la memoria de un ordenador, no está de más refrescar, valga la redundancia, la memoria (la nuestra). De forma genérica, la memoria es un dispositivo que almacena información durante un tiempo dado. En el caso que nos interesa para este artículo, el dispositivo es uno o varios circuitos integrados y el tiempo es el que dure encendido el ordenador (o mejor dicho, la CPU). Habitualmente, distinguimos entre la ROM (memoria de solo lectura, que ya viene escrita con información de fábrica) y la RAM (memoria de lectura/escritura, en la que se cargan los programas y los datos asociados a éstos, como gráficos o músicas).

La memoria se organiza en celdas en las que guardamos información. Cada una de estas celdas (para el ZX Spectrum serían un total de 65536, resultado de sumar 16KB * 1024B/KB de ROM y 48KB * 1024B/KB de RAM) pueden albergar un valor entre 0 y 255. Estas celdas están numeradas consecutivamente de la 0 a la 65535. Normalmente, nos referimos a la posición de estas celdas en el total de la memoria con el término dirección de memoria.

El ZX Spectrum, igual que una gran parte de sus contemporáneos, se basa en el procesador Zilog Z80, que puede manejar hasta 64KB de memoria simultáneamente, en páginas de 16KB. De este modo, encontramos la página 0 (la ROM, cuya dirección de memoria más baja es 0), y tres páginas más (la RAM, cuyas direcciones más bajas son, respectivamente, 16384, 32768 y 49152). En ocasiones nos encontraremos con referencias a direcciones de memoria absolutas (es decir, un número de celda), y en otras como parejas página/celda (en este caso, la celda representa un desplazamiento desde la dirección de memoria más baja de la página). Para convertir de pareja página/celda a dirección de memoria absoluta, utilizaremos la fórmula (16384 * página) + celda (ya que cada página tiene 16384 celdas). Las direcciones de memoria se escriben habitualmente en formato hexadecimal. La misma fórmula en hexadecimal sería (0x8000 * página) + celda.

 

Los registros de CPU

 

Como el acceso a memoria, tanto para lectura como para escritura, es muy lento, la CPU utiliza variables internas mucho más rápidas (llamadas registros) para realizar la mayoría de las operaciones.

El número de estos registros es muy limitado, lo que obliga a los programadores a utilizarlos de forma inteligente. El Z80 ofrece al programador los registros A, B, C, D, E, H y L, capaces de albergar valores de 1 byte (en el rango 0 a 255). Algunos de ellos pueden usarse en pareja (BC, DE, HL) pudiendo entonces almacenar 1 word (2 bytes) cada uno (en el rango 0 a 65535). A estos registros se les llama registros dobles. Más allá de esto, algunas versiones del Z80 entre las que se encuentra la que utiliza el ZX Spectrum, ofrecen los registros dobles IX, IY, y un conjunto de registros adicionales llamados registros extendidos, marcados con el símbolo apóstrofe (prima, como A'). Existen otros registros en la CPU, pero no tienen relación directa con el contenido del artículo así que prescindiré de presentarlos por el momento.

 

Puntos de ruptura

 

En programación, un breakpoint (en castellano punto de ruptura) es una marca que asignamos a una dirección de memoria determinada para que el programa se detenga al pasar por allí y nos permita examinar tanto el estado de la memoria como de la CPU. Un data breakpoint es una variante de este concepto, en la que el programa se detiene en la siguiente instrucción que intente escribir en la dirección de memoria marcada (por ejemplo, la instrucción que decrementa la dirección de memoria en que el juego almacena el número de vidas restantes).

 

Nuestro primer POKE

 

La forma más habitual para encontrar un POKE (utilizada en soluciones hardware como el Multiface o el Amiga Action Replay) consiste en acceder al juego, interrumpir su ejecución para buscar y anotar todas las direcciones de memoria que contienen un valor concreto (p.e., el número inicial de vidas), volver al juego para realizar alguna acción que modifique este valor (p.e., perder una vida), interrumpir el juego de nuevo y, de las direcciones anteriormente anotadas, elegir aquellas que han modificado su valor al nuevo valor de búsqueda (p.e., vidas iniciales menos una), y repetir el proceso hasta que solamente quede una dirección de memoria candidata.

Por suerte, este proceso puede llevarse a cabo de forma sencilla gracias a la herramienta Poke Finder de FUSE, que se encarga de anotar por nosotros las direcciones de memoria candidatas, trazando sus cambios automáticamente. Si utilizamos otro emulador que no dispone de una herramienta de este tipo, se puede hacer el proceso a mano (con un inspector de memoria y una libreta).

Para comenzar, vamos a buscar el POKE que nos permita elegir el número de vidas que queremos que tenga el jugador al iniciar una partida:

Arrancamos FUSE y cargamos Abu Simbel Profanation, iniciando una partida. En este momento, tendremos el estado del juego cargado (esto es, el conjunto de datos en memoria que determina el número de vidas, la pantalla del mapa en que estamos, etc.).

En el menú Machine seleccionaremos Poke Finder y ponemos 10 (número inicial de vidas) en el campo Search For. Al hacer click en Search, FUSE nos informará de que hay más de 200 posiciones de memoria que contienen dicho valor. Por suerte, no tenemos que apuntarlas, ya que FUSE lo hará por nosotros.

Haciendo click en Close cerramos dicha ventana, volviendo a la partida, momento en el cual procederemos a perder una vida. Repetiremos la operación, abriendo Machine/Poke Finder, poniendo 9 en el campo Search For y haciendo click en Search. Quedará entonces un único resultado (page 2, address 0x17a2, cuya dirección de memoria absoluta es 0x97a2 según resulta de aplicar la fórmula indicada anteriormente), que será mostrado en la misma ventana (FUSE sólo nos detallará las direcciones de memoria cuando haya como máximo 20 entradas). Esta dirección es, por tanto, la que contiene el número de vidas de la partida. Modificando el valor en esta dirección, cambiará el número de vidas del jugador.

Para comprobarlo, abrimos Machine/Debugger y en el campo de evaluación, utilizamos el comando se que se utiliza para modificar el contenido de una celda de memoria. Escribimos se 0x97a2 5 y hacemos click en Evaluate. Cerramos la ventana. Un bug de FUSE hará que se acelere el tiempo de juego durante unos segundos (dependerá del tiempo que haya estado abierta la ventana Debugger). Esperando un poco todo volverá a la normalidad.

4_vidas

Dado que el juego no redibuja el marcador hasta que se pasa de pantalla o se pierde una vida, necesitaremos hacer alguna de las dos cosas para observar si el cambio ha tenido éxito.
Lo que hemos hecho, en realidad, es modificar el número de vidas en la partida, pero si las perdemos todas y comenzamos una nueva, volveremos a tener las 10 vidas iniciales. Esto es porque la celda de memoria que hemos modificado es un dato de partida (lo que se conoce como estado del juego o contexto del juego), pero no un valor de configuración. Por lo tanto podemos deducir que el programa, al iniciar una nueva partida, copia al contexto de juego este valor desde algún otro lugar. Así que ¡vamos a descubrirlo!

 

POKE #1: número de vidas inicial

 

Reiniciaremos el juego para volver al menú principal. Como ya sabemos que el contexto de juego guarda el número de vidas en 0x97a2, vamos a utilizar un data breakpoint para ver qué instrucción escribe el número de vidas inicial ahí, y así podremos deducir en qué dirección de memoria se guarda la configuración para el número de vidas por partida. Abrimos Machine/Debugger y observamos los cambios en la dirección escribiendo br w 0x97a2 y haciendo click en Evaluate. Cerramos la ventana Debugger.

Iniciamos una partida y ¡voilà! La ventana Debugger se abre y nos muestra las instrucciones de la dirección de memoria 0xc08F en adelante. Un data breakpoint siempre salta tras ejecutar la instrucción que modifica la dirección de memoria que queremos trazar, así que la instrucción que estamos buscando es la anterior, en la dirección de memoria 0xc08C. Esta instrucción es LD (97A2), HL, un comando en lenguaje máquina que significa guarda el contenido del registro HL en la posición de memoria 0x97a2 (LD es un acrónimo de LOAD, el paréntesis que rodea a 97A2 indica que es una dirección de memoria y, al ser el primer parámetro, es además el destino de la operación; el segundo parámetro –HL en este caso- representa el origen). Esto significa que no mucho antes en el programa ha de haber una instrucción que está poniendo el número de vidas inicial en el registro HL. Dado que el valor inicial es 10, y que 10 en hexadecimal es A, buscaremos una instrucción similar que cargue el valor A en el registro HL. Esa instrucción está en la dirección de memoria 0xC089, y es LD HL, 000A (donde como antes el primer parámetro, HL, representa el destino de la operación y 000A el origen, en este caso al no estar rodeado de paréntesis representa una cantidad).

Por tanto, debería bastar con modificar este valor para determinar el número de vidas que el juego otorga en cada inicio de partida.

Dado que no sabemos cómo estará codificada la instrucción LD HL, 000A en memoria, la mejor opción es acceder a Machine/Memory Browser, buscar la línea para la dirección de memoria C080 y ver en qué posición queda codificado el valor 000A:

browser

Sabiendo que las columnas se numeran de la 0 a la 15 (en hexadecimal, de la 0x00 a la 0x0f), buscamos C089 y nos encontramos con la secuencia 21 0A 00, donde 21 (en hexadecimal) es la instrucción LD HL, <valor>, y 0A 00 (también en hexadecimal) es el valor que estamos buscando (la CPU los codifica intercambiando los bytes de orden, esto se llamada codificación little endian). Vemos por tanto que el valor 0x0A está en la dirección de memoria 0xC08A (en hexadecimal, la siguiente a la que buscábamos, 0xC089).

Cerramos el Memory Browser y nos quedamos de nuevo en la ventana del Debugger. Eliminamos el breakpoint evaluando el comando cl 0x97a2, y modificamos el número inicial de vidas con partida (para la prueba, a 7 vidas) con el comando se 0xc08A 7. Iniciamos una partida para comprobar que… ¡seguimos comenzando con 10 vidas!

La realidad es que si perdemos una vida veremos como nos quedamos con 6. El marcador de Abu Simbel Profanation dibuja un 10 por defecto en esa posición, aunque el número de vidas inicial no sea ese.

Por suerte, este pequeño bug no importa demasiado, ya que en la próxima entrega explicaré cómo descubrir, a partir de lo que hemos aprendido hoy, la forma para obtener vidas infinitas e inmunidad en Abu Simbel Profanation. Así que… ¡hasta la próxima!

 

dcm_avatar

Sobre el autor

David Cañadas es programador de videojuegos, retroscener, demoscener y músico, ha colaborado en juegos retro publicados por Computer Emuzone y Retroworks, entre otros, y puesto música a remakes de PC como Abadía del Crimen Extensum, Capitán Sevilla o Go Bear Go.

Ciclo Vital

septiembre 18, 2016

Autor: Juan Luis R. Tutor

Los 40ºC a la sombra de aquellas tardes de verano eran la excusa perfecta para no tener que salir a la calle más de lo necesario. Nos venía bien, a mis hermanos y a mí, que el astro rey apretase con fuerza cada día… tanto que nuestros padres no tenían más remedio que prohibir a sus adorables retoños deambular cual ‘guiri’ despistado que ha tenido la feliz ocurrencia de visitar una de las ciudades más calurosa de España en pleno mes de agosto.

Tanto tiempo libre veraniego sólo podíamos ocuparlo leyendo un buen libro de aventuras, viendo alguna telenovela de sobremesa o, el día con más suerte, dándonos un refrescante chapuzón en la piscina de la urbanización de algún amigo. A veces, añadíamos una tarea más a la lista de ‘cosas que hacer en verano’, la de estudiar para alguna asignatura que ese año se nos resistió más de la cuenta… Pero nada era comparable con pasar las tardes cargando nuevos juegos o metiendo algún listado en código máquina, pero, no adelantemos acontecimientos… Mejor que empecemos por el principio.

Uno de esos calurosos veranos, el de 1985, por casualidades de la vida, tuve que pasar unos días (inolvidables) como ‘okupa’ en casa de mis tíos. Allí, en el pueblo, la vida era algo distinta, y cualquier novedad se convertía en un acontecimiento nacional. Uno de mis primos “mayores” regresó del servicio militar y, entre todos, le preparamos una gran fiesta de bienvenida. Entre regalo y regalo, uno me llamó la atención sobremanera, una caja negra con la foto de un teclado llamado ZX Spectrum… PERSONAL COMPUTER, ponía en grande. ¿De verdad aquello era un ordenador?, ¿tan pequeño? Los IBM que veía en los bancos o en el Instituto de mi hermano mayor ni por asomo se parecían. Hasta ese día, mi experiencia más cercana con esos aparatos electrónicos era jugar al PONG en una Atari 2600 de un vecino que hacía ya unos años que se mudó a los Madriles, pero fue suficiente para que se inoculase el virus tecnológico de los videojuegos.

Cayó la noche y todos nos fuimos retirando poco a poco a casa. A pesar de que el sueño hacía acto de presencia, no podía dejar de darle vueltas a ese ordenador negro con teclas grises; quería verlo en funcionamiento, tocarlo, saber qué se podía hacer con él… No sé cuántas horas dormí aquella noche, pero seguro que fueron muy pocas. Apenas pegué ojo pensando cómo podía satisfacer tanta curiosidad.

Los primeros rayos de sol entraron por la ventana. Era la señal que necesitaba para ponerme en pie, desayunar rápido y hacerle una visita sorpresa a mi primo. Aún no tenía pensado una excusa convincente; la diferencia de edad era lo suficientemente importante como para que no existiesen unos intereses comunes. Aunque, nada más lejos de la realidad.

Llegué temprano, demasiado, supongo. Aún no había pasado “el lechero” y, por lo tanto, nadie había desayunado… A la vista de tal panorama, me dispuse a dar una vuelta por la plaza del Ayuntamiento para hacer algo de tiempo. Allí, junto a unas imponentes palmeras, estaba el Kiosco de Paco “El Revistas”, como le conocían todos. Compré unos chicles y aproveché para leer algunos comics de los muchos que tenía en uno de los laterales de su puesto. De repente, algo me hizo fijar la vista en la portada de una revista llamada Microhobby. Hablaba sobre el ZX Spectrum. Junto a ella, un par de números atrasados de la misma publicación… se ve que no se vendían mucho. Aprovechando que mis padres me dieron algo de dinero para mis gastos de aquellos días, saqué de mi bolsillo 100 pesetas y compré la revista. En ese instante pensé… ¡Ya tengo la coartada perfecta!

col-spectrum
Fuente fotografía: Blog La Mancha Negra

Abrimos la caja con mucho cuidado y lo montamos todo siguiendo al pie de la letra las instrucciones. El ZX Spectrum estaba listo para recibir órdenes. Intentamos cargar algunos programas del libro de Basic, pero nos costó más de la cuenta acostumbrarnos a las combinaciones de teclas para sacar aquellas instrucciones y gráficos… En honor a la verdad, aquella experiencia no resultó todo lo idílica que nos imaginábamos en un principio. Lo más que sacamos de aquel precioso aparato fue algún círculo, un par de puntos en la pantalla y alguna nota musical por el altavoz interno… Algo frustrante, lo reconozco, pero afortunadamente no nos dimos por vencidos.

Al día siguiente quisimos ir más allá. Nada de meter listados interminables con el teclado, llenos de errores, imposibles de hacerlos funcionar. ¡La clave para disfrutarlo en condiciones era cargarlos desde cinta! Pero, ¿cómo?, no teníamos ningún reproductor de cassette a mano. Así que decidimos acercarnos al mismo Bazar donde sus padres compraron el Spectrum. El amable vendedor nos recomendó un fantástico Computone para, acto seguido, facilitarnos los datos de un par de personas que también compraron el mismo ordenador meses atrás. No hace falta decir que en el pueblo prácticamente se conocían todos, por lo que no nos resultó muy difícil dar con aquellas personas. En pocos minutos nos bombardearon con más información de lo que hubiésemos averiguado en días. Incluso nos invitaban a entrar en casa para que contemplásemos los últimos juegos comprados en el Rastro de la ciudad el domingo anterior.

Nada volvió a ser lo mismo para nosotros.

Les cuento muchas veces historias como esta a mis hijos y trato de hacerles ver la importancia que puede tener que algo te marque así durante la infancia… no en vano, gracias a aquella experiencia llevo ganándome la vida como programador los últimos 20 años, y no hay un día que no recuerde con cariño aquellos inicios donde empezó todo.

La vida siguió su curso. Mis padres me regalaron al año siguiente el ansiado Spectrum y, cada vez que visitaba el pueblo, aprovechaba para intercambiar juegos con los amigos (ya eran legión, nada de los tres o cuatro valientes de un principio). El Spectrum era el centro de atención del día a día. En casa siempre había disputas para “reservar” hora en la televisión del salón. Las negociaciones eran intensas, un toma y daca de intercambio de “favores y tareas” y, ni hace falta decirlo, debíamos aprovechar al máximo aquel tiempo en el que nos dejaban sentarnos delante del ordenador a jugar, o hacer trabajos para el Colegio, según la versión oficial.😉

Mi primo se casó al poco tiempo, le destinaron al Norte. Sólo le volví a ver un par de navidades más y, tras casi dos décadas, de nuevo las pasadas navidades. En esas escasas ocasiones en las que hemos coincidido, nos hemos puesto al día de nuestras vidas y, cómo no, siempre echamos la vista atrás con cariño y comentamos aquellos inicios con nuestros ordenadores y lo que supuso posteriormente a nivel personal para cada uno de nosotros.

El tiempo, por definición, siempre avanza. Es imposible que se detenga y, como no puede ser de otra manera, dejamos atrás la infancia, luego la adolescencia, maduramos y, al formar una nueva familia, todo alcanza una nueva dimensión. Como de una montaña rusa se tratase, experimentamos momentos álgidos y otros más sosegados, donde el afán por revivir viejas experiencias hace que ardamos en deseos de desempolvar nuestros queridos aparatos que descansan el sueño de los justos en algún rincón olvidado del trastero. Con un poco de suerte, nuestro viejo amigo seguirá operativo, esperará nuestras órdenes y podremos satisfacer nuestra pizca de nostalgia echando una partidita a nuestro juego favorito. Respiramos hondo y lo volvemos a guardarlo todo con mucho mimo.

No todos hemos tenido la suerte de conservar hasta el día de hoy nuestro ordenador. Bien por avería, por falta de uso, porque ocupaba un sitio que necesitábamos para otras cosas, o bien porque no tuvimos la “visión” de lo que significaba aquella joya… tristemente, el Spectrum terminaba casi siempre en el contenedor de la basura, junto con los cassettes de juegos y demás revistas que fuimos acumulando a lo largo de los años.

Desgraciadamente, hoy día la nostalgia cotiza en Bolsa. Es un sentimiento que, para satisfacerla, necesita de una cartera con buen fondo. Desde hace unos años, cosas que sencillamente se tiraban, ahora pasan a venderse a precios desorbitados. Y parece que el afán especulador no tiene visos de acabar a corto plazo ¿Por qué?

Es significativo que, a medida que nos hacemos mayores y encontramos cierta estabilidad familiar, laboral o económica es cuando echamos la vista atrás y deseamos volver a tener en nuestro poder aquellos objetos que marcaron momentos importantes en nuestra vida. Ahora mismo, estamos en ese punto de la vida donde tenemos la capacidad o los medios para poder satisfacer estos “caprichos” y, este aumento de la demanda, es algo que no ha pasado desapercibido para algunos que quieren hacer caja con los sentimientos ajenos.

Mi primo, el del pueblo, ha sufrido también esta sinrazón del mercado en la que se compra para luego revenderlo más caro, o se le pone precio de consola nueva a algo que tiene más de 30 años y que, a efectos tecnico-prácticos, no tiene valor alguno, sino únicamente sentimental. Ha completado la familia Sinclair, desde el ZX80 hasta el +3, pasando por el QL. Se le resiste el Sam Coupé, pero los casi 1.000€ que piden en algunos sitios especializados hace imposible su compra. En nuestra última conversación, la fiebre, como él la llama, tuvo sus puntos álgidos tras casarse para, acto seguido, disminuir al poco tiempo con su primera hija. Ahí estamos, simplemente, en “otras cosas”, como bien dice. Una vez que los niños empiezan a ser más autónomos y a dejarnos algo más de tiempo libre, volvemos a las andadas y recuperamos nuestras viejas historias (es decir, otra vez nos entra fiebre de 40º).

deusexmachina

Él ahora está en horas bajas, ha llegado su primer nieto y todas estas historias vuelven a pasar a un segundo plano, ¿definitivamente?

Nuestros hijos no parecen tener ningún tipo de interés especial en estos sistemas retro (a nivel general). Esto, casi con total seguridad, morirá con nuestra generación. No hay vuelta atrás. Acostumbrados a la inmediatez de carga, los miles de polígonos por segundo a todo color, sonido 5.1, resoluciones HD… ¿qué interés podrían tener en usar tecnología tan anticuada? Sencillamente, en la mayoría de los casos, ninguna. Algunos hasta se echan alguna partida con tal de no defraudar al ilusionado padre; son todo amor estos críos.

Llegará el día en el que la oferta superará a la demanda y los precios bajarán e, incluso, con toda seguridad, nuestros hijos, los futuros potenciales compradores, sólo buscarán aquellas consolas con las que crecieron juntos, la PS3, Xbox 360, Nintendo DS… y no tendrán más remedio que pagar su peso en oro tal y como hacemos nosotros actualmente. Llegará el día en el que nuestros queridos ordenadores no causen ningún tipo de interés entre los compradores. Llegará el día, como digo, en que todo esto acabe para nosotros, pero empezará para una nueva generación de compradores que gocen de la tal ansiada estabilidad laboral/familiar/económica y comiencen a recuperar sus añoradas joyas de la infancia.

Y se completará el círculo. Y así, una y otra vez.