# 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.
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.
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.
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
Noch keine Kommentare.