Skip to navigation

BBC Micro Elite

Ship blueprints in the disc version

How the disc version loads its ship blueprints into memory

When you launch from the space station in the disc version of Elite, there's an awful lot of disc activity - noticeably more than when you dock. This is because the flight code, once loaded, initiates a second load of the ship blueprints.

Unlike the 6502 Second Processor version, there is only room for around 12-13 ship blueprints at anyone time, and because there are 32 different ship types in the disc version, with 29 distinct designs, a compromise has to be made. That compromise comes in the form of 16 files, called D.MOA through D.MOP, each of which contains 11-14 ship blueprints that can fit into memory at any one time.

Here's a list of the files and what they contain:

#ShipABCDEFGHIJKLMNOPST
1Missile******************
2Coriolis**********
"Dodo*********
3Escape pod*****************
4Alloy plate*********
5Canister******************
6Boulder******
7Asteroid*********
8Splinter********
9Shuttle**
10Transporter**
11Cobra Mk III*************
12Python*****
13Boa***
14Anaconda**
15Rock hermit*********
16Viper******************
17Sidewinder***************
18Mamba***********
19Krait*************
20Adder*****
21Gecko********
22Cobra Mk I*******
23Worm***
24Cobra Mk III P******
25Asp Mk II***
26Python P***
27Fer-de-lance***
28Moray**
29Thargoid****
30Thargon****
31Constrictor**
32Elite logo*
33Cougar*

Notes:

  • Column S lists the ships available in the 6502 Second Processor version (i.e. all of them)
  • Column T lists the ships available in the cassette version (though note that they have different ship type numbers to the other versions)
  • The missile blueprint is always present in all versions (in the disc version, it lives above screen memory at location &7F00)
  • In the disc version, rock hermits (ship type 15) use the Asteroid blueprint
  • The two ships marked P are pirate versions of the Python and Cobra Mk III, which have their own blueprints with different attributes to the non-pirate versions

Given the table above, let's see how the disc version works out which one of these files to load when we launch from the station.

Chosing a file to load
----------------------

In most systems, the ship blueprints file that gets loaded is randomly chosen, but there are some rules around the range of files that can be picked, depending on the system we are in. The LSHIPS routine is the core loading routine, and it chooses a number between 0 and 15, converts that into a letter between A and P, and then loads the relevant blueprints file, from D.MOA to D.MOP.

Here are the rules for generating the number between 0 and 15:

  • If we are in the Constrictor's system in mission 1 (Orarra in the first galaxy), we always choose 6 (for file D.MOG), as that's the only file that contains the Constrictor blueprint
  • We now construct a number, as follows:
    • Bit 0:
      • 0 for systems with tech level 0-9 (so we always load the Coriolis station blueprint)
      • 1 for systems with tech level 10-14 (so we always load the Dodo station blueprint)
    • Bit 1:
      • 0 for dangerous systems (anarchy, feudal, multi-government)
      • 1 for all other, safer systems
    • Bit 2: random
    • Bit 3: random
    • Bits 4-7: 0
  • If mission 2 has started and we have picked up the plans, or we are in witchspace, we override this choice with D.MOC (low tech systems) or D.MOD (high tech systems), as these are the only two files containing Thargoids and Thargons

This means that, outside of the mission and witchspace overrides:

  • Low tech level systems load files A, C, E, G, I, K, M, O (which contain the Coriolis station)
    • Of which dangerous low tech systems load files A, E, I, M
    • Of which safer low tech systems load files C, G, K, O
  • High tech level systems load files B, D, F, H, J, L, N, P (which contain the Dodo station)
    • Of which dangerous high tech systems load files B, F, J, N
    • Of which safer high tech systems load files D, H, L, P
  • Dangerous system load files A, B, E, F, I, J, M, N
    • Of which dangerous low tech systems load files A, E, I, M
    • Of which dangerous high tech systems load files B, F, J, N
  • Safer system load files C, D, G, H, K, L, O, P
    • Of which safer low tech systems load files C, G, K, O
    • Of which safer high tech systems load files D, H, L, P

So now you know what all that extra chunka-chunka is about when you hit the launch button in the disc version.