A Tale of Two Sources: NASA vs. Braben & Bell

Two of the most famous pieces of space flight software are at opposite ends of many spectra: one is for actual real space-flight, one is a simulation; one is safety/life critical, one is a game; one has a wealth of in-line comments and one has absolutely none!

The two pieces of software in question are the guidance computer routines used by NASA in its Apollo missions and the game “Elite” for the BBC Model B.

Any self-respecting geek over a certain age will know about Elite. A game released for the BBC Micro computer in 1984, it quickly became one of the definitive releases for the platform. The game’s developers, Ian Bell & David Braben squeezed so much into the capabilities of the Beeb’s 6502-based 8 bit architecture that it illustrated what was possible and inspired a whole generation of computer programmers.

The two extremes of commenting style can be seen in the released source code – NASA initially made source code available in 2003 and in 2016 it was transcribed & uploaded to github, Ian Bell released the Elite source on his personal website in 2014.

NASA’s code for the Apollo Guidance Computer (AGC) used in the Lunar Module (LM) has a wealth of humorous & sarcastic comments and some apt procedure names like “BURN-BABY-BURN–MASTER_IGNITION_ROUTINE” 🙂

From Mark Moxon’s epic work in formatting & annotating the original Elite source code (released in 2014 on Ian Bell’s website) he shows just how that original code looked:

…sightly different to the beautifully laid out and (humorously) commented NASA code! Moxon exquisitely details the process he went through, building on the work of other avid BBC-assembler/Elite experts Paul Brink, Kieran Connell & Angus Duggan to get to his detailed annotated version.

The BBC Micro, based on the 8-bit 6502 CPU, was fairly similar in performance to the AGC, maybe slightly underpowered in comparison.

Bus Clock (MHz)1.0241
ROM (KB)2 x 3632
RAM (KB)2 x 232
Architecture (bits)16 (15+parity)8
NASA AGC vs, Acorn BBC Model B

Published by zedstarr

Chilled out human being, doing techy stuff.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: