Windsurf helps me navigate the Apollo 11 code base and the 1202 alarm
Things sometimes nicely come together.
While trying out Gemini’s capability to find YouTube Videos for me:
I watched a nice little movie by David Nunez: https://www.youtube.com/watch?v=YSwexZRLtU4 that provided a link to the Apollo 11 Source Code on GitHub — the original code used in the computer on board both the Lunar Module and the Command Module.
This code is written in AGC — assembly language, which was specifically designed for the Apollo Guidance Computer. Not a language I am familiar with obviously. However, I am curious to learn at least to some degree how it is organized and especially where that infamous 1202 alarm is triggered.
Fortunately I am currently trying out Windsurf. And one of the capabilities of this Agentic AI powered IDE is to explore a new code base. So can it help me surf this ancient code base and help me understand at least a little of it?
I clone the GitHub repo, opened the root folder in Windsurf IDE and started the exploration.
In some 25 seconds it came back with the following summary:
As an obvious next step: look at 1202. Where is it raised, why, how is it handled?
Another brief wait and Cascade has an answer for me — with code references and a little unprompted but nice historical context:
By simply clicking on the reference in Cascade’s answer I can quickly look up the associated code:
To get a little more feel for how AGC code works, I ask Cascade for an example — one involving altitude calculations:
It has to do a little digging around, then comes back with a nice example. Note that Cascade is helped tremendously by the ample documentation in this code base.
Using the Cascade agent in Windsurf proves a great way to get some hold on this very special code base. Even though AGC is far beyond me, I at least get a sense for how it is organized, at what level it operates and how some things are done.
The speed with which I gained this insight is almost insane. In less than 15 minutes I went from: “wow, the Apollo 11 code base is on line” to this last example of a clarified calculation in that same code base. Next I can start refactoring it ;-) .