Here's a collection of links that I've found useful or interesting when working on this project.
General
-------
- Ian Bell's Elite site - The most important source for 8-bit Elite fans, quite literally, as without the original source discs released here, none of this would be possible; thank you for the wonderful gift, Ian!
- Ian Bell's handwritten dev docs - Fascinating relics from the actual development process of Elite
- Frontier Astro - If, like me, you don't own all the physical Elite versions but would love to, this is a wonderful resource
- Elite wiki classic articles - The Elite wiki gave me a head start on a number of topics and is a highly recommended read
- The alt.fan.elite FAQ - I've read this FAQ many times over the years, and although it contains a few errors, it's still a great read from the Usenet era
- Elite-A - Angus Duggan's Elite-A page, where you can find instructions and download links for his extended version of Elite
BBC Micro information and tools
-------------------------------
- BBC ASCII character set - I can't tell you how many times I've had to refer to this table when disassembling Elite; I probably should have just printed it out!
- BBC MOS disassembly - I found this particularly useful when trying to decipher keyboard translation tables and undocumented OS calls
- BBC memory map - When every single byte counts, as it does in Elite, a map is an essential part of the toolkit
- Hex and binary converter - Probably the web tool I used the most during this project, especially when converting numbers into binary
- The 76489 sound chip - I'm not sure I fully understand the sound chip in the Beeb, but this article really helps explain things
- Teletext page editor - A really useful tool for designing BBC Micro teletext screens, which I used to create the dashboard in Teletext Elite
Emulators
---------
- b2 - A Beeb emulator with brilliant debugging capabilities that happily works on the Mac, and which is now my go-to emulator for complex disassembly projects like this
- JSBeeb (BBC Micro) - An absolute tour-de-force from Matt Godbolt, this browser-based emulator is brilliant for testing Elite builds in all the variations of the BBC Micro and Master
- Using the JSBeeb debugger - A very useful tool when trying to work out what all those zero-page locations actually do
- BeebEm - An oldie but a goldie, and particularly useful for screenshots
- beebjit - The best BBC emulator for playing with disc protection on the original discs
- B-em - You can never have too many BBC Micro emulators, right?
Assemblers and disassemblers
----------------------------
- BeebAsm - The wonderful 6502 assembler that powers the versions that are documented on this site
- BeebDis - I found this super-useful for disassembling the disc, Master and Electron versions, for which the source discs are lost in time
- A BeebDis thread on Stardot - Some handy information for users of BeebDis
6502 Second Processor
---------------------
- 6502 Second Processor programming - A brilliant article about how the Tube works from the incomparable Tom Seddon
- Acorn's Tube application notes (PDF) - The best source of official Tube information, crammed full of details about the 6502 Second Processor
- The 6502 Second Processor boxed version - Rare as hen's teeth and very kindly archived by the owner, what a prize!
- Getting the 6502 Second Processor sources to compile - If you want to build 6502SP Elite from the original discs, you'll need to read this first
Universe in a bottle
--------------------
- Market prices in Acornsoft Elite - A really interesting blog post about trade prices in Elite
- Random number generator - A great article on the Elite wiki about the generation and use of the galaxy and system seeds
- Random number generation - This doesn't describe the algorithm in Elite, but it's still a great introduction to the topic
- Matt Godbolt on text tokens - I wish I'd read this before tackling the text token system, as it's a great read
Ships and 3D graphics
---------------------
- Classic Elite ships wireframe - A detailed introduction to ship data blocks and what all those bytes actually mean
- Yaw and pitch matrices - The heart of Elite's rotation mechanism, explained in matrix format
- Ian Bell's scribbled yaw/pitch calculations - The original matrix calculations from the handwritten cache of dev documents
- The small angle approximation - This hack is absolutely fundamental to squeezing the above maths into 8 bits
Other Elite disassemblies
-------------------------
- Elite for BeebAsm - Kieran Connell's original BeebAsm port, without which this project would never have cleared the first hurdle
- Original Stardot thread about Elite for BeebAsm - This is the thread I stumbled across during lockdown that started the whole thing
- Apple Elite disassembly - Brilliant work from Andy McFadden on the Apple II version, particularly in his analysis of the ship-drawing code
- Elite Harmless - A knockout project from Kroc Camen that's taking the C64 version and making it even better
- Elite: The New Kind source - For those of us disassembling Elite, Christian Pinder is a complete legend, and this is the reason why
6502 assembly code
------------------
- Online 6502 disassembler - A super-handy web-based disassembler that takes hex bytes and returns 6502 assembly code
- 6502 optimisations - Not all of these optimisations are used in Elite, but quite a few of them are
- Compare and branch logic - If, like me, you can never remember whether it should be a BCC or a BCS after a CMP, this will put you straight
- Multiply and divide in 6502 - A really good explanation of the kind of bit manipulation that Elite implements in its maths routines
- BIT hopping with EQUB &2C - An interesting thread on a technique that Elite uses quite a lot
Commodore 64
------------
- Elite Harmless - An epic disassembly of Commodore 64 Elite, with improvements; a very useful companion for exploring the Commodore 64 version
- Commodore 64 memory map - Essential information for anyone working with the Commodore 64 at machine level
- The 6510 processor port - An excellent explanation of the different memory configurations on the Commodore 64
- C64 Kernal API - The ultimate reference for the Commodore 64's kernal calls
Nintendo Entertainment System (NES)
-----------------------------------
- An Overview of NES Rendering - A great introduction to how the NES builds screens out of tiles
- Nintendo Entertainment System (NES) Architecture - A very approachable summary of the NES architecture
- Nerdy Nights - An excellent collection of tutorials on programming the NES
- NESdev wiki - An absolute goldmine for NES developers
- Mesen 2 - My preferred NES emulator for debugging and analysing code
- The Ian Bell Interview - Ian Bell's thoughts on NES Elite being his favourite published conversion
- Elite FAQ (answers from David Braben) - David Braben's thoughts on the best versions of Elite
- Elite music - Details of the various tunes used in NES Elite
- NES (Famicom) Development Kit Hardware - Information about the Programmers Development System (PDS) used to write NES Elite
The history of Elite
--------------------
- GDC classic game post-mortem - A fascinating romp through the development of Elite with co-author David Braben
- Right on Commander! - Probably my favourite article about the history of Elite, originally from Retro Gamer
- Elite (or, The Universe on 32K Per Day) - The Digital Antiquarian's excellent and very detailed article about the history of Elite
- Masters of their universe - A great article in The Guardian containing the bulk of the Elite section from Backroom Boys
- Elite on Wikipedia - A handy summary of what happened and when
- David Braben - A Life in Pixels - An interesting BAFTA interview with David Braben, in which he plays the original Elite
- Q&A: David Braben - from Elite to today - Another David Braben interview
- Rob Northen interview - A chat with the man behind the copy protection used in the original Elite
- The Platform and the Player: exploring the (hi)stories of Elite - An interesting academic paper about Elite
- The History of Elite: Space, the Endless Frontier - A cracking read, full of detail about how Elite fits into gaming history
- The Life of Pi - There's some interesting stuff about Elite in this interview with David Braben about the Raspberry Pi
Anaglyph 3D
-----------
- Calculating Stereo Pairs - A handy introduction to anaglyph 3D and parallax (though note that red and blue are a different way around to most anaglyph glasses)
- 3D in 3D: Rendering anaglyph stereographics in real time - A slideshow from the 2007 Game Developers Conference that explains eye spacing and skew
- Anaglyph 3D games on Moby Games - A list of all the anaglyph 3D games in the Moby Games database (it isn't very long!)