RepoDaily · 2026-07-22 · Self-hosted app

阿波罗 11 号制导计算机源代码:NASA 原版 AGC 汇编现已在 GitHub 开放

#8 Self-hosted app Assembly +1,195 chrislgarry/Apollo-11 打开仓库

Comanche055 与 Luminary099 的数字化转录——分别是指挥舱和登月舱实际运行的汇编程序。公共领域版权,由社区志愿者对照 MIT 博物馆扫描件校对。

项目类型Self-hosted app
最适合教育工作者、历史研究者和复古计算机爱好者,希望研读阿波罗 11 号实际飞行的 AGC 汇编代码
风险等级极低——纯静态文本存档,无运行时依赖
评估时间浏览器浏览约 15 分钟;深入研究汇编清单需 2 小时以上

核心问题: 你是否需要阅读或编译将人类送上月球的那份 AGC 汇编代码?

90/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 90/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 低
96证据质量

包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 6 个工作流步骤、5 个下一步动作,以及 3 个命令/安装信号。

78维护可信度

趋势热度为 +1,195 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

100生产准备度

采纳风险标记为 low,并包含 4 条安全说明与 3 条跳过条件。

100差异化

3 个机会视角、3 个替代方案,以及 3 个类型化模块支撑差异化判断。

68许可证清晰度

文章中包含许可证来源或许可证表述。

60Agent / AI 适配度

文章正文和元数据中检测到 2 个 AI/Agent 相关信号。

项目概览

chrislgarry/Apollo-11 仓库包含了阿波罗制导计算机(AGC)的原始源代码,涵盖指挥舱(Comanche055)和登月舱(Luminary099)两个版本。这些代码不是模拟或重写版本,而是 NASA 在 1969 年实际汇编的程序的数字化转录。Comanche 修订版 055 的汇编时间为 1969 年 4 月 1 日上午 10:28,而 Luminary 修订版 001(程序 LMY99)的汇编时间为 1969 年 7 月 14 日下午 16:27——距离土星五号火箭发射仅剩六天。

这些代码由保存在 MIT 博物馆的纸质打印件手工数字化而成。Paul Fjeld 完成了数字化工作,MIT 博物馆的 Deborah Douglas 安排了访问。由 Ron Burkey 维护的 Virtual AGC 项目(www.ibiblio.org/apollo)提供了 yaYUL 汇编器工具及更广泛的技术背景。由于转录工作是从物理文档手工完成的,仓库明确承认存在拼写错误和差异,并欢迎提交 Pull Request 将转录代码与原始扫描件进行核对和修正。

程序使用 AGC 汇编语言编写,通过 yaYUL 汇编器编译。指挥舱程序也被称为 Colossus 2A,根据报告 R-577 和 DSR 项目 55-23870,在 NASA 合同 NAS 9-4065 下由仪表实验室开发。整个代码库属于公共领域版权,意味着阅读、复制、教学或改编代码均无任何许可限制。

截至 2026 年 7 月 22 日,该仓库在本期趋势中获得了 1,195 颗星,排名第 8,在代码编写数十年后仍持续吸引关注。README 已被翻译为 35 种以上语言——从日语、韩语到阿拉伯语、印地语和尼泊尔语——项目还维护着一套结构化的贡献流程,志愿者可对照 https://28gpc.csb.app/ 上的扫描打印件校对汇编清单。

在实际使用方面,GitHub 内置了 AGC 汇编语言的语法高亮,任何人都可以直接在浏览器中阅读代码,无需安装任何工具。对于本地研究,社区维护了 VS Code、Sublime Text、Vim、Atom、Eclipse、Kate、jEdit、TextPad、CodeBlocks 和 ProgrammersNotepad 的语法高亮扩展。对于想要更进一步实际编译源代码的用户,Virtual AGC 项目提供了 yaYUL 汇编器和完整的硬件模拟器。

解决什么问题

  • 保存了此前只能通过 MIT 博物馆物理档案访问的历史性代码
  • 使 1960 年代的实时嵌入式系统工程对现代开发者和学生具体可读
  • 为理解在严格内存和处理限制下编写制导软件提供了切实参考
  • 通过结构化的社区 Pull Request 对照扫描原件来纠正手工转录错误

工作原理

  1. 浏览 Comanche055/ 目录查看指挥舱 AGC 代码——Colossus 2A,汇编于 1969 年 4 月 1 日
  2. 浏览 Luminary099/ 目录查看登月舱 AGC 代码——Luminary 1A,汇编于 1969 年 7 月 14 日
  3. 使用 GitHub 网页界面内置的 AGC 语法高亮直接阅读汇编清单
  4. 安装本地编辑器扩展,如 VS Code 的 agc-assembly 扩展(github.com/wopian/agc-assembly)或 Vim 插件(github.com/wsdjeg/vim-assembly),以便离线研究
  5. 从 www.ibiblio.org/apollo 下载 Virtual AGC,使用 yaYUL 汇编器编译源代码并在完整的 AGC 模拟器中运行
  6. 将转录代码的任意行与 https://28gpc.csb.app/ 上的原始扫描打印件进行比对,如发现差异可提交 Pull Request

如何接触 AGC 源代码

探索该仓库最快的方式是通过 GitHub 网页界面,它原生支持 AGC 汇编文件的语法高亮。进入 Comanche055/ 目录浏览指挥舱程序(Colossus 2A),或进入 Luminary099/ 目录浏览登月舱程序(Luminary 1A)。每个目录包含完整的汇编清单,并逐字保留 NASA 原始注释,包括 MIT 仪表实验室工程师团队的历史备注。

进行本地研究时,可安装 VS Code 的 agc-assembly 扩展(github.com/wopian/agc-assembly)、Vim 插件(github.com/wsdjeg/vim-assembly)或 Sublime Text 包(github.com/jimlawton/AGC-Assembly)。CONTRIBUTING.md 规定了格式要求:使用 Tab 缩进、Tab 宽度为 8、去除行尾空格。CONTRIBUTING.md 中标注匕首符号的扩展——Atom、Sublime Text 3 和 VS Code——还支持自动格式化。

要编译源代码,请从 www.ibiblio.org/apollo 下载 Virtual AGC。该项目包含 README 归属表中提到的 yaYUL 汇编器,以及能够运行编译后二进制文件的硬件模拟器。列出的联系人是 Ron Burkey(info@sandroid.org)。

维护与贡献模式

  • 维护工作主要是校对:贡献者将转录代码与 https://28gpc.csb.app/ 上的 MIT 博物馆原始扫描件逐字对比
  • CONTRIBUTING.md 要求注释必须与扫描件完全一致——甚至 NASA 开发者在 1969 年留下的原始排版错误也被有意保留
  • 接受针对 Luminary 099 和 Comanche 055 转录与扫描原件之间差异的 Pull Request
  • package.json 声明零运行时依赖;markdownlint-cli2(^0.16.0)仅为文档校对的 devDependency,覆盖根目录 .md 文件、translations/、Comanche055/ 和 Luminary099/
  • 无需安全补丁——该仓库是静态历史文本存档,不是可执行软件

仓库校验命令

  • npm run lint — 对根目录、translations/、Comanche055/ 和 Luminary099/ 中的所有 .md 文件执行 markdownlint-cli2,使用 .markdownlint.yml 配置
  • npm run lint:fix — 同上,但附加 --fix 标志以自动修复 markdown 格式问题
  • 完整底层命令:markdownlint-cli2 *.md translations/*.md Comanche055/*.md Luminary099/*.md --config .markdownlint.yml

谁适合关注

适合关注

  • 教授计算机体系结构、嵌入式系统或航空航天软件史课程的教育工作者
  • 对 AGC 在极端硬件限制下如何编写实时制导软件感到好奇的开发者
  • 希望在 Virtual AGC 模拟器中编译并运行代码的复古计算机爱好者
  • 需要与阿波罗计划相关的公共领域参考资料作家、艺术家和研究者
  • 有兴趣通过对照原始扫描件校对汇编清单来参与数字保存的志愿者

可以先跳过

  • 需要将生产级软件集成到现代系统中的团队
  • 需要持续维护的库、框架或 API 的开发者
  • 需要持续功能开发、错误修复或社区支持渠道的项目

风险与注意事项

这是一个 AGC 汇编源代码的静态历史存档。没有运行时组件、无可执行二进制文件、无需审计的第三方依赖。仓库中唯一的工具是 markdownlint-cli2,仅用于文档格式校验。

  • 无可执行运行时——仓库包含的是汇编源文本清单,而非编译后的二进制文件
  • package.json 声明零运行时依赖;markdownlint-cli2 仅为 devDependency
  • 版权为公共领域——无任何许可合规义务
  • 编译需要外部的 Virtual AGC 项目(yaYUL 汇编器),超出本仓库范围
  • 公共领域版权——无许可限制、无署名要求、无合规负担
  • 仓库中无可执行运行时代码;它是纯文本存档
  • 无第三方运行时依赖;仅有 markdownlint-cli2(^0.16.0)用于文档校验
  • 无网络调用、无 API、无数据收集、无执行不可信代码的构建流程

替代方案比较

方案适用场景代价
Virtual AGC
当你需要完整的 AGC 模拟环境——汇编器、模拟器和文档——而非仅原始源代码清单时免费 / 开源
AGC 扫描打印件(28gpc.csb.app)
当你需要将特定转录与 Comanche 或 Luminary 的原始纸质打印扫描件进行核实时免费
ibiblio 阿波罗档案
当你需要由 Ron Burkey 维护的更广泛的 Virtual AGC 项目网站,包含下载、文档和历史背景时免费

这个趋势说明了什么

教授实时系统历史

AGC 源代码是教授工程师如何在严格资源约束下解决制导、导航和计算问题的具体案例。学生可以阅读控制登月下降的实际汇编清单,而非教科书中的抽象描述。

检查你的计算机科学或航空航天工程课程是否涵盖嵌入式系统、实时调度或软件历史。让学生阅读 Luminary099 中的特定子程序并追踪其逻辑。

参与数字保存

志愿者可以从 Comanche055 或 Luminary099 中选取文件,对照 https://28gpc.csb.app/ 上的原始扫描件逐字比对,并为发现的差异提交 Pull Request。CONTRIBUTING.md 提供了校对指南。

打开 CONTRIBUTING.md,从 Comanche055 或 Luminary099 中选择一个文件,在 28gpc.csb.app 上打开对应扫描件,比较至少 50 行的转录准确性。

编译并运行代码

源代码可使用 yaYUL 编译并在 Virtual AGC 模拟器中运行,使在会议、课堂或博物馆展览中演示阿波罗时代的计算成为可能。

从 www.ibiblio.org/apollo 下载 Virtual AGC,按照构建说明操作,尝试将 Comanche055 或 Luminary099 汇编为可运行的二进制文件。

下一步建议

阅读 Luminary099 登月舱下降代码

从登月舱代码开始——Luminary099 包含动力下降至月面的制导逻辑。在 GitHub 上使用内置 AGC 语法高亮浏览代码,然后将关键部分与 MIT 博物馆原始扫描件对比。

  1. 打开 github.com/chrislgarry/Apollo-11,进入 Luminary099/ 目录
  2. 阅读文件头部以确认汇编日期(1969 年 7 月 14 日 16:27)和程序标识(LMY99 修订版 001)
  3. 搜索注释中与下降或着陆序列相关的子程序
  4. 将感兴趣的部分与 https://28gpc.csb.app/ 上的扫描打印件交叉对照
  5. 如发现转录差异,阅读 CONTRIBUTING.md 并按照格式指南提交 Pull Request

RepoDaily 判断

Apollo-11 仓库是一份精心数字化的公共领域存档,包含了引导首次登月的原始 AGC 汇编代码。无需安装、无安全攻击面、无许可义务。它在趋势榜上的重新崛起反映了人们对 1969 年工程师如何在极端限制下编写可靠制导软件的持久兴趣——而这个仓库让任何人只需一个浏览器就能阅读那些代码。

信息来源