GithubHelp home page GithubHelp logo

chrislgarry / apollo-11 Goto Github PK

View Code? Open in Web Editor NEW
56.5K 1.3K 6.8K 2.99 MB

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

License: Other

Assembly 100.00%
agc nasa apollo hacktoberfest

apollo-11's Introduction

Apollo-11

NASA SWH Comanche Luminary

🎌 Bahasa Indonesia, Català, Čeština, Dansk, Deutsch, English, Español, Français, Italiano, Kurdi, Nederlands, Norsk, Polski, Português, Română, Tiếng Việt, Türkçe, Ukrainian, Ελληνικά, Русский, العربية, فارسی, हिंदी, অসমীয়া, বাংলা, မြန်မာ, 日本語, 正體中文, 简体中文, 한국어

Original Apollo 11 guidance computer (AGC) source code for Command Module (Comanche055) and Lunar Module (Luminary099). Digitized by the folks at Virtual AGC and MIT Museum. The goal is to be a repo for the original Apollo 11 source code. As such, PRs are welcome for any issues identified between the transcriptions in this repository and the original source scans for Luminary 099 and Comanche 055, as well as any files I may have missed.

Contributing

Please read CONTRIBUTING.md before opening a pull request.

Compiling

If you are interested in compiling the original source code, check out Virtual AGC.

Attribution

   
Copyright Public domain
Comanche055 Part of the source code for Colossus 2A, the Command Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11
Assemble revision 055 of AGC program Comanche by NASA
2021113-051. 10:28 APR. 1, 1969
Luminary099 Part of the source code for Luminary 1A, the Lunar Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11
Assemble revision 001 of AGC program LMY99 by NASA
2021112-061. 16:27 JUL. 14, 1969
Assembler yaYUL
Contact Ron Burkey [email protected]
Website www.ibiblio.org/apollo
Digitalisation This source code has been transcribed or otherwise adapted from digitized images of a hardcopy from the MIT Museum. The digitization was performed by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many thanks to both.

Contract and Approvals

Derived from CONTRACT_AND_APPROVALS.agc

This AGC program shall also be referred to as Colossus 2A.

This program is intended for use in the Command Module as specified in report R-577. This program was prepared under DSR project 55-23870, sponsored by the Manned Spacecraft Center of The National Aeronautics and Space Administration through contract NAS 9-4065 with the Instrumentation Laboratory, Massachusetts Institute of Technology, Cambridge, Mass.

Submitted by Role Date
Margaret H. Hamilton Colossus Programming Leader
Apollo Guidance and Navigation
28 Mar 69
Approved by Role Date
Daniel J. Lickly Director, Mission Program Development
Apollo Guidance and Navigation Program
28 Mar 69
Fred H. Martin Colossus Project Manager
Apollo Guidance and Navigation Program
28 Mar 69
Norman E. Sears Director, Mission Development
Apollo Guidance and Navigation Program
28 Mar 69
Richard H. Battin Director, Mission Development
Apollo Guidance and Navigation Program
28 Mar 69
David G. Hoag Director
Apollo Guidance and Navigation Program
28 Mar 69
Ralph R. Ragan Deputy Director
Instrumentation Laboratory
28 Mar 69

apollo-11's People

Contributors

5heri avatar adreaskar avatar aleen42 avatar alhadis avatar ardabbour avatar artemijrodionov avatar bee-michi avatar byt3h3ad avatar cheapwebmonkey avatar chrisf avatar chrislgarry avatar corvuscrypto avatar crhaugen avatar dwiyatci avatar eldan-dex avatar eltociear avatar feliix42 avatar g3r4n avatar gaboso avatar gannontdw avatar gintass avatar iigmir avatar keller0 avatar lurch avatar oldmud0 avatar oznogon avatar proudindiv avatar trn1ty avatar wopian avatar yeticgn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apollo-11's Issues

Re-write in C or Rust

I would like to propose a complete rewrite of the core systems in C or Rust for the sake of it .

Add automated tests and run with CI

There doesn't appear to be any tests included with this software. Over time as requirements change there's a risk of catastrophic failure after a couple of versions if there aren't regression tests to catch any minor oversights. The lack of systematic automated testing also makes it more difficult for any of the "rewrite in language x" proposals to be successful.

Since it's hosted on GitHub, I recommend setting up some simple tests to run with Travis.

README lacking explanation

Stumbled across this via Twitter. I see all the recent issues/pull requests are jokes but what is this actually? The README file mentions "Virtual AGC and MIT" but there's no links. I've never even heard of a .s file before. Does MIT have an Apollo emulator or something?

Potential unit mismatch

The internal computation is carried out in meters/kilos/newtons, but the input and display routines are all in feet/pounds/pounds. This could lead to a Mars Climate Orbiter type failure if the conversion function is omitted or applied in the incorrect direction. Ideally the astronauts would be trained to use the Metric system, which might be less error prone than redoing all calculations with antiquated units.

Test coverage

It would be nice to cover the source code by tests, unless, you guys, are brave enough to test it directly on production after the release.

Btw, I've seen tests of the Soviet "Soyuz 19" and it covers 146% of the code.

remove hurtful comments

please remove all references to "burning babies" in BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s , it is hurtful and I do not think it is good for our image

Does it come as a composer package?

So here's the deal. I was just reading your source code, lots of typos by the way, and I realised that it doesn't come as a composer package.
Now I'm a practical man and I'm gonna send Apollo to the moon with my next laravel-based start-up, but in order to do that, I have to be able to get this ... thing as a composer package. So just ... do that.

P.S: An artisan generator would be nice.

Rewrite in Chinese

I see many requests to rewrite this program in different languages. However, the most popular language is still missing. Please, use Chinese.

Won't build on Win 10

I tried cloning the source and building on Windows 10 but I couldn't get it to work. Am I missing any dependencies or utilities?

Program Alarm 1202 / 1201 during descent.

My first user had a Program Alarm 1202 during a descent phase. He was advised to ignore the alarm by Management. Then he had a 1201 alarm. This repeated several times.

My user managed to complete their objectives but is concerned about these alarms. Maybe it would be better to make them warnings...? Or just suppress completely...? Descent phase can be stressful for some users and it would reduce user workload.

Check continuity on O2 cryogenic tanks before allowing stir

A customer has had a fairly serious problem with stirring the cryogenic tanks with a circuit fault present. To reproduce:

  1. Build CSM
  2. Perform mission up to translunar coast
  3. During translunar coast, attempt to stir cryo tanks

If a wiring fault exists, the issue may be replicated. Be aware that this may be hazardous to the tester attempting it.

Error 1201 and 1202 if rendezvous radar is turned on.

The AGC reboots with a program code 1201 and 1202 ("Executive overflow") during landing phase if the rendezvous radar switch it set to AUTO (as suggested in procedure book) and the DELTAH command (1668) is initiated on the DSKY. Bales in Guidance and Garman say it is ok to land with this error, but flight is still concerned about it and the alarms might distract the crew.

Possible plagiarism

Hi, I've been looking at your source code and it seems awfully similar to the source used in Germany's V2 project. Any reason why?

Loss of telemetry, SCE to AUX (Version 12.X)

Found in production with version 12.X, Service Module (SM) fuel cells. Customer support (EECOM) suggested workaround of SCE to Aux resolved the issue, enabling systems to function normally under low voltage.

Recovery from such situations should be automated as a steely-eye'd missile man man not always be available on the helpline..

npm package?

I opened my shell and entered the following command:

npm install Apollo-11

and it told me this:

npm ERR! 404 'Apollo-11' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

Missing Unit Tests

Would be nice to have more unit tests.

Also seeing code with "guess" and "hopefully" in the comments doesn't inspire much confidence. Will this code run???? Noticed there's some lunar landing code. A bit ambitious aren't we?

Merge changes with upstream VirtualAGC

This repository contains both the AGC source code for the Apollo 11 Lunar Module (Luminary099) and Command Module (Comanche055). Both AGC versions have a similar program structure, but the programs are not identical. As an example, the file P20-P25.s in this repository is from Comanche055, but the file P20-P25.s for Luminary099 is missing. If you compare the two files:

Comanche055: http://www.ibiblio.org/apollo/listings/Comanche055/P20-P25.agc.html
Luminary099: http://www.ibiblio.org/apollo/listings/Luminary099/P20-P25.agc.html

you will easily find many differences.

Rewrite in Rust

Would this project be interested in moving to Rust? It's the perfect language for such a mission critical software.

Fork as community effort?

The original project does not seem to be actively maintained by its creators. I could not find any indication of the code being used or updated since 1972. (Ok, some people doubt that it has ever been used, since the whole thing was staged.)

May I suggest that we fork the project as a community effort? Maybe we can get it back up and running.

Missing Dockerfile

Hi,

I'd like to be able to land apollo-11 on my dev machine, or even autoscale it in production. Docker would really help with that. What would it take to run Apollo-11 in a container?

Do not select P01 during flight 8.x

Problem/Motivation

Margaret Hamilton's daughter was playing in the simulator command module and somehow ran the P01 prelaunch program during simulated flight and crashed the entire system.

Proposed resolution

Add error handling and validation because humans make mistakes and lie #9. Although this issue was brought to the attention of higher ups at NASA, astronaut Jim Lovell selected P01 in flight during the Apollo 8 mission crashing the entire system.

While we are adding error handling we should also implement asynchronous programming and priority scheduling to prevent the system from crashing during mission critical tasks.

Better UI Requested by Users

Our users have stated they would like a new UI. Our UI designers have looked into this request and have made a mockup.

Feedback is required before implementing.

Requesting budgie-desktop port

Can we have budgie-desktop ported for the project? it also have Raven Sidebar . Tha means more wings to help it fly to the outerspace while reducing fuel consumption. Thanks

Python fork

I hereby request help with creating a Python fork to run this on a Raspberry Pi 2... Maybe a Raspberry Pi 3.

Commits with valid authors and dates...

Just curious, is it possible to try and approximate the original authors and commit dates using things like GIT_AUTHOR_NAME and so forth. And possibly using tags to note how the code looked at each launch. I'm not clear on what data on this might be available.

Implement an MVC library for UX

Currently, I feel some interactions are not properly separated from their underlying datastructure. Maybe use React & Flux?

We could at least render templates server-side, if any updates are included just create a tutorial balloon above the input element for the pilots.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.