Can My First Computer Control A Spaceship?

Scott Manley
Scott ManleyMar 21, 2026

Why It Matters

The demo illustrates the surprising control capability of vintage hardware, providing perspective on modern computing power and inspiring creative engineering solutions across generations.

Key Takeaways

  • ZX Spectrum can control a simulated lunar lander via serial.
  • Emulated Spectrum uses Interface 1 RS‑232 to communicate with Python.
  • Python bridges Kerbal RPC data to Spectrum, updating ~once per second.
  • BASIC implementation causes significant lag; assembly could improve speed.
  • Demonstrates vintage hardware’s surprising capability compared to modern devices.

Summary

Scott Manley revisits the 1982 Sinclair ZX Spectrum, using an emulated version to pilot a lunar lander in Kerbal Space Program. By loading a BASIC “lander” program via the classic tape interface and attaching the Interface 1 RS‑232 add‑on, he connects the vintage computer to a Python bridge that talks to Kerbal’s RPC mod.

The Python script reads real‑time telemetry—altitude, velocity, thrust‑to‑weight—and streams it over a virtual serial port to the Spectrum. The BASIC code parses these values, computes attitude and throttle commands, and sends them back. Because the Spectrum runs at 3.9 MHz and bit‑bangs a 9600‑baud line, updates occur roughly once per second with occasional two‑second lag, far slower than modern systems.

Manley highlights the quirks of the hardware: loading from tape, multi‑function keys, and the cumbersome sequence required to close the serial port. He notes that the Apollo Guidance Computer operated on a similar cycle, and that today’s smartphones and even chargers dwarf the AGC’s performance, yet the Spectrum can still land a simulated craft.

The experiment underscores how far computing power has advanced while reminding us that even austere machines can solve complex control problems. It offers a nostalgic yet tangible lesson for engineers about low‑level programming, real‑time constraints, and the value of bridging old and new technologies.

Original Description

We all know that computer hardware has been miniaturized while performance has increased to frankly ridiculous levels. My Phone beats supercomputers from the 1990's.
But I wanted to see if I could fly a lunar lander simulation using a ZX Spectrum, my first computer, using the first programming language I ever learned. It turns out that the limitations in this are not related to the CPU or memory, but to the I/O and my patience for developing old software.
This uses kRPC to talk to a Python Program which in turn talks to a ZX Spectrum via the Interface 1 Serial Port
Follow me on Twitter for more updates:
I have a discord server where I regularly turn up:
If you really like what I do you can support me directly through Patreon

Comments

Want to join the conversation?

Loading comments...