NASA виклала на GitHub код навігаційного комп’ютера Apollo 11, що забезпечив посадку на Місяць
- Співробітник NASA Кріс Гаррі оприлюднив на GitHub код, що використовувався під час місії «Аполлон-11».
- Репозиторій містить дві програми: Comanche055 (командний модуль) та Luminary099 (місячний модуль).
- Комп’ютер AGC мав 3840 байт RAM і виконував ~85 000 команд на секунду.
- Код можна компілювати та запускати в симуляторі на Linux, macOS і Windows.
Співробітник NASA Кріс Гаррі оприлюднив на GitHub оригінальний програмний код, який використовувався під час місії Apollo 11 (Аполлон-11) для висадки перших людей на Місяці. Репозиторій позначений як «публічний домен» (public domain), пише TechSpot.
Код містить дві окремі програми: Comanche055, яка використовувалася на борту командного модуля «Аполлона», та Luminary099 — для місячного модуля. Обидві були написані для навігаційного комп’ютера «Аполлона» (AGC), технічні характеристики якого сьогодні виглядають мінімальними: 3840 байт оперативної пам’яті, 69 120 байт постійної пам’яті та продуктивність близько 85 000 команд на секунду.
Оцифрування вихідного коду стало результатом співпраці між проєктом Virtual AGC, який займається збереженням обчислювальної спадщини програми «Аполлон», та Музеєм MIT, де зберігаються оригінальні паперові роздруківки. Рядки коду були відскановані та звірені вручну.
У відкритому коді Comanche055 можна ознайомитись із логікою обробки критичних помилок — зокрема, файл ALARM_AND_ABORT.agc описує механізм відстеження аварійних ситуацій та умови припинення місії. Інші фрагменти демонструють математичну основу системи наведення: приблизно 30 рядків асемблерного коду обчислюють навігаційні траєкторії.
За допомогою набору інструментів Virtual AGC, доступного для Linux, macOS, Windows і FreeBSD, обидві програми можна компілювати та запускати в режимі симуляції, відтворюючи роботу бортових комп’ютерів місії «Аполлон-11».
