Se ha dicho muchas veces que las computadoras que se usaron para llegar a la Luna, en 1969, no tenían ni lejanamente el poder de cómputo que tiene cualquier teléfono celular moderno. Y debe ser cierto. Por ejemplo, para los años ochentas del siglo pasado, la Apple II o la TR de Radio Shack tenían procesadores que corrían a 1 MHz. Hoy los teléfonos corren a 1 o más GHz y además, tienen más de un núcleo. Las cosas sin duda han cambiado. Por ello mismo tal vez es importante recordar el pasado y así valorar el tamaño de la hazaña de llegar a nuestro único satélite natural.
Hoy, gracias a Internet sabemos mucho sobre las misiones Apolo y no ha faltado quien ha escrito un simulador de AGC, la Apollo Guidance Computer, la computadora principal del programa Apolo que llevó con éxito a 12 astronautas a la Luna. En cada nave Apolo y en cada módulo lunar había una computadora AGC. Había además un sistema de respaldo llamado Abort Guidance System (AGS) en los módulos lunares, el cual es ahora simulado por la AGC virtual, pero no la actual versión de Moonjs, que es del simulador que hablamos.
Los astronautas interactuaban con AGC usando DSKY, una combinación de pantallas numéricas de siete segmentos, luces indicadores y un teclado sencillo que se simula en esta página (https://svtsim.com/moonjs/agc.html). El simulador DSKY se comunica con el simulador AGC, quien corre una copia de Colossus 249, el software de vuelo que viajó en el módulo de comandos de la Apolo 9. La interfaz con el ser humano DSKY se construyó alrededor de los conceptos de verbos y sustantivos. Por ejemplo, Verb 06 se podía usar para desplegar el valor de 100 diferentes localidades de memoria seleccionadas basadas en el sustantivo o nombre dado. La página mencionada pone varios ejemplos de cómo interactuar con el simulador. Si escribimos VERB 1 6 NOUN 6 5 ENTR, tendremos la hora. Los dígitos de abajo muestran los segundos, los de en medio los minutos y los de la parte superior las horas.
Cabe señalar que el simulador AGC está portado de Virtual AGC de Ronald Burkey, de C a Javascript/asm.js, usando el compilador Emscripten. De acuerdo al autor Shahriar Iravanian (siravan@svtsim.com), decidió usar Javascript porque hoy en día tiene un sinfín de optimizaciones, lo que hace posible escribir aplicaciones computacionalmente pesadas en este lenguaje.
Referencias: