☰
Apollo-11 仓库导读:登月计划阿波罗制导计算机(AGC)原始源码全解析
2026/9/30 1:53:23 网站建设 项目流程
  • 嵌入式
  • 固件

【免费下载链接】Apollo-11

Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

项目地址:https://gitcode.com/GitHub_Trending/ap/Apollo-11
点击查看免费下载

本篇技术指南以仓库中的 README.da.md(丹麦语版项目说明)为主体,系统梳理 Apollo 11 阿波罗制导计算机(AGC)原始源码的仓库结构与核心信息。读者读完后将掌握:Command Module(指挥舱)与 Lunar Module(登月舱)两套 AGC 程序(Comanche055 与 Luminary099)的源码组织方式、版本与契约背景、公共领域授权与数字化来源,以及使用 yaYUL/Virtual AGC 工具链编译并校验源码的实践路径。

一、仓库定位:人类首次登月的机载计算机源码

本仓库保存的是Apollo 11 阿波罗制导计算机(Apollo Guidance Computer,AGC)的原始源码,分为两个独立程序:

目录对应程序搭载设备构建标识
Comanche055/Colossus 2A(汇编修订版 055)Command Module(指令舱,CM)Assemble revision 055 of AGC program Comanche by NASA,2021113-051. 10:28 APR. 1, 1969
Luminary099/Luminary 1A(汇编修订版 001)Lunar Module(登月舱,LM)Assemble revision 001 of AGC program LMY99 by NASA,2021112-061. 16:27 JUL. 14, 1969

两套源码分别承载着绕月飞行中的导航、姿态控制(指挥舱)以及着陆、上升全流程的制导与控制(登月舱)。源码中的文件头精确记录了两套程序的汇编时间与修订号,例如 Comanche055/ASSEMBLY_AND_OPERATION_INFORMATION.agc 中明确记载了上述 Comanche 055 的装配信息,Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc 则记载了 LMY99 的16:27 JULY 14, 1969装配信息。

二、源码结构:从汇编清单到各功能模块

与常规软件仓库不同,AGC 源码全部以.agc汇编源文件形式组织。以 Luminary099/MAIN.agc 的汇编清单为例,程序由近 90 个源文件按固定顺序拼装而成,覆盖了登月任务所需的全部功能域:

  • 系统核心:INTERRUPT_LEAD_INS、T4RUPT_PROGRAM、EXECUTIVE、WAITLIST、FRESH_START_AND_RESTART、RESTART_TABLES
  • 制导导航:P20-P25(着陆导航)、ASCENT_GUIDANCE(上升制导)、LUNAR_LANDING_GUIDANCE_EQUATIONS、STABLE_ORBIT、ORBITAL_INTEGRATION、KALMAN_FILTER
  • 推进控制:BURN_BABY_BURN--MASTER_IGNITION_ROUTINE(主点火)、THROTTLE_CONTROL_ROUTINES(油门控制)、P-AXIS_RCS_AUTOPILOT、Q_R-AXIS_RCS_AUTOPILOT、SPS_BACK-UP_RCS_CONTROL
  • 人机交互:PINBALL_GAME_BUTTONS_AND_LIGHTS(DSKY 按键与指示灯)、DISPLAY_INTERFACE_ROUTINES、EXTENDED_VERBS、PINBALL_NOUN_TABLES
  • 基础设施:INTERPRETER(解释器)、FIXED_FIXED_CONSTANT_POOL、ERASABLE_ASSIGNMENTS、SINGLE_PRECISION_SUBROUTINES、INTER-BANK_COMMUNICATION

从源码结构看,MAIN.agc本质上是整个 AGC 程序的“装配清单”,每一行$文件名.agc对应实际仓库中同名源文件,这种设计让后人能够按图索骥地查阅任意模块的实现细节。

三、契约与审批背景(Contract and Approvals)

原文的“Contract and Approvals”一节给出了该程序的官方契约背景,这是理解 AGC 程序性质的权威资料:

  • 本 AGC 程序正式名称为Colossus 2A,按报告R-577的规定用于 Command Module(指令舱)。
  • 项目在DSR 项目55-23870下编制,由 NASA 载人航天器中心(Manned Spacecraft Center)通过合同NAS 9-4065资助,执行方为马萨诸塞理工学院(MIT)仪器实验室。

Comanche055/CONTRACT_AND_APPROVALS.agc 以纯 ASCII 框图形式保存了这段声明原文,并在 Comanche055/CONTRACT_AND_APPROVALS.agc 记录了完整的签署矩阵。原文的审批表可直接译为下表:

提交/批准人职务日期
Margaret H. HamiltonColossus 程序设计组长(Colossus Programming Leader),Apollo 制导与导航1969-03-28
Daniel J. Lickly任务程序开发主任,Apollo 制导与导航计划1969-03-28
Fred H. MartinColossus 项目经理,Apollo 制导与导航计划1969-03-28
Norman E. Sears任务开发主任,Apollo 制导与导航计划1969-03-28
Richard H. Battin任务开发主任,Apollo 制导与导航计划1969-03-28
David G. HoagApollo 制导与导航计划主任1969-03-28
Ralph R. Ragan仪器实验室副主任1969-03-28

四、编译:使用 yaYUL 与 Virtual AGC

README 明确给出编译入口:如需编译原始源码,请参见 Virtual AGC。README 的属性表(Attribution)标注了两套源码统一使用的汇编器为yaYUL——它是 Virtual AGC 项目提供的 AGC 汇编器,能够把本仓库中的.agc源文件编译为 AGC 可执行的二进制程序。

编译相关的关键前提(来自仓库内部证据):

  • 源码文件头均以# Assembler: yaYUL声明汇编器,例如 Comanche055/ASSEMBLY_AND_OPERATION_INFORMATION.agc 与 Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc。
  • MAIN.agc作为装配清单是编译入口:yaYUL 会依次处理其中列出的全部$*.agc文件,最终生成完整的 AGC 程序镜像。
  • 若要自行在仓库中做文本层面的质量检查,可复用 package.json 中声明的markdownlint-cli2脚本(npm run lint),该脚本覆盖根目录与Translations/、Comanche055/、Luminary099/下的 Markdown 文档。

需要说明的是,当前仓库只保存源码文本;实际的 yaYUL 工具链与仿真器运行环境需要另行获取 Virtual AGC 项目,本仓库内并未包含可直接执行的编译器二进制。

五、数字化来源与公共领域授权

原文属性表给出了该仓库内容的可信来源链路:

项目说明
版权公共领域(Public domain)
数字化来源由 MIT 博物馆提供的纸质副本的数字化图像转写而成;扫描数字化由 Paul Fjeld 完成,馆方安排人为 Deborah Douglas
组织方Virtual AGC 与 MIT 博物馆
联系方式Ron Burkey info@sandroid.org
官网www.ibiblio.org/apollo

所有.agc源文件头部都保留了这段来源声明。以 Luminary099/ASSEMBLY_AND_OPERATION_INFORMATION.agc 为例,明确注明“该源码由 MIT 博物馆纸质副本的数字化图像转写或改编而来”,并提醒读者如需更高质量图像可联系作者获取。

关于授权,LICENSE.md 采用Public Domain Mark 1.0:作品已被认定为不受已知版权限制约束,允许复制、修改、分发与商业使用,无需请求许可;同时保留声明——部分司法辖区可能仍存在相关权利(如专利、商标、公开权),且作品不附带任何担保。

六、参与贡献与多语言生态

README 明确欢迎提交 PR,目标是让本仓库与原始扫描件(Luminary 099、Comanche 055)逐字一致。具体要求在 CONTRIBUTING.md 中,任何在转写与原始扫描之间发现的差异,以及遗漏的文件,都可以通过 PR 提交修正。

该仓库还建立了完整的多语言生态:根目录 README.md 为英文主版,Translations/目录下提供了包括 中文简体版、中文繁体版、本文所依据的 丹麦语版 等 30 余种语言的项目说明,贡献说明(CONTRIBUTING)同样提供多语言版本,便于全球开发者无障碍参与转写校对工作。

七、给读者的实践建议

  1. 快速上手:从 Comanche055/ 与 Luminary099/ 两个目录入手,先读各自的ASSEMBLY_AND_OPERATION_INFORMATION.agc与MAIN.agc,理解程序组织脉络后再深入具体模块。
  2. 编译验证:获取 Virtual AGC / yaYUL 工具链,以MAIN.agc为入口对两套源码进行汇编,验证转录正确性。
  3. 交叉校对:对照 README 中的原始扫描链接(Luminary 099 与 Comanche 055 扫描件),如有出入,按 CONTRIBUTING.md 流程提交 PR。
  4. 权限确认:仓库内容属公共领域,可自由复制、修改与商用,但引用时应注明数字化来源(MIT 博物馆、Paul Fjeld、Virtual AGC 团队),且不暗示任何官方背书。

这份仓库既是阿波罗 11 号任务制导软件的权威存档,也是一份可编译、可校验、可参与的活历史代码库——通过它,你仍可以逐行重读人类登月时运行在 2KB 内存、36K 固定存储中的真实飞行软件。

  • 嵌入式
  • 固件

【免费下载链接】Apollo-11

Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

项目地址:https://gitcode.com/GitHub_Trending/ap/Apollo-11
点击查看免费下载

相关推荐

上一篇:Flowbite Chat Bubble 聊天气泡组件实战指南:用 Tailwind CSS 构建文本、语音与附件消息界面
下一篇:如何打造安全可靠的支付表单:gh_mirrors/ca/card防泄露终极指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询