Comment la NASA a sauvé l'alunissage d'Apollo 14

Albéric Trancart

     @alberictrancart

Apollo 14, 31 janvier 1971

Module Lunaire (LEM)

"Qui a appuyé sur le bouton abort ???"

T - 3H30

1ère solution "percussive"

L'AGC (Apollo Guidance Computer)

  • Multitasking
  • Interface utilisateur
  • Contrôle de multiples périphériques
  • Gestion des erreurs fatales
  • 8 virtual machines
  • 80,000 instructions par seconde

Capacités de l'AGC

36k mots de mémoire dure (72 ko actuels)

2k mots de mémoire vive

Sa principale limite : la mémoire !

Le programme est "tissé" à la main dans la mémoire

Core Rope Memory / Little Old Lady (LOL) Memory

Le défi

  • Changer le comportement du programme
  • Pas le droit de toucher au code
  • Accès à la mémoire vive autorisé
  • Tous les effets de bords sont maitrisés
  • Personne ne meurt
  • Le monde entier vous scrute
  • Vous avez 3 heures

Le programme P63 gère la descente

T - 1H30

P70/P71 gèrent les aborts

2ème solution : désactiver P70/P71

Multiples crash dans le simulateur...

T - 1H

DSKY, l'interface de l'AGC avec une cheat sheet de verbes et noms

Autre exemple de cheat sheet

Afficher le bit du bouton d'abort

VERB 11 ENTER, NOUN 10 ENTER, 30 ENTER

Exemple de commande

MODREG est la variable

qui affiche le programme courant

P63

Routine R11 (4 fois / seconde)

Si bouton d'abort poussé

Kill P63, démarre P70 (abort), kill R11

Job SERVICER

(Gestion des équations de guidage)

Si bouton d'abort poussé

et programme en cours != P70/P71

Kill P63, démarre P70 (abort), kill R11

  • Après les 26 secondes de calibration, le moteur ne monte pas à 100% de puissance

 

  • La variable ZOOMBIT qui active le guidage de descente n'est pas activée

Impacts de changer MODREG

  • Attendre le lancement du programme P63
  • Spoofer l'AGC en changeant MODREG à P71
  • Attendre l'allumage moteur pour que R11 se kill
  • Régler ZOOMBIT = 1 dans les 26 secondes de calibration pour activer le guidage
  • Manuellement monter la puissance du moteur à 100% après les 26 secondes de calibration
  • Remettre MODREG à P63
  • Redescendre la puissance manuelle au minimum

Le Hack

T - 20min

Alunissage réussi !

Made with Slides.com