В июле 1969 года человечество впервые высадилось на поверхность ЛУНы. В 2009 году, чтобы отметить 40 лет с момента “маленького шага для человека и огромного скачка для человечества”, распечатки с исходным кодом программы оцифровали и выложили онлайн. Сейчас это дело довели до логического завершения: на GitHub появился полный исходный код миссии для бортового управляющего компьютера Apollo GUIDance Computer, написанный на ассемблере.

Код для бортового компьютера Apollo 11 был написан в лаборатории Чарльза Старка Дрейпера в Массачусетском технологическом институте командой разработчиков под руководством Маргарет Хэмилтон.

1*qJnPOGdtk1q7dq17tx1aYg

Сейчас его воссоздали по цифровым сканам оригинала (единственной его копии), которая хранится в музее MIT. Больше о нем можно почитать, к примеру, здесь.

moonlanding

Разработчики уже обсуждают “баги”: пользователь под ником SilverWingedSeraph указал, что “у пользователя возникла довольно серьезная проблема с криогенным перемешиванием в кислородных баках”. Авария с подобными условиями произошла при запуске миссии Apollo 13, в результате чего экипаж пришлось возвращать на Землю.

В обсуждении на Hacker News программисты цитируют множество забавных кусков из кода:

CAF	CODE500		# ASTRONAUT:	PLEASE CRANK THE
		TC	BANKCALL	#		SILLY THING AROUND
		CADR	GOPERF1
		TCF	GOTOP00H	# TERMINATE
		TCF	P63SPOT3	# PROCEED	SEE IF HE'S LYING

        	TC	BANKCALL	# ENTER		INITIALIZE LANDING Radar
		CADR	SETPOS1

		TC	POSTJUMP	# OFF TO SEE THE WIZARD ...
		CADR	BURNBABY

Команды кода можно пробовать запускать в онлайн-эмуляторе. Как это работает – можно посмотреть на видео ниже:

Напомним, на днях после почти пятилетнего путешествия космический аппарат Juno таки смог выйти на полярную орбиту Юпитера – он стал первым аппаратом, который «увидит» северный и южный полюса планеты.