Retour à l'accueil

ZX Spectrum contrôle l'alunissage dans KSP

Scott Manley a contrôlé l'alunissage dans Kerbal Space Program avec ZX Spectrum via l'émulateur Fuse, Interface 1 et kRPC. Le système a géré des délais de 2 s, similaires à Apollo AGC. De plus, un émulateur Z80 a été créé en utilisant l'IA Gemini 3 Pro.

Alunissage sur ZX Spectrum dans KSP : technologies rétro
Advertisement 728x90

# Atterrissage sur la Lune dans Kerbal Space Program via ZX Spectrum : Détails techniques

L'enthousiaste Scott Manley a implémenté le contrôle du module lunaire dans le simulateur Kerbal Space Program en utilisant un ZX Spectrum de 1982. Cet ordinateur 8 bits — doté d'un processeur Z80A à 3,5 MHz et jusqu'à 128 Ko de mémoire — a relevé le défi malgré des délais de deux secondes. L'intégration reposait sur l'émulateur Fuse, l'Interface 1 et le mod kRPC.

Limitations matérielles du ZX Spectrum et comparaison avec l'AGC

Le ZX Spectrum disposait d'un processeur Z80A (3,5 MHz), de Sinclair BASIC et de 16 à 128 Ko de mémoire. Cela surpassait l'Apollo Guidance Computer (AGC) de la mission Apollo 11 : 2,048 MHz, architecture 15 bits et 2048 mots de mémoire avec parité 1 bit. Les programmeurs de l'AGC optimisaient le code pour une utilisation minimale des ressources, ce qui requérait une ingéniosité considérable.

Manley a noté que les chargeurs de smartphones modernes ont plus de puissance de calcul qu'un ZX Spectrum, mais cette machine rétro exigeait encore une optimisation minutieuse. Il a dû compacter les variables pour calculer l'orientation, l'accélération et la trajectoire dans la mémoire limitée afin de permettre les manœuvres et l'atterrissage.

Google AdInline article slot

Intégration du ZX Spectrum avec Kerbal Space Program

Une connexion directe n'est pas possible en l'absence d'USB. La solution :

  • Émulateur Fuse pour ZX Spectrum.
  • Interface 1 virtuelle avec port RS232.
  • Script Python pour l'échange de données via l'interface série.
  • Mod Kerbal RPC (kRPC) pour le contrôle externe de KSP via Python ou d'autres langages.

Le programme BASIC lisait la télémétrie et envoyait des commandes. Un script Python faisait l'intermédiaire entre RS232 et kRPC, en relayant les données vers la simulation en temps réel.

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

Cette boucle assurait un contrôle de base du vaisseau spatial.

Google AdInline article slot

Processus d'atterrissage et performances

Après le lancement, le programme déclenchait la descente du module vers la Lune. Le système traitait les données avec un délai d'environ 2 secondes — reflétant le cycle de l'AGC, qui calculait les paramètres de navigation à cet intervalle et permit l'atterrissage réussi d'Apollo 11.

Manley avait précédemment mis en place la connexion pour la surveillance et le contrôle. Pile complète : Fuse + Interface 1 + Python + kRPC. Les délais n'ont pas empêché les corrections de trajectoire et un atterrissage en douceur.

Projet supplémentaire : Émulateur ZX Spectrum en C++

Manley a relancé un émulateur ZX Spectrum abandonné écrit en C++. Le projet s'était enlisé en raison des 158 instructions de base du Z80, qui se démultiplient en plus de 800 opcodes avec les préfixes et modes d'adressage. L'implémentation manuelle était fastidieuse.

Google AdInline article slot

Grâce à Gemini 3 Pro et Google Antigravity IDE, il a achevé le développement en une soirée. L'IA a généré la gestion des opcodes, permettant à l'émulateur d'exécuter des jeux.

  • Avantages de l'IA : automatise les tâches fastidieuses, fournit une émulation précise du Z80.
  • Résultat : un émulateur fonctionnel sans bugs dans les scénarios de base.

Enseignements clés

  • Le ZX Spectrum (1982) surpasse l'AGC (1969), mais nécessite encore une optimisation pour les tâches en temps réel.
  • La pile Fuse + Interface 1 + kRPC permet d'intégrer des systèmes 8 bits avec des simulateurs modernes.
  • Un cycle de deux secondes correspond à celui de l'AGC et suffit pour l'atterrissage.
  • L'IA (Gemini 3 Pro) accélère l'émulation Z80 en générant plus de 800 opcodes en quelques heures.

— Editorial Team

Advertisement 728x90

Lire ensuite