Skip to navigation

Elite on the BBC Micro and NES

Acknowledgements

On this page you can find information on copyright, as well as the people whose work has made this project possible.

Copyright notices
-----------------

The following copyright notices apply to the contents of this site and the accompanying repositories.

  • BBC Micro Elite was written by Ian Bell and David Braben and is copyright © Acornsoft 1984.
  • Acorn Electron Elite was written by Ian Bell and David Braben and is copyright © Acornsoft 1984.
  • 6502 Second Processor Elite was written by Ian Bell and David Braben and is copyright © Acornsoft 1985.
  • BBC Master Elite was written by Ian Bell and David Braben and is copyright © Acornsoft 1986.
  • Elite-A was written by Angus Duggan, and is an extended version of the BBC Micro disc version of Elite; the extra code is copyright © Angus Duggan.
  • NES Elite was written by Ian Bell and David Braben and is copyright © D. Braben and I. Bell 1991/1992.
  • The commentary is copyright © Mark Moxon. Any misunderstandings or mistakes in the documentation are entirely my fault.

The code on this site is based on the following sources:

  • For the BBC Micro cassette and 6502 Second Processor versions, the code on this site is identical to the source discs released on Ian Bell's personal website (it's just been reformatted to be more readable).
  • For the Electron, BBC Micro disc, BBC Master and NES versions, the code on this site has been reconstructed from a disassembly of the original game binaries from the same site.
  • For Elite-A, the code on this site is identical to Angus Duggan's source discs (it's just been reformatted, and the label names have been changed to be consistent with the sources for the original BBC Micro disc version on which it is based).

A big thank you to the following
--------------------------------

Huge thanks are due to the following, without whom this project would simply not exist:

  • Ian Bell and David Braben, the original authors of Elite, for not only creating such an important piece of my childhood, but also for releasing the source code for us to play with.
  • Paul Brink for his annotated disassembly of the BBC Micro disc version's docked code and flight code.
  • Kieran Connell for his BeebAsm version, which I forked as the original basis for this project.
  • Angus Duggan for sending me his Elite-A source discs and giving me permission to analyse his code.
  • Christian Pinder for lots of expertise from the coalface of Elite disassembly, and for Elite: The New Kind, whose source helped me out on more than one occasion.
  • Chris Jordan for help and feedback on all sorts of Elite-related matters.
  • Kroc Camen for his excellent Elite Harmless project, which is an invaluable resource when working with the Commodore 64 version of Elite.

You can find out more in the about this project page.

Also, thank you to everyone who has written in with comments, and particularly these kind souls who spotted things that I missed or explained things I didn't understand:

  • Mike Standing for pointing out the hidden message in the disc version's loader, where the authors ask "Does your mother know you do this?" - I can't believe I missed that one! Thanks Mike.
  • TobyLobster for discovering a bug in the LOIN routine in the original versions of Elite, where some lines omit the pixel from the wrong end of the line; and for help in working out the FAROF2 algorithm in the NES version. Thanks Toby! (Incidentally, if you enjoy high-quality BBC Micro disassemblies, I highly recommend Toby's Manic Miner 2021 and Jet Set Willy 2021 projects; they are simply brilliant.)
  • SteveF for pointing out a mistake in the BBC Master memory map, where I'd got my MOS ROM addresses mixed up. Thank you, Steve.
  • Michael Fairbank for spotting a really neat way to speed up circle drawing in Teletext Elite, and for his analysis into ellipses, craters, meridians and equators and the loading screen's Saturn. Thanks Michael.
  • Chris Evans for help tracking down a really gnarly bug in Teletext Elite (and also for the awesome beebjit emulator, which I've found particularly useful when analysing the original releases of all the games I've disassembled). Thank you, Chris.
  • Stardot user haerfest for explaining the Electron's IRQ1 routine properly (which I hadn't!), and for spotting that it clears all interrupts, not just the RTC. Thanks haerfest.
  • Timothy Muller for spotting a number of incorrect cargo capacity figures in the original Elite-A encyclopedia, and for sending me the correct values to add to the bug fix release of Elite-A. Thank you, Timothy.

  • Peter Mackay for suggesting a much cleaner build process for NES Elite that removes the need to declare cross-bank label addresses in the common variables source. Thanks Peter.

Thanks to everyone who has contributed.

A note on licences, copyright etc.
----------------------------------

This site and the accompanying repositories are not provided with a licence, and there is intentionally no LICENSE file provided in the repositories.

According to GitHub's licensing documentation, this means that "the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work".

The reason for this is that my commentary is intertwined with the original Elite source code, and the original source code is copyright. The whole site is therefore covered by default copyright law, to ensure that this copyright is respected.

Under GitHub's rules, you have the right to read and fork the repositories... but that's it. No other use is permitted, I'm afraid.

My hope is that the educational and non-profit intentions of this repository will enable it to stay hosted and available, but the original copyright holders do have the right to ask for it to be taken down, in which case I will comply without hesitation. I do hope, though, that along with the various other disassemblies and commentaries of this source, it will remain viable.