Содержание
NASA открыла исходники Apollo 11: в public domain теперь лежит исторический ассемблерный код, который работал на бортовых компьютерах миссии. Репозитории опубликованы на GitHub и включают две большие кодовые базы — для командного модуля и лунного модуля.
Код выложил инженер NASA Chris Garry. Это тот самый софт, который управлял навигацией и логикой полёта во время первой высадки людей на Луну в 1969 году.
Какие репозитории открыли и что внутри
Публичный архив разделён на две части: Comanche055 (Command Module) и Luminary099 (Lunar Module). У каждого модуля был свой Apollo Guidance Computer (AGC), и код запускался на этих отдельных системах.
По описанию в репозитории, исходники оцифровали и вычитали специалисты проекта Virtual AGC вместе с MIT Museum. Бумажные листинги из музейной коллекции отсканировали и подготовили для цифрового распространения.
Посмотреть код можно в репозитории Apollo-11 на GitHub.
Что можно увидеть в коде: тревоги, аборты и навигационная математика
Внутри Comanche055 мы видим файлы с говорящими именами. Один из примеров — ALARM_AND_ABORT.agc: по комментариям в исходниках этот участок логирует аварийные состояния, включает предупреждающую индикацию и обрабатывает разные уровни тревог — от нефатальных до сценариев abort.
Ещё один фрагмент, который разошёлся по соцсетям, — короткая подборка примерно из 30 строк ассемблера. Её использовали для расчёта трансцендентных функций вроде синуса и косинуса, которые нужны для навигации. Дата публикации этого примера — 9 апреля 2026 года.
Почему это впечатляет даже по меркам 2026 года
Если смотреть на «железо», контраст с любым современным ПК почти комичный. У AGC было всего 3 840 байт RAM и 69 120 байт памяти хранения. Производительность — до 85 000 инструкций в секунду.
При этом сам компьютер был не «микроконтроллером в коробке», а крупным блоком: 24.250 x 12.433 x 5.974 дюйма (61.595 x 31.580 x 15.174 см) и массой 31,8 кг. Для управления использовали панели DSKY: в командном модуле стояли две по 8,1 кг каждая, а в лунном модуле — одна.
Отдельно лежит и проект Virtual AGC, который поддерживает сборку этого кода и эмуляцию. В описании указаны платформы: Linux, Windows XP/Vista/7, Mac OS X 10.3+ и некоторые версии FreeBSD.
Открытые исходники опубликованы как public domain и доступны в репозитории Apollo-11 на GitHub в виде двух веток кода — Comanche055 и Luminary099.