Zurück zur Startseite

ZX Spectrum steuert Mondlandung in KSP

Scott Manley steuerte die Mondlandung in Kerbal Space Program mit ZX Spectrum über Fuse-Emulator, Interface 1 und kRPC. Das System bewältigte 2-s-Verzögerungen, ähnlich wie Apollo AGC. Zusätzlich wurde ein Z80-Emulator mit KI Gemini 3 Pro erstellt.

Mondlandung auf ZX Spectrum in KSP: Retro-Technologien
Advertisement 728x90

# Mondlandung in Kerbal Space Program mit ZX Spectrum: Technische Details

Der Enthusiast Scott Manley hat die Steuerung des Mondlanders im Simulator Kerbal Space Program mit einem ZX Spectrum von 1982 umgesetzt. Der 8-Bit-Computer – mit einem 3,5-MHz-Z80A-Prozessor und bis zu 128 KB Speicher – meisterte die Aufgabe trotz Zwei-Sekunden-Verzögerungen. Die Integration stützte sich auf den Fuse-Emulator, Interface 1 und das kRPC-Mod.

Hardwarebeschränkungen des ZX Spectrum im Vergleich zum AGC

Der ZX Spectrum verfügte über einen Z80A-Prozessor (3,5 MHz), Sinclair BASIC und 16–128 KB Speicher. Das übertraf den Apollo Guidance Computer (AGC) der Apollo-11-Mission: 2,048 MHz, 15-Bit-Architektur und 2048 Wörter Speicher mit 1-Bit-Parität. AGC-Programmierer optimierten den Code für minimalen Ressourcenverbrauch, was erhebliche Ingenieurskunst erforderte.

Manley merkte an, dass moderne Smartphone-Ladegeräte mehr Rechenleistung bieten als ein ZX Spectrum, doch die Retro-Maschine verlangte dennoch sorgfältige Optimierung. Er musste Variablen für die Berechnung von Orientierung, Beschleunigung und Trajektorie in den knappen Speicher packen, um Manöver und Landung zu ermöglichen.

Google AdInline article slot

Integration des ZX Spectrum in Kerbal Space Program

Eine direkte Verbindung ist wegen fehlendem USB nicht möglich. Die Lösung:

  • Fuse-Emulator für ZX Spectrum.
  • Virtuelles Interface 1 mit RS232-Port.
  • Python-Skript für den Datenaustausch über die serielle Schnittstelle.
  • Kerbal-RPC-Mod (kRPC) für die externe Steuerung von KSP über Python oder andere Sprachen.

Das BASIC-Programm las Telemetriedaten und sandte Befehle. Ein Python-Skript fungierte als Vermittler zwischen RS232 und kRPC und leitete die Daten in Echtzeit an die Simulation weiter.

10 REM Chtenie data with RS232
20 INPUT #1, a$,b$,c$
30 PRINT "Telemetry: ";a$;" ";b$
40 REM Sending komand
50 PRINT #1, "THROTTLE 0.5"
60 GOTO 10

Diese Schleife ermöglichte die grundlegende Steuerung des Raumschiffs.

Google AdInline article slot

Landeprozess und Leistung

Nach dem Start leitete das Programm den Abstieg des Moduls zum Mond ein. Das System verarbeitete Daten mit einer ~2-Sekunden-Verzögerung – vergleichbar mit dem Zyklus des AGC, der Navigationsparameter im gleichen Intervall berechnete und Apollo 11 erfolgreich landen ließ.

Manley hatte zuvor die Verbindung für Überwachung und Steuerung eingerichtet. Vollständiger Stack: Fuse + Interface 1 + Python + kRPC. Die Verzögerungen verhinderten weder Trajektorienkorrekturen noch eine weiche Landung.

Zusätzliches Projekt: ZX Spectrum-Emulator in C++

Manley hat einen verlassenen ZX Spectrum-Emulator in C++ wiederbelebt. Das Projekt war an den 158 Basisbefehlen des Z80 gescheitert, die mit Präfixen und Adressierungsmodi auf über 800 Opcodes anwachsen. Die manuelle Umsetzung war zermürbend.

Google AdInline article slot

Mit Gemini 3 Pro und Google Antigravity IDE schloss er die Entwicklung in einem Abend ab. Die KI erzeugte die Opcode-Verarbeitung, sodass der Emulator Spiele laufen lassen konnte.

  • Vorteile der KI: automatisiert die Routinearbeit, liefert präzise Z80-Emulation.
  • Ergebnis: ein funktionierender Emulator ohne Fehler in grundlegenden Szenarien.

Wichtige Erkenntnisse

  • ZX Spectrum (1982) übertrifft AGC (1969), erfordert aber Optimierung für Echtzeitaufgaben.
  • Der Fuse + Interface 1 + kRPC-Stack erlaubt die Integration von 8-Bit-Systemen in moderne Simulatoren.
  • Ein Zwei-Sekunden-Zyklus entspricht dem AGC und reicht für die Landung aus.
  • KI (Gemini 3 Pro) beschleunigt Z80-Emulation durch Generierung von über 800 Opcodes in Stunden.

— Editorial Team

Advertisement 728x90

Weiterlesen