Fully documented source code for Aviator on the BBC Micro
---------------------------------------------------------

This site contains reconstructed source code for Aviator, Geoff Crammond's epic flight simulator for the BBC Micro, with every single line documented and (for the most part) explained.
My hope is that this site will be useful for those who want to learn more about Aviator and what makes it tick. It is provided on an educational and non-profit basis, with the aim of helping people appreciate the very first sim from this legend of gaming simulations.
Note that the code on this site is not Geoff Crammond's original source code, as that hasn't been released. Instead, it is a fully buildable source that's been lovingly reconstructed from a disassembly of the original game binaries, and which produces exactly identical game files. All the variable and routine names are my own invention, but the code itself matches the original source.
Suggestions for your visit
--------------------------
To start your journey into the secrets of Aviator, 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 Aviator works under the hood.
- 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.
- Jump straight to a random routine from the source code - who knows where you might end up? 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 darker theme for your Aviator explorations, you can change the site's colour scheme by clicking the icons in the top-right corner.
And finally, you may also be interested in my other projects, the fully documented source code for Elite on the BBC Micro and fully documented source code for Revs on the BBC Micro.
If you want to play with the code
---------------------------------
If you are interested in building a working copy of Aviator from the source, then there is an accompanying GitHub repository:
This repository can be assembled on modern computers to produce a working game disc that can be loaded into a BBC Micro or an emulator. If you want to experiment with the code, this is the place to go.
Chocks away!