# Přistání na Měsíci v Kerbal Space Program přes ZX Spectrum: technické detaily
Nadšenec Scott Manley implementoval ovládání lunárního přistávacího modulu v simulátoru Kerbal Space Program pomocí ZX Spectrum z roku 1982. 8bitový počítač s procesorem Z80A na 3,5 MHz a pamětí až 128 KB zvládl úkol navzdory dvousekundovým zpožděním. Pro integraci byl použit emulátor Fuse, Interface 1 a mod kRPC.
Hardwarová omezení ZX Spectrum a srovnání s AGC
ZX Spectrum byl vybaven procesorem Z80A (3,5 MHz), Sinclair BASIC a pamětí 16–128 KB. To překonávalo palubní počítač Apollo Guidance Computer (AGC) mise Apollo 11: 2,048 MHz, 15bitová architektura, 2048 slov paměti s 1bitovou kontrolou parity. Programátoři AGC optimalizovali kód pro minimální spotřebu zdrojů, což vyžadovalo vysokou vynalézavost.
Manley poznamenal, že moderní nabíječky chytrých telefonů jsou výkonnější než ZX Spectrum, ale retro stroj stejně vyžadoval optimalizaci. Musel umístit proměnné pro výpočet orientace, zrychlení a trajektorie do omezené paměti, čímž zajistil manévry a přistání.
Integrace ZX Spectrum s Kerbal Space Program
Přímé připojení není možné kvůli absenci USB. Řešení:
- Emulátor Fuse pro ZX Spectrum.
- Virtuální Interface 1 s RS232 portem.
- Python skript pro výměnu dat přes sériový rozhraní.
- Mod Kerbal RPC (kRPC) pro externí ovládání KSP přes Python nebo jiné jazyky.
Program v BASIC četl telemetrii a odesílal příkazy. Skript v Python sloužil jako prostředník mezi RS232 a kRPC, přenášící data do simulace v reálném čase.
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
Tento cyklus zajišťoval základní ovládání aparátu.
Proces přistání a výkon
Po startu program zahájil sestup modulu k Měsíci. Systém zpracovával data se zpožděním ~2 sekundy – podobně jako cyklus AGC, který počítal navigační parametry se stejnou periodou a úspěšně přistavil Apollo 11.
Manley předtím nastavil spojení pro monitorování a ovládání. Kompletní stack: Fuse + Interface 1 + Python + kRPC. Zpoždění nebránila korekci trajektorie a měkkému přistání.
Další projekt: emulátor ZX Spectrum v C++
Manley obnovil opuštěný emulátor ZX Spectrum v C++. Projekt se zasekl kvůli 158 základním instrukcím Z80, které se s prefixy a režimy adresování rozšiřují na 800+ opcodeů. Ruční implementace byla rutinní.
Pomocí Gemini 3 Pro a Google Antigravity IDE se vývoj dokončil za jeden večer. AI vygenerovalo zpracování opcodeů, po čemž emulátor spustil hry.
- Výhody AI: automatizace rutiny, přesná emulace Z80.
- Výsledek: funkční emulátor bez chyb v základních scénářích.
Co je důležité
- ZX Spectrum (1982) je výkonnější než AGC (1969), ale vyžaduje optimalizaci pro reálný čas.
- Stack Fuse + Interface 1 + kRPC umožňuje integraci 8bitových systémů se současnými simulátory.
- Dvousekundový cyklus je analogický AGC a stačí pro přistání.
- AI (Gemini 3 Pro) urychluje emulaci Z80 generováním 800+ opcodeů za hodiny.
— Editorial Team
Zatím žádné komentáře.