Hacker News new | ask | show | jobs
by qingcharles 974 days ago
Is it just me that really wants to FOIA the firmware code to read it?

What is it written in? Assembler, surely?

What is the development toolchain like in 2023 for a 70s computer? Do they have an emulator? What happened to the spare development Voyager they had lying around?

4 comments

That has been done before. You can't get it as FOIA as it's not a government record.

https://www.muckrock.com/foi/united-states-of-america-10/voy...

"The spacecrafts’ original control and analysis software was written in Fortran 5 (later ported to Fortran 77). Some of the software is still in Fortran, though other pieces have now been ported to the somewhat more modern C."

"To keep the Voyager 1 and 2 crafts going, NASA's new hire has to know FORTRAN and assembly languages." - https://www.popularmechanics.com/space/a17991/voyager-1-voya...

Thank you! WTF, though? I've not done much work on federal FOIAs, though I'm a serial litigant under the Illinois FOIA.

It is crazy that the government can pay for something and yet the People do not own it.

Under Illinois FOIA, anything done under a contract to the State is FOIA-able as a record of the government body that ordered the work.

I'm 99% certain that the spacecraft computers were not programmed in Fortran. Several years ago, I investigated this meme for my own interest and all arrows seem to point back to this 2013 Wired article as the source (also referenced in your muckrock link): "Interstellar 8-Track: How Voyager's Vintage Tech Keeps Running" ( https://www.wired.com/2013/09/vintage-voyager-probes/ ) .

The 2013 article was based on an interview with the current (2013) Voyager project manager, who began working on the Voyager project in 1984, a few years after the 1977 launches.

First off, I'm guessing that project manager said "Fortran Five" (while thinking "Fortran V") and the writer wrote down "Fortran 5". The Wikipedia article for Fortran (which also references this Wired article, erroneously I think) says there was only one Fortran 5, introduced by Data General in the late 1970s. Other companies offered Fortran V.

Second, I think the key phrase in the quote is "control and analysis software". To me, this connotes the ground system: mission control and science data analysis. And Fortran was commonly used in ground processing and such code could be ported to Fortran 77 and later C.

The on-board spacecraft flight software would be another matter. Voyagers 1 and 2 were launched in 1977. I can't imagine trusting the flight software to newly introduced Fortran V compilers (or even a pre-release DG Fortran 5 compiler). And then switching compilers to Fortran 77 and then C. Possible, but IMHO, not likely.

I am open to being corrected. Regarding FOIAs, I had not thought of going to that extreme and, as your link to the muckrock request verifies, I had also learned that the papers were the property of Caltech, not NASA. Which is unfortunate as the documents and communications mentioned in the link below promise some fascinating reading just begging to be made available online!

I highly recommend reading "Computers in Spaceflight: The NASA Experience" at https://history.nasa.gov/computers/contents.html . (The author of the history did visit the JPL archives and was able to read a fascinating assortment of documents in hardcopy form.)

Chapter 6, "Distributed Computing On Board Voyager and Galileo" ( https://history.nasa.gov/computers/Ch6-2.html ), describes the Voyager computers in some detail. There were 3 computers:

(1) Command Computer Subsystem (CCS) - command processing/sequencing, etc. This computer was carried over from the Viking missions.

(2) Attitude Control System - used a revamped, beefed up CCS computer.

(3) Flight Data System - telemetry and science data handling/transmission. Because of the high data rates, a new computer was needed. A hardware engineer and a software developer collaborated on the design of the computer. Knowing the timing requirements, they developed the CPU's hardware and instruction set on the fly until the software (a changing mock-up I assume) could meet the requirements. (Some of this I might have read elsewhere.)

As I noted, what a treasure trove their memos and communications from this time would be if they were online!

You probably don't need a FOIA, you can try to just email them. They're scientists and engineers, the best thing in their day would be someone showing an unbidden interest.
Not Voyager but here’s code from the Apollo program: https://github.com/chrislgarry/Apollo-11/
Highly recommend 'Sunburst and Luminary: An Apollo Memoir' by Don Eyles who gives a programmer's perspective on the software aspects of Apollo. Some of which were fairly nail-biting, especially when they occurred in-flight.
Seconding this recommendation, it's a fascinating book.
They almost certainly upload every software patch to the dev Voyager and do an extended HITL test before they command a flight flash