MarkMoxon
Anyway, I have reworded every reference to books in the commentary so they now contain the full title and author list, so hopefully people will be able to find the relevant tomes. I've also linked to the books from my "useful links" page in a more prominent manner:
https://elite.bbcelite.com/about_site/useful_links.html
I hope that helps!
Here’s a timeline of the project so far:
https://elite.bbcelite.com/about_site/site_history.html
I’m sure it will keep growing, there’s always something more to write about…
It’s the retro equivalent of discovering that if you like the Beatles, you’ll probably like the Stones, The Who and Pink Floyd. :-)
https://elite.bbcelite.com/about_site/to-do_list.html
This is not a big list, and these are all pretty subtle aspects of the game. After 4 years of analysis, I think we’re pretty close to understanding pretty much everything, which is nice.
Besides, I’ve published PDFs of my travel writing sites, and the thought of trying to keep a code repository, a website and a PDF in sync fills me with dread…
Websites are ethereal, in a sense, as they are easy to switch off and hard to copy and distribute. PDFs and books are the opposite. Sure, websites get archived and repos get forked, but I think PDFs and books fall into a different area.
I run these projects very cautiously and very carefully. I don't think publishing a book or PDF containing copyright material is a good idea in this instance, to be honest!
Also, books can't be updated, and I update this stuff all the time...
https://elite.bbcelite.com/about_site/about_this_project.htm...
Some parts of Elite were documented prior to my project, particularly the procedural generation and ship data blocks. But none of it was documented to this level; it's taken time, lots of it!
I love this game, and I figured it deserved a proper homage. Or, to put it another way, this is a labour of love. :-)
You can use a search engine to find it.
If so, I haven't documented the fast loader as it's not really a feature of Elite, but I think the NOPs there are for timing when talking to the CIA1. The fast loader is documented in the Elite Harmless project, here, which might help:
https://github.com/Kroc/elite-harmless/blob/kroc/src/boot/gm...
The long string of NOPs in the elite-firebird.asm source are padding to ensure the vector overrides align with the correct addresses, as described in the commentary.
Most other NOPs are commenting out the checksums if that feature is disabled by the build; again, they should be explained in situ.
If you're wondering about any others, I'd be happy to explain!
The mission-related ship is the Constrictor, which you only bump into at the end of that mission.
Obligatory link: https://elite.bbcelite.com/deep_dives/the_constrictor_missio...
And it's got a cloaking device so it doesn't appear on your scanner.
Anyone who has genuinely seen one of these in-game is a really lucky commander!
Lots of details here:
https://elite.bbcelite.com/deep_dives/the_elusive_cougar.htm...
I have copyright content out there in the world (including the commentary aspects of this project), and I'd want to be able to control what happens to that too. Seems fair to me.
This is why check 3 is omitted from later versions of Elite, including the C64 version; it isn't needed.
Lots of information on the docking checks here:
https://elite.bbcelite.com/deep_dives/docking_checks.html
Besides, is this a bug or a feature? Elite lore says that machine intelligence is banned in the galaxy, so I like to think of this as fitting in with that. Docking computers can kill you in Elite - and it's the same in Elite Dangerous. :-)
Incidentally, the fully buildable Lander source code in the website's accompanying git repository is also in BBC BASIC format - as an attempt to imagine what the original source might have looked like.
A Python script converts it to vasm-compatible format for compiling, but you can also build it on a real Archimedes if you want to. See https://lander.bbcelite.com/about_site/building_lander.html for details.
I still think it's a harsh term, especially when Lander has features that Zarch doesn't, and a really different atmosphere.
Ah well, me and Lander will be hovering here in the corner, throwing rocks at Zarch and all its fancy features. ;-)
It's also a lot more relaxing to play. There's nothing more chill than flying over the bucolic landscape of Lander - no aliens or viruses in this version!
I’ve written a deep dive on how it works, here:
https://lander.bbcelite.com/deep_dives/generating_the_landsc...
It’s basically a Fourier analysis. Very, very clever!
You can see the configuration variables here:
https://lander.bbcelite.com/source/all/workspaces.html
I’ll probably add more scaling information as I do the deep dives.
And now I post that I see that I have failed to link to this file from the left nav, which won’t have helped! So I’ll sort that out…
https://lander.bbcelite.com/source/main/subroutine/drawobjec...
and they are drawn here:
https://lander.bbcelite.com/source/main/subroutine/drawobjec...
The shadow is a very simple projection straight down onto the landscape, which isn’t totally accurate, but it’s quick and easy and looks good enough. The shadow doesn’t drape over the shape of the landscape, and the ship shadow appears on the ground beneath objects rather than on top of them, but you don’t really notice.
Lovely, simple, effective code. Much like the rest of Lander, really!
That makes Lander first ever ARM game, and probably the only game ever written for the ARM1.
The core of the 1991 NES version (around 30% of the 128K ROM) is essentially the 1986 BBC Master version, which itself is a development of the original BBC Micro version from 1984. The Commodore 64 and Apple II versions are also cut from the same cloth (and they were developed on a BBC Micro, too).
Most of the code in banks 0, 1 and 2 is directly copied from the original BBC version, with a bit more in bank 7. There are new graphics, sound and controller routines bolted on the front, but the beating heart is still the Beeb version...
My greatest published achievements technically would have to be fitting BBC Cassette "Elite" into 32K of RAM including the screen, and later the Nintendo Entertainment System conversion of "Elite" that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it.
See http://www.elitehomepage.org/archive/b5081501.htm for the full interviewI interpret this as meaning his favourite version is the BBC Micro cassette version, while his favourite conversion is the NES one. But I'm a BBC fanboy, so that might just be me being hopeful. :-)