BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...
I really wish we can do an AMA with these two, > # THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES. I had to look this up, NOTA BENE is latin for, observe carefully or take special notice
Apollo 11 Guidance Computer source code
41–50 of 150 posts
Re: Apollo 11 Guidance Computer source code
#42BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...
Did you notice the date: > # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 > # 16:27 JULY 14, 1969 Likely the printing date but I envisioned the last minute all-nighters right away.
Re: Apollo 11 Guidance Computer source code
#43BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...
## At the get-together of the AGC developers celebrating the 40th anniversary
## of the first moonwalk, Don Eyles (one of the authors of this routine along
## with Peter Adler) has related to us a little interesting history behind the
## naming of the routine.
##
## It traces back to 1965 and the Los Angeles riots, and was inspired
## by disc jockey extraordinaire and radio station owner Magnificent Montague.
## Magnificent Montague used the phrase "Burn, baby! BURN!" when spinning the
## hottest new records. Magnificent Montague was the charismatic voice of
## soul music in Chicago, New York, and Los Angeles from the mid-1950s to
## the mid-1960s.
[1] https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...
Re: Apollo 11 Guidance Computer source code
#44people could've really used a higher-level language compiling to optimized AGC(apollo computer) assembly. Is there any reason why they didn't develop one? It seems it would've helped tremendously with the productivity and verification (and a lot of the explanations and equations would be readable as code, not as an non-executed comment)
> Is there any reason why they didn't develop one?
“Now you have two problems.”Edit: OK, maybe that deserves explanation. First, an optimizing compiler is a much bigger project than the AGC code. Second, current optimization techniques didn't exist in 1969, even assuming NASA had enough budget for machine(s) to run them. Third, you need to verify the binary anyway, and small source changes (in either the guidance code or the compiler) can lead to large binary changes.
Re: Apollo 11 Guidance Computer source code
#45Other than gaining satisfaction from the historical importance of this code is there any conceivable way we can get some use of it - like try it out. Even setting that aside, what is it I'm looking at? Assembly?
I made some art out of it ( http://codeposters.io ) and have it on my walls now.
Re: Apollo 11 Guidance Computer source code
#46If this were to be rewritten in a high level language, I wonder what would it look like?
import apollo_eleven
craft = apollo_eleven.apollo_eleven()
try:
craft.launch_mission(debug=False)
except:
print("Houston we have a problem")Re: Apollo 11 Guidance Computer source code
#47If this were to be rewritten in a high level language, I wonder what would it look like?
Re: Apollo 11 Guidance Computer source code
#48Re: Apollo 11 Guidance Computer source code
#49people could've really used a higher-level language compiling to optimized AGC(apollo computer) assembly. Is there any reason why they didn't develop one? It seems it would've helped tremendously with the productivity and verification (and a lot of the explanations and equations would be readable as code, not as an non-executed comment)
Remember also that memory was at a terrific premium. I don't have any specific knowledge about the AGC, but there's an interesting story I read once about a memory shortage in another project - Intel's 8080.
(If you'll permit me an OT digression...)
As the story goes, the program space was so tight in the original microcode for the Intel 8080 microprocessor there wasn't room to spare for a one-byte constant in the code! The architects decided that the AAM and AAD instructions in the 8080 set should have a required operand - 0x0A or 10 - so that the instruction could refer to itself and know that you were operating in base 10!
A side effect of this is that the Intel processors could actually execute AAM and AAD instructions in number bases besides 10; Intel had never formally acknowledged that the instructions do this, and so in the NEC V20 or V30 chips - which were supposed to be Intel compatible - you couldn't change the AAM or AAD operand - it had to be 0x0A.
Re: Apollo 11 Guidance Computer source code
#5016-bit wordlength
2048 words of RAM (4k 'bytes'/octets) using magnets?!
36,864 words of ROM
Ok this is a actually a really interesting read: https://en.wikipedia.org/wiki/Apollo_Guidance_Computer