На Github опубликован исходный код «Аполлона-11»
admin 11 Июля 2016 в 11:24:27
Исходный код для для бортового управляющего компьютера КА «Аполлон» (Apollo Guidance Computer, AGC) на ассемблере опубликован на Github в полном виде, открыт для поиска, комментариев, форков и т.д.
![](load_theme/files/2016071111243657832d94bcc4b.jpg)
В коде можно найти вызовы ставших знаменитыми ошибок с кодами 1201.
![](load_theme/files/2016071111243657832d94da300.jpg)
и 1202, которые так беспокоили Нила Армстронга, и многое другое.
![](load_theme/files/2016071111243657832d94dd22b.jpg)
На Github репозиторий Apollo-11 быстро взлетел на 1-е место в списке самых популярных репозиториев за сутки .
Там действительно есть на что посмотреть. Особенно интересно почитать некоторые названия процедур (BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s) и комментарии в оригинальном коде.
А вот версия 1969 года популярного комментария «Это никогда не должно произойти».
![](load_theme/files/2016071111243657832d94e010d.jpg)
В репозитории на Github уже создан первый тикет — обсуждение «бага», которые необходимо исправить в программе.
Разработчик SilverWingedSeraph пишет: «У одного пользователя возникла довольно серьёзная проблема с криогенным перемешиванием в кислородных баках с появлением сообщения о неисправности».
Для воспроизведения ошибки в программе следует повторить такую последовательность действий:
1. Построить сервисный модуль.
2. Пролететь до окололунной орбиты.
3. На окололунной орбите запустить перемешивание в кислородных баках.
«Если в модуле есть проблема с проводкой, то ошибка может быть воспроизведена.
Будьте осторожны, потому что ситуация может опасна для тестировщика, который пытается воспроизвести ошибку», — отмечает не лишённый чувства юмора разработчик на Github.
Он имеет в виду знаменитую аварию с оборудованием служебного модуля «Аполлон-13», после которой модуль пришлось экстренно возвращать на Землю с помощью неординарных манёвров.
![](load_theme/files/2016071111243657832d94e2ff0.png)
Управляющие команды «Аполлона» можно попробовать запустить в эмуляторе (это лишь симулятор компьютера, без самого космического аппарата).
![](https://i1.ytimg.com/vi/hyhI85Rd1kI/hqdefault.jpg)
Компьютеры Apollo Command Module (CM) и Lunar Module (LM) осуществляли посадку на лунную поверхность в автоматическом режиме. Компьютер управлял двигателями и сервомоторами в реальном времени.
Технические спецификации бортового управляющего компьютера КА «Аполлон»
Временные эталоны работы AGC задавались кварцевым резонатором с частотой в 2,048 МГц. Память компьютера состояла из 2048 слов перезаписываемого ОЗУ и 36 К слов ПЗУ с линейной выборкой на многократно прошитых сердечниках. Цикл чтения-записи ОЗУ и ПЗУ занимал 11,72 мкс. Длина слова составляла 16 бит: 15 бит данных и 1 бит чётности. Формат 16-битного слова процессора включал в себя 14 бит данных, бит переполнения и бит знака.
![](load_theme/files/2016071111243657832d94bcc4b.jpg)
В коде можно найти вызовы ставших знаменитыми ошибок с кодами 1201.
![](load_theme/files/2016071111243657832d94da300.jpg)
и 1202, которые так беспокоили Нила Армстронга, и многое другое.
![](load_theme/files/2016071111243657832d94dd22b.jpg)
На Github репозиторий Apollo-11 быстро взлетел на 1-е место в списке самых популярных репозиториев за сутки .
Там действительно есть на что посмотреть. Особенно интересно почитать некоторые названия процедур (BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s) и комментарии в оригинальном коде.
А вот версия 1969 года популярного комментария «Это никогда не должно произойти».
![](load_theme/files/2016071111243657832d94e010d.jpg)
В репозитории на Github уже создан первый тикет — обсуждение «бага», которые необходимо исправить в программе.
Разработчик SilverWingedSeraph пишет: «У одного пользователя возникла довольно серьёзная проблема с криогенным перемешиванием в кислородных баках с появлением сообщения о неисправности».
Для воспроизведения ошибки в программе следует повторить такую последовательность действий:
1. Построить сервисный модуль.
2. Пролететь до окололунной орбиты.
3. На окололунной орбите запустить перемешивание в кислородных баках.
«Если в модуле есть проблема с проводкой, то ошибка может быть воспроизведена.
Будьте осторожны, потому что ситуация может опасна для тестировщика, который пытается воспроизвести ошибку», — отмечает не лишённый чувства юмора разработчик на Github.
Он имеет в виду знаменитую аварию с оборудованием служебного модуля «Аполлон-13», после которой модуль пришлось экстренно возвращать на Землю с помощью неординарных манёвров.
![](load_theme/files/2016071111243657832d94e2ff0.png)
Управляющие команды «Аполлона» можно попробовать запустить в эмуляторе (это лишь симулятор компьютера, без самого космического аппарата).
![](https://i1.ytimg.com/vi/hyhI85Rd1kI/hqdefault.jpg)
Компьютеры Apollo Command Module (CM) и Lunar Module (LM) осуществляли посадку на лунную поверхность в автоматическом режиме. Компьютер управлял двигателями и сервомоторами в реальном времени.
Технические спецификации бортового управляющего компьютера КА «Аполлон»
Временные эталоны работы AGC задавались кварцевым резонатором с частотой в 2,048 МГц. Память компьютера состояла из 2048 слов перезаписываемого ОЗУ и 36 К слов ПЗУ с линейной выборкой на многократно прошитых сердечниках. Цикл чтения-записи ОЗУ и ПЗУ занимал 11,72 мкс. Длина слова составляла 16 бит: 15 бит данных и 1 бит чётности. Формат 16-битного слова процессора включал в себя 14 бит данных, бит переполнения и бит знака.
![]() |
![]() |
|