Zpět na domů

ZX Spectrum řídí přistání na Měsíci v KSP

Scott Manley ovládal přistání na Měsíci v Kerbal Space Program s ZX Spectrum přes emulátor Fuse, Interface 1 a kRPC. Systém zvládl zpoždění 2 s, analogicky AGC Apollo. Dále vytvořen emulátor Z80 pomocí AI Gemini 3 Pro.

Přistání na Měsíci na ZX Spectrum v KSP: retro technologie
Advertisement 728x90

# 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í.

Google AdInline article slot

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.

Google AdInline article slot

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í.

Google AdInline article slot

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

Advertisement 728x90

Číst dál