Skip to navigation

Elite on the BBC Micro and NES

Compare code for features of Electron Elite

The following table shows code variations that are unique to the Electron version.

Click on a name to see all the code differences for that part of the codebase, or click on an individual variation to focus on that particular feature.

NameComments
DEATH
Start and end
  • The Electron version doesn't hide the dashboard when you die. This effect is implemented in the BBC versions by programming the 6845 CRTC, which isn't present on the Electron.
  • In the Electron version, the cargo canisters we see when we die always spawn at an x-coordinate of magnitude 32, so canisters appear on either side of the view but never in the centre. It's much more random in the other versions.
DELAY
Utility routines
  • In the BBC versions, delays are implemented by waiting for a specified number of vertical syncs. The Electron's video system is different, so it has its own dedicated delay routine that isn't based around the screen refresh, but instead wastes time using a convoluted loop-within-loop structure.
DIALS (Part 3 of 4)
Dashboard
DIALS (Part 4 of 4)
Dashboard
  • The Electron version doesn't include suns, so although there is a cabin temperature indicator in the dashboard, it never registers any temperature increases as the relevant code is missing.
DILX
Dashboard
DOEXP
Drawing ships
DOKEY
Keyboard
  • The Electron version doesn't read joystick values from the ADC channel in the main DOKEY routine, so although you can switch to a joystick using the "K" configuration option, it doesn't mean you can use it to fly your ship.
ESCAPE
Flight
FLIP
Stardust
Ghy
Flight
  • The wW routine is not called in the original Acornsoft release, so the length of the first tick of the galactic hyperspace countdown will depend on the current value of QQ22, which could be any value.
  • Galactic hyperspace does not work in the original Acornsoft variant, but if it did, the hyperspace counter would count down from 5, rather than 15 (this was changed to 15 in the fixed version to bring it in line with the other original versions).
  • Galactic hyperspace does not work in the original Acornsoft variant, but if it did, it would drop you at a randomly generated point in the new galaxy, rather than the closest system to galactic coordinates (96, 96), which is how all the other versions work.
HLOIN
Drawing lines
  • The Electron doesn't have a dedicated routine for drawing horizontal lines, unlike the other versions; instead, it just uses the normal line-drawing routine, and sets the y-coordinates to be the same.
hyp
Flight
  • Galactic hyperspace does not work in the original Acornsoft release as the game checks for a CAPS-LOCK-H keypress instead of CTRL-H, and this combination does not work properly.
Main flight loop (Part 1 of 16)
Main loop
  • Because the Electron only has two sound channels (one noise and one tone), each sound is allocated a minimum duration, during which time it can only be stopped by a higher priority sound coming along.
Main flight loop (Part 14 of 16)
Main loop
Main flight loop (Part 15 of 16)
Main loop
Main flight loop (Part 16 of 16)
Main loop
Main game loop (Part 2 of 6)
Main loop
  • As the Electron doesn't support witchspace, we always process ship spawning (the other versions skip the ship spawning logic when in witchspace, as the Thargoids are enough trouble without humans joining the fight).
MSBAR
Dashboard
  • The monochrome dashboard can't use colour to indicate the status of the missiles, so instead the Electron version uses four different bitmaps - black (no missile), white box (disarmed), black box in white square (armed), and black "T" in white square (armed and locked).
MV40
Moving
MVEIT (Part 6 of 9)
Moving
NO3
Sound
  • Because the Electron only has two sound channels (one noise and one tone), each sound is allocated a priority and a minimum duration, so higher priority sounds take predence over lower priority sounds, but only for their minimum duration.
nWq
Stardust
  • The Electron version has no witchspace, so the number of stardust particles shown is always the same, so the value is hard-coded rather than needing to use a location (which the other versions need so they can vary the number of particles when in witchspace).
PIXEL
Drawing pixels
  • Dots in the Electron version, such as those shown for stardust particles, are always two pixels wide, while the cassette and disc versions also support 1-pixel dots in their monochrome space views.
PLANET
Drawing planets
QQ18
Text
RES2
Start and end
SCAN
Dashboard
  • The dashboard in the Electron version might be monochrome, but it has a higher resolution than the colour versions, so the code to draw ships on the scanner varies accordingly.
SFX
Sound
SOLAR
Universe
STARS1
Stardust
  • The Electron version has no witchspace, so the number of stardust particles shown is always the same, so the value is hard-coded rather than needing to use a location (which the other versions need so they can vary the number of particles when in witchspace).
STARS2
Stardust
  • The Electron version has no witchspace, so the number of stardust particles shown is always the same, so the value is hard-coded rather than needing to use a location (which the other versions need so they can vary the number of particles when in witchspace).
STARS6
Stardust
  • The Electron version has no witchspace, so the number of stardust particles shown is always the same, so the value is hard-coded rather than needing to use a location (which the other versions need so they can vary the number of particles when in witchspace).
STATUS
Status
  • The Electron version shows the escape pod by name in the Status Mode screen (where it is shown as "Escape Capsule") but it doesn't show the large cargo bay; the Master version is similar (though it shows it as "Escape Pod"), while the other versions show the large cargo bay but don't show the escape pod at all.
TACTICS (Part 2 of 7)
Tactics
TACTICS (Part 5 of 7)
Tactics
TITLE
Start and end
  • As joysticks are not supported in the Electron version, it doesn't check for the joystick fire button being pressed during the "Press Fire Or Space,Commander." stage of the title screen.
TT16
Charts
  • The Electron has its own unique video system that is controlled by the custom ULA, so unlike the other versions, we don't wait for the vertical sync to prevent flicker.
TT17
Keyboard
  • Despite never reading the joystick values from the ADC channels, the Electron version still lets the joystick control the crosshairs on the chart views, if joysticks are configured. The result is an uncontrollable crosshair that moves of its own accord, so presumably this is a bug.
TT18
Flight
TT23
Charts
  • In the non-Electron versions, the same code is used to draw both the sun and the systems on the Short-range Chart. The Electron version doesn't include suns, so systems on the chart are drawn as dots rather than filled circles.
WARP
Flight