I asked my father to tell me about how they went about programming the guidance systems for Apollo. I already knew that a lot of it was done by punch cards. Punch cards look a lot like the voting systems in Florida, so think of them like the original hanging chads, and we all remember hanging chads right?
Punch cards were actually just the data entry tool that was used before keyboards. Each punch card had 80 columns that contained 10 numbers (0-9) and 2 over punches. With these numbers you could create a number, letter or special character. So each column was a single number or letter i.e. a single keystroke on a keyboard. Fortunately, they didn’t have to punch the cards by hand (no hanging chads this way), they had key punch machines that they could use to punch out each column. So each card could contain 80 keystrokes. But wait, that’s not all, after you punch out all your cards to make up the code you want to write, you want to make sure everything is correct. So you would put the cards through a punch card printer, which would then print out the card data, on large sheets of green continuous feed paper. You could then review what you created on your cards. Of course, we know that programmers always write code correctly the first time, so no need to go back and re-punch any cards or print out again and validate. So, once you have all the cards just the way you want them, you would then put them in a punch card reader with some control cards which would tell the general computer what you were doing and where to put it. It would call up the YUL assembler which was specially written to take source code and produce Apollo Guidance Code (AGC). Of course, you actually do all this on a simulator first, which you would run many many times before actually getting it onto the AGC computer.
And yes, I am sure 52 card pickup was a popular prank!
The Instrumentation Lab developed the assembler language & interpreter that handled the Apollo guidance systems.
In a previous post I talked about an Astronaut error. The astronauts used a control panel where they could call up actions and programs through a panel. I am over simplifying, but they had a button for Verbs, Nouns and Programs\Actions and a corresponding manual with codes for each of these. So, if they wanted to “CHECK, FUEL, BoostEngine.” They would call up the appropriate program and then for example hit the verb button, enter code number (V21), enter noun button and enter code (N74), then enter program and enter the right program number (Poo). I just made you say POO!
I have fond memories of punch cards as my father always had stack of them in his back pocket and shirt pocket. Not only were they a programming tool, but they made great note paper.
I will forever be amazed at how we were able to put a man on the moon with the technology of the 60’s. FOREVER!