3
$\begingroup$

Answers to Given small computational resources how navigation was implemented ( Not Samples of old guidance software) are excellent. I was stunned to see an article mentioning 65KB was used to navigate a probe to Venus back in the 70's. As the answer showed, the navigation was being computed on Earth and only the guidance system to change course from Earth was on the space craft itself.

In this question I'd like to ask for samples of old guidance software using computational resources on Earth implementing navigation in space, which do not contain the extreme measures to "compactify" functions into tiny spacecraft computers.

$\endgroup$
  • 1
    $\begingroup$ @uhoh you or anyone is welcome to change my posts to the most suitable form possible. I knew about not changing after getting the right answer to my wrong question but somebody requested me to update the post to reflect the correct question , now I am stuck with leaving something in the wrong state or breaking the convention. I am neither happy now unhappy about either choice. May the moderators go ahead and fix the both of my posts. $\endgroup$ – Arjang Oct 16 '19 at 4:20
  • $\begingroup$ Oh, I didn't realize you were asked to make the update, In that case (in coordination with an answer author) it's usually fine; no problem. Okay, carry on... ;-) $\endgroup$ – uhoh Oct 16 '19 at 6:44
  • $\begingroup$ May I suggest you define what you mean by "old"? Is code from the 90's old enough? $\endgroup$ – Mefitico Oct 16 '19 at 13:45
  • $\begingroup$ @Mefitico : hell no, 70's the latest. but it is no longer important for me as the reason was to see how they did navigation with 65kb memory, but in general the code for interplanetary missions should be in a museum, these a days I wouldn't be surprised if the code for mars missions ended up on github. $\endgroup$ – Arjang Oct 17 '19 at 9:04
  • $\begingroup$ @Arjang: Maybe on a private GitHub repo, but I would doubt such code would be available in a public repository, as usually this kind of code is produced by contractors that want to keep their intellectual property. Also, it very often contains libraries or legacy code parts which are not free or do not belong to the software integrator. $\endgroup$ – Mefitico Oct 17 '19 at 13:30
3
$\begingroup$

I doubt such code exists, intact. The code you are asking for, 1970s or earlier, was written in FORTRAN IV (or earlier), and was highly tuned to work efficiently on one type of computer, specifically, the type of computer the developers of said software happened to use. FORTRAN IV code is in ALL_CAPS and is (nearly) flush left, nearly because columns 1 to 5 are for statement labels and column 6 is for indicating continuation lines. Code starts in column 7 and ends in column 72. Identifiers are no more than 6 characters long. And the code is chock full of gotos.

What you can find is bits and pieces of that code in the form of the Basic Linear Algebra Subpgrams (BLAS) and its follow-ons LINPACK (acronym unknown to me) and LAPACK (Linear Algebra PACKage). Development of LAPACK continues to this day. The reference LAPACK (not tuned for a specific computer) is now hosted at github. If you go to that repo, the first subdirectory you'll see is BLAS. This is a somewhat modernized version of BLAS, mostly despaghettified and indented but still gloriously in ALL_CAPS.

While LAPACK was written in the 1980s, the origins of BLAS date back to the 1960s, with much of the development effort performed by people at the Jet Propulsion Laboratory to support orbit determination. Charles Lawson, Richard Hanson, Fred Krugh, and others (most of them at JPL) worked on this software. Highly modified versions of the orbit determination software they wrote might well still exist at JPL. Slightly modified versions of the mathematical software they wrote is widely dispersed in the form of the reference BLAS, which is publicly available.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.