Fully documented source code for Elite on the BBC Micro and NES
This site contains the original 1984 source code for the classic space game Elite, with every single line documented and (for the most part) explained.
You can read over 100 deep dives into how Elite weaves its magic, and explore a collection of modern Elite hacks that take the game to a new level. Check out the quick start guide for more suggestions.
The following versions of Elite are covered:
- The original BBC Micro cassette version
- The enhanced BBC Micro disc version
- The super-fast 6502 Second Processor version
- The flicker-free BBC Master version
- The cut-down Acorn Electron version
- The "impossible" Nintendo Entertainment System (NES) version
- Angus Duggan's Elite-A, the epic extended version of the original game
Note that the source code has only been released for the BBC Micro cassette and 6502 Second Processor versions, so some of the code in the other versions has been reconstructed by hand from a disassembly of the original game binaries (but most of it is still the original 1980s source).
Elite was written by Ian Bell and David Braben, and was published by Acornsoft (for the Acorn market) and Imagineer (for the NES). The original sources were released some time ago by Ian Bell on his personal website.
My hope is that this site will be useful for those who want to learn more about Elite and what makes it tick. It is provided on an educational and non-profit basis, with the aim of helping people appreciate one of the most iconic games of the 8-bit era.
Suggestions for your visit
--------------------------
To start your journey into the secrets of Elite, you might like to try the following:
- See the quick start guide to find out how to use this site.
- Read more about this project and how it came to be.
- Check out the deep dive articles for lots of details about how Elite works under the hood.
- Explore Elite hacks like the Elite Compendium, the Elite Universe Editor, flicker-free Elite and Teletext Elite.
- Dive straight into the source code, though you might want to read these notes first, which explain some of the terminology used in the commentary.
- Dig really deep and compare the code for the different versions of Acornsoft Elite.
- Play Elite in your browser or emulator, and discover why it is regarded as such a masterpiece.
- Jump straight to a random routine from the source code - who knows where you might end up? (Hopefully not in witchspace...) You can also click the ∞ at the top of the page to keep jumping through the source code; it's a good way to explore.
If you prefer a lighter theme for your Elite explorations, you can change the site's colour scheme by clicking the icons in the top-right corner.
If you want to play with the code
---------------------------------
If you are interested in building a working copy of Elite from the source, then you'll enjoy exploring the accompanying GitHub repositories, each of which contains fully commented and buildable source code for a specific version of Elite:
- BBC Micro cassette version
- BBC Micro disc version
- 6502 Second Processor version
- BBC Master version
- Acorn Electron version
- NES version
- Elite-A
These repositories can be assembled on modern computers to produce working game discs that can be loaded into a BBC Micro, an Acorn Electron, a NES or an emulator. If you want to experiment with the code, this is the place to go.
Similar projects
----------------
And finally, you may also be interested in my other software archaeology projects:
- Fully documented source code for Revs on the BBC Micro
- Fully documented source code for Aviator on the BBC Micro
- Fully documented source code for Lander on the Acorn Archimedes
Right on, Commanders!