NASA开源阿波罗11号任务代码

#Tech

NASA开源阿波罗11号任务代码

NASA已将阿波罗11号任务的关键计算机软件代码开源,并在GitHub上公开。

这些代码分为两部分,分别是指令舱(Command Module,Comanche055)和登月舱(Lunar Module,Luminary099)的代码库。

这些代码运行在阿波罗11号的导航计算机(AGC)上,对首次人类登月任务至关重要。

通过数字化和扫描MIT博物馆的原始纸质代码,NASA将其转换为可供公众在线访问的机器码。

例如,有30行汇编代码用于计算导航轨迹,并处理警报和中止操作。

这些代码展示了在现代计算机出现之前,NASA如何用极简的代码实现复杂的任务。

查看原文开头(英文 · 仅前 3 段)

(Image credit: Getty)

The historic computer software code that took Apollo 11 to the moon has been open-sourced and is available for anyone to read, download, and tinker with. NASA’s Chris Garry made the code available on GitHub as public domain. The published resource is basically in two large codebases, one set of code for the Command Module (Comanche055) and another for the Lunar Module (Luminary099). These modules both had their own Apollo 11 guidance computers (AGC) upon which to run the code, and were instrumental to the success of the remarkable mission – the first human Moon landing in history.On the GitHub repo, Garry indicates that this momentous code was digitized by the folks at Virtual AGC (Virtual Apollo Guidance Computer) and the MIT Museum. That means the hard copy of the code held at the MIT Museum has been scanned and proofread for digital distribution. In this particular case, we have reams of machine code now in the public domain, easily accessible online.To take a closer look at some of the example code, we dived into the Commanche055 directory, and the first interesting file that caught our eye was ALARM_AND_ABORT.agc. After a boilerplate introduction to the code at the top of the file, the purpose of the code is revealed – something which is quite obvious from the file name in this instance. Moreover, comments within the code reveal that the code logs alarm conditions, turns on a warning light if applicable, and handles various abort-level and non-abortive alarms.Article continues below In 1969 Apollo 11, the spaceflight that first landed humans on the Moon, used these 30 lines of code to calculate transcendental functions like sine and cosine essential for navigation.Annotated code here: https://t.co/5cOQHlATbB pic.twitter.com/s4hn2EOmGSApril 9, 2026Another interesting code example, shared on social media (embedded above), highlights the crucial 30 lines of assembly for calculating Apollo 11's navigation trajectories.If you want to go beyond nosing around the historic codebase, it is possible to compile the code now shared into the public domain using the Virtual AGC tool (GitHub link). The Virtual AGC software has been designed to work in Linux, in Windows XP/Vista/7, and in Mac OS X 10.3 or later, and some versions of FreeBSD. This repo is also a good place to learn about the AGCs carried on both the Command Module and the Lunar Module.The specs of the AGC pale in comparison to even the most rudimentary computers today. For example, an AGC had just 3,840 bytes of RAM and 69,120 bytes of storage. It could run at a maximum of about 85,000 instructions per second. Nevertheless, it was comparable in size to a desktop gaming tower PC of today at 24.250 x 12.433 x 5.974 inches (61.595 x 31.580 x 15.174cm), and weighed 70.1 pounds (31.8kg). It also needed two DSKY controller units at 17.8 pounds (8.1kg) each in the Command Module, and one DSKY in the Lunar Module.Over half a century before Artemis IIIt is fascinating to see this Apollo 11 code from nearly 60 years ago shared in the context of the ongoing Artemis II lunar mission. Today, we aren’t marveling at the lean and mean machine code that NASA is using to get humans to and from the Moon. Rather, Microsoft Outlook email bugs and a malfunctioning toilet on the Orion spacecraft may have taken the shine off the momentous achievement this latest mission represents.Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.

Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.

※ 出于版权考虑,仅引用前 3 段。完整内容请阅读原文。

阅读原文 ↗