Scott Manley's ingenious project demonstrates how a four-decade-old Sinclair ZX Spectrum can control a Kerbal Space Program lunar lander through serial communication, proving that vintage computing still has relevance in modern gaming and simulation.
The Sinclair ZX Spectrum, a beloved 8-bit home computer from the 1980s, has taken on an unexpected new role: controlling a lunar lander in Kerbal Space Program. Internet rocket scientist and YouTuber Scott Manley has demonstrated that this vintage hardware, powered by the venerable Z80 microprocessor, can still participate in cutting-edge space simulation.

The Technical Setup
The project's elegance lies in its simplicity and complexity simultaneously. Manley's approach uses the ZX Spectrum's BASIC programming language to read data from a serial port, which then communicates with Kerbal Space Program through a Python script. The Python script utilizes kRPC, a powerful library that enables external control of Kerbal Space Program via programming scripts.
However, there's a significant challenge: the ZX Spectrum didn't come with a dedicated serial port. Early solutions like the ZX Interface 1 could provide up to 19,200 bits per second (19.2 KB/s), but Manley admits the BASIC implementation is "terribly inefficient" due to the serial port's slow speed and the CPU spending numerous cycles "bit banging" to communicate.
Emulation vs. Real Hardware
Currently, Manley's project runs entirely on a single PC using the Fuse ZX Spectrum emulator. The virtual ZX Interface 1 handles serial data transmission to the Python script, which then interfaces with Kerbal Space Program. This emulation approach allows for rapid development and testing without the complications of physical hardware.
But could this be done with actual hardware? Absolutely. Manley suggests that connecting a USB to RS-232 adapter would enable communication between a real ZX Interface 1 and a modern PC. The process would involve configuring a Python script to communicate with the ZX Spectrum through the specified serial port and speed, then managing data formatting and sanitization between the two systems.
Expanding the Concept
The beauty of this project extends beyond the ZX Spectrum. Manley notes that other 1980s home computers could potentially replicate this setup. The Commodore 64, for instance, featured a User Port with serial interface capabilities, meaning that with some clever BASIC coding, the same lunar lander control system could be implemented on the MOS 6510 microprocessor.
Why This Matters
This project represents more than just a clever technical demonstration. It showcases how vintage computing hardware continues to inspire and educate. The ZX Spectrum, which introduced many to programming through Sinclair BASIC, is now teaching new generations about serial communication, emulation, and the fundamentals of computer-human interaction.
Manley's work demonstrates that the Z80 processor and the broader 1980s home computer era remain firmly embedded in our technological zeitgeist. It's a testament to the enduring appeal of these machines and their ability to solve modern problems, even if in a roundabout way.

The project also highlights the power of open-source tools like kRPC, which democratize access to complex simulations and enable creative applications that their original developers might never have envisioned. By bridging the gap between retro computing and modern gaming, Manley has created something that appeals to both vintage computer enthusiasts and space simulation fans.
As we continue to push the boundaries of what's possible with modern hardware, projects like this remind us that sometimes the most innovative solutions come from looking backward as much as forward. The ZX Spectrum may be four decades old, but in Manley's hands, it's still reaching for the stars.


Comments
Please log in or register to join the discussion