Mark Moxon has published a very well-annotated disassembly of Bell and Braben’s Elite - the original version, for the 32k 2MHz BBC Micro from Acorn.
The source code is peppered with a number of “deep dives”, each of which goes into an aspect of the game in more detail. You find deep dives in the source files by simply searching for
For example you’ll see the explanation and usage of Marvin Minsky’s circle hack in the Deep dive: Rolling and pitching section. (You will need to open and search the source file manually: github’s search is not cooperating and won’t even show the main source file as it’s too large.)
See also some terminology introduced in the loader source:
There are, at time of writing, some 43 Deep Dive sections in the source.
There’s a discussion thread on stardot here, where Kroc Camen, author of the Commodore 64 disassembly of Elite, comes in to thank Mark and to take away from details for his own disassembly of the C64 version: Elite Harmless.
Mark’s disassembly starting point was Kieran Connell’s conversion of the original source to BeebASM. (There are so many assemblers in the land of 6502, BeebASM being a modern standalone open source portable assembler bringing some of the features of Acorn’s integrated assembler in BBC Basic.)
The original sources have long been published and available online on Ian Bell’s website, but they are terse in the extreme, because of the difficulty of assembling large projects on a small machine. There are even some compromises because some was originally written on Acorn’s Atom - even smaller and less featureful.