Saltar al contenido
Tecnología

Un ordenador de 1982 logró aterrizar una nave en la Luna: el verdadero desafío no fue su escasa potencia

Scott Manley utilizó un ZX Spectrum emulado, código escrito en Sinclair BASIC y una conexión serie de apenas 9,6 kbit/s para controlar un módulo de Kerbal Space Program. El ordenador completó el aterrizaje pese a trabajar con 48 KB de memoria y sufrir importantes retrasos en la comunicación.
Por

Tiempo de lectura 3 minutos

Comentarios (0)

Un ordenador doméstico lanzado en 1982, con 48 KB de memoria y un procesador de 3,5 MHz, acaba de demostrar que todavía puede asumir una misión inesperada: controlar el descenso de una nave espacial y posarla suavemente sobre la superficie de una luna.

El experimento fue realizado por el divulgador espacial Scott Manley dentro de Kerbal Space Program. No utilizó una nave real ni un ZX Spectrum físico, sino una emulación del ordenador clásico conectada al simulador mediante diferentes capas de software. Aun así, el código encargado de interpretar los datos y decidir cuándo activar los propulsores se ejecutaba en Sinclair BASIC bajo las limitaciones de aquella máquina.

El resultado fue un aterrizaje exitoso sobre Mun, el equivalente ficticio de la Luna dentro del videojuego.

Un ZX Spectrum convertido en ordenador de vuelo

Manley utilizó aparentemente Fuse, un emulador capaz de reproducir el funcionamiento del ZX Spectrum y de su antigua expansión Interface 1. Este accesorio incorporaba una conexión RS-232 que permitía al ordenador intercambiar información con otros dispositivos.

En el experimento, esa conexión se reprodujo mediante un puerto serie virtual configurado a solo 9,6 kbit/s. Los datos viajaban desde Kerbal Space Program hacia un programa escrito en Python, que los adaptaba y enviaba al código ejecutado por el Spectrum. Después, las órdenes recorrían el camino inverso para activar los motores de la nave dentro del simulador.

Python se comunicaba con el videojuego mediante kRPC, una herramienta que permite controlar vehículos y consultar datos de vuelo utilizando programas externos. El Spectrum recibía información como la altitud, la velocidad y la aceleración, realizaba sus cálculos y decidía cómo modificar el empuje.

El problema no fue calcular, sino comunicarse

Podría parecer que el mayor obstáculo era la reducida potencia del procesador Z80. Sin embargo, el verdadero cuello de botella apareció en la entrada y salida de datos.

La conexión serie era lenta y el ordenador debía dedicar numerosos ciclos a transmitir cada bit mediante una técnica conocida como bit banging. Además, todos los sistemas tenían que mantenerse sincronizados: si la información llegaba demasiado tarde, el programa podía ordenar el encendido de los motores cuando la nave ya se había estrellado.

Manley reconoció que escribir el programa en lenguaje máquina habría permitido obtener una respuesta mucho más rápida. Eligió Sinclair BASIC porque fue su primer lenguaje de programación y porque permitía que el funcionamiento del sistema resultara más comprensible para quienes observaran el experimento.

Aterrizó, aunque apenas podía controlar la nave

El sistema tenía limitaciones considerables. Manley explicó que no disponía de un verdadero mecanismo de guiado y que su control de actitud era muy básico. El programa podía gestionar principalmente el empuje durante el descenso, pero no pilotaba la nave con la sofisticación de un ordenador espacial moderno.

Después de ajustar los retrasos y sincronizar la simulación con el código, el módulo consiguió tocar la superficie sin destruirse.

El experimento no demuestra que un ZX Spectrum pudiera sustituir al ordenador de una misión real. Buena parte de la simulación física, el entorno visual y la comunicación dependían de una computadora moderna. Sin embargo, sí revela que las tareas de control pueden resolverse con recursos extremadamente modestos cuando el problema está bien definido.

Más de cuatro décadas separan al ZX Spectrum de Kerbal Space Program. Manley logró unirlos con BASIC, Python y una conexión más lenta que cualquier red doméstica actual. Al final, el ordenador no fracasó por falta de capacidad para calcular el descenso: casi lo hace porque el presente y 1982 tenían demasiados problemas para hablar el mismo idioma.

Compartir esta historia

Artículos relacionados