核心问题: 你是否需要阅读或编译将人类送上月球的那份 AGC 汇编代码?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 90/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 6 个工作流步骤、5 个下一步动作,以及 3 个命令/安装信号。
趋势热度为 +1,195 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 low,并包含 4 条安全说明与 3 条跳过条件。
3 个机会视角、3 个替代方案,以及 3 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 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 汇编器和完整的硬件模拟器。
为什么现在变热
- 本期趋势中获得 1,195 颗星,反映公众对历史性软件的持续关注
- 公共领域版权意味着教育、商业或艺术再使用无任何限制
- README 已翻译为 35 种以上语言,全球可访问
- 社区驱动的校对工作对照 MIT 博物馆原始扫描件,增添了持续协作的维度
- GitHub 内置 AGC 语法高亮,无需任何特殊工具即可阅读 1969 年的汇编代码
解决什么问题
- 保存了此前只能通过 MIT 博物馆物理档案访问的历史性代码
- 使 1960 年代的实时嵌入式系统工程对现代开发者和学生具体可读
- 为理解在严格内存和处理限制下编写制导软件提供了切实参考
- 通过结构化的社区 Pull Request 对照扫描原件来纠正手工转录错误
工作原理
- 浏览 Comanche055/ 目录查看指挥舱 AGC 代码——Colossus 2A,汇编于 1969 年 4 月 1 日
- 浏览 Luminary099/ 目录查看登月舱 AGC 代码——Luminary 1A,汇编于 1969 年 7 月 14 日
- 使用 GitHub 网页界面内置的 AGC 语法高亮直接阅读汇编清单
- 安装本地编辑器扩展,如 VS Code 的 agc-assembly 扩展(github.com/wopian/agc-assembly)或 Vim 插件(github.com/wsdjeg/vim-assembly),以便离线研究
- 从 www.ibiblio.org/apollo 下载 Virtual AGC,使用 yaYUL 汇编器编译源代码并在完整的 AGC 模拟器中运行
- 将转录代码的任意行与 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 汇编为可运行的二进制文件。
RepoDaily 判断
Apollo-11 仓库是一份精心数字化的公共领域存档,包含了引导首次登月的原始 AGC 汇编代码。无需安装、无安全攻击面、无许可义务。它在趋势榜上的重新崛起反映了人们对 1969 年工程师如何在极端限制下编写可靠制导软件的持久兴趣——而这个仓库让任何人只需一个浏览器就能阅读那些代码。