阿波罗11号指令舱与登月舱制导计算机(AGC)原始源代码
Hacker News 摘要原标题:Original Apollo 11 Guidance Computer source code for command and lunar modules
这是一个在 GitHub 上托管的开源项目,由用户 chrislgarry 维护。该项目收录了阿波罗11号制导计算机(AGC)的原始源代码,涵盖了指令舱和登月舱所使用的程序。
项目基本信息
该项目包含了阿波罗11号两套核心制导程序的完整代码:
• Comanche055:用于指令舱(CM)的 Colossus 2A 程序的源代码。
• Luminary099:用于登月舱(LM)的 Luminary 1A 程序的源代码。
这些代码最初由 Virtual AGC 项目和 麻省理工学院博物馆 进行数字化处理。项目的主要目标是为原始代码提供一个存档仓库。如果开发者发现仓库中的转录内容与原始扫描件(如 Luminary 099 和 Comanche 055)存在差异,欢迎提交拉取请求(PR)进行修正。
模块详细说明
• Comanche055:这是 Colossus 2A 的一部分。它是由美国国家航空航天局(NASA)于1969年4月1日汇编的 Comanche 程序第055号修订版。
• Luminary099:这是 Luminary 1A 的一部分。它是由 NASA 于1969年7月14日汇编的 LMY99 程序第001号修订版。
合同与批准信息
这些程序属于 Colossus 2A 计划,专门用于指令舱。该项目由 NASA 载人航天中心赞助,由麻省理工学院仪器实验室根据 NAS 9-4065 合同开发。
项目文档中列出了多位关键负责人的提交与批准记录,日期均为1969年3月28日:
• Margaret H. Hamilton:担任 Colossus 编程组长,负责阿波罗制导与导航工作。
• Daniel J. Lickly:任务程序开发总监。
• Fred H. Martin:Colossus 项目经理。
• Norman E. Sears:任务开发总监。
• Richard H. Battin:任务开发总监。
• David G. Hoag:总监。
• Ralph R. Ragan:仪器实验室副主任。
数字化与编译
这些源代码是从麻省理工学院博物馆保存的纸质副本扫描件中转录或适配而来的。数字化工作由 Paul Fjeld 完成,并由博物馆的 Deborah Douglas 安排。
如果你对编译这些原始代码感兴趣,可以参考 Virtual AGC 提供的相关资源。项目中使用的汇编器名为 yaYUL。
项目结构与状态
• 代码语言:该项目百分之百由汇编语言(Assembly)编写。
• 社区支持:目前已有超过200位贡献者参与。该项目在 GitHub 上非常受欢迎,获得了约 70.5k 个星标(Star)和 7.9k 次派生(Fork)。
• 多语言支持:README 文件提供了数十种语言的版本,包括简体中文、繁体中文、日语、韩语、德语、法语、西班牙语等。
• 文件构成:
• Comanche055 目录:包含指令舱相关代码。
• Luminary099 目录:包含登月舱相关代码。
• Translations 目录:包含各种语言的翻译文档。
• .github 目录:存放自动化工作流配置文件。
• CONTRIBUTING.md:贡献指南。
• LICENSE.md:标注该项目属于公有领域(Public Domain)。
该仓库不仅是航天历史的重要记录,也是计算机科学史上的珍贵资料,展示了20世纪60年代程序员如何通过精简的汇编指令实现人类首次登月任务的制导功能。