Great to see the AGC assembly code and knowing that Apollo 11 is coded purely in assembly. Not sure if it has any compiler. Also found https://github.com/virtualagc/virtualagc while searching for compiler.
The purpose of this project is to provide the original flight software and emulations of the onboard guidance computers flown in historical spacecraft, so that the flight software can be run on computers commonly available to the public today. The particular emphasis is on the Apollo Guidance Computer (AGC) flown in lunar missions in the 1960's and 1970's.
Damn, a control panel to input values, probably straight to the CPU. I guess the astronauts didn't have to learn assembly, but imagine a programmer having to recite all the raw code (I guess the commands (verbs) are numeric as well) to debug something, all the way at the moon.
Strange that no one took the effort to fix yaYUL to read the YUL format, but instead of adapting the transcription of the source to match the 'quirks' of yaYUL.
Well, I have no idea how complete this is, but perhaps a neat Christmas-time-project for anyone with seemingly unlimited tokens to take this and let it build up a simulator, using the real code to drive simulated machinery.
The real problem with it turned out to be that while the software is complete it expected data to be provided from both the crew and the ground at different points in the mission. Without this external data (and more importantly, the procedures and processes that generated it) the software is really just a very obtuse desk clock.
Actually making use of the software required years of extra work in document archaeology and reverse engineering the processes and constraints that generated the data used during the flights.
This is such an interesting peek into the engineering of these sort of systems with very constrained resources at the time. Like any random file you open contains little pragmatic design decisions like this
# THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF
# A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15
# DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH. THEREFORE THE TIME
# INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL.
Orion on Artemis has a bunch of really cool stuff like redundant computers but it's certainly jarring to go from Verbs and Nouns of Apollo to seeing them tapping on screens with a GUI
33 comments
[ 7.1 ms ] story [ 56.1 ms ] threadMost significant discussion: https://news.ycombinator.com/item?id=12048945, 652 points, 145 comments on July 7, 2016
All previous submissions: https://news.ycombinator.com/from?site=github.com/chrislgarr...
Original scans (featuring Margaret Hamilton!)
https://28gpc.csb.app/
The Virtual AGC Project Spaceborne Computer Systems
https://www.ibiblio.org/apollo/
The purpose of this project is to provide the original flight software and emulations of the onboard guidance computers flown in historical spacecraft, so that the flight software can be run on computers commonly available to the public today. The particular emphasis is on the Apollo Guidance Computer (AGC) flown in lunar missions in the 1960's and 1970's.
Wikipedia on the hardware:
https://en.wikipedia.org/wiki/Apollo_Guidance_Computer
Damn, a control panel to input values, probably straight to the CPU. I guess the astronauts didn't have to learn assembly, but imagine a programmer having to recite all the raw code (I guess the commands (verbs) are numeric as well) to debug something, all the way at the moon.
Actually making use of the software required years of extra work in document archaeology and reverse engineering the processes and constraints that generated the data used during the flights.
https://youtube.com/playlist?list=PL-_93BVApb59FWrLZfdlisi_x...
https://github.com/chrislgarry/Apollo-11/blob/master/Comanch...
# THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF # A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15 # DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH. THEREFORE THE TIME # INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL.
Better be back home in 15 days! ;)
So yeah I'd like to see that lol
I feel like "BEWARE"... is, given the context, what we would now likely call "load-bearing"
(edit: formatting)`TC WHIMPER -1 # YES. DONT DO POODOO. DO BAILOUT.`
It's way easier to learn basics of 6502 or x86 assembly than to learn a new JavaScript framework from scratch.