Skip to navigation

Elite on the BBC Micro

Quick start guide

Welcome to the fully documented source code for the classic space game Elite on the BBC Micro and Acorn Electron. Here's a quick summary of what you'll find on this site, whether you're looking to read about Elite and how it works, or you're just keen to get stuck into the source code.

Finding out how Elite works
---------------------------

Exploring the source code
-------------------------

  • See the map of the source code for an overview of the program structure for the BBC Micro cassette version. You can dive straight into the source code from here - just click on the routine names and away you go.
  • Read the notes on terminology used in this commentary, as without this it might be a bit tricky to follow the comments (in particular, you should understand the terminology I use for multi-byte numbers).
  • You can explore the source code in two different ways. The easiest way is with each routine shown individually, which is what you'll see if you click the links from the map of the source code. These pages are small and easy to navigate in a browser. For example, the main game code starts at routine TT170, while the 3D scanner code is in SCAN.
  • The other way is to explore the original source code file structure, as shown in the map of the source code. The original source files are pretty big and can be a bit unwieldy, but they do show the routines in their original context. For example, the source code for the cassette version splits into the following files:
  • The BBC Micro disc, 6502 Second Processor and BBC Master versions have even more source files than the cassette version, while the Electron version has the same number. See the page on building Elite from the source for more about the original source file structure.
  • You can flip between the two ways of looking at the source code using the "View in context" and "View individually" links in the header of each routine. For example, here is TT170 shown individually, and here's the same routine in context as part of the Elite F file.
  • When viewing the source code, you can click on variable and routine names to see more information in a popup. The source code also has syntax highlighting.
  • If you're interested in comparing the code for the different versions of Elite, you can find out how to do this in the section on how to compare the different versions of Elite.
  • Important routines are flagged with a "*" in the site menu.
  • The entry point for the main game code is routine TT170. If you want to follow the program flow all the way from the title screen around the main game loop, then there's a deep dive on program flow that has you covered.

Finding your way around
-----------------------

Other helpful hints
-------------------

I hope you enjoy exploring the inner workings of Elite as much as I have.