Skip to navigation

Elite on the BBC Micro

Different releases [Master version]

This site contains the source code for two different releases of the BBC Master version of Elite:

  • The official Acornsoft SNG47 release, which was the first appearance of BBC Master Elite, and the one included on all subsequent discs (such as the Superior Software discs)
  • The release for the Master Compact

See below for comprehensive details of the differences between the releases, along with links to the relevant bits of the source code.

All these differences are implemented within the source code using BeebAsm IF statements, which determine which release is compiled. These IF statements check the values of the relevant source code variables (_SNG47 and _COMPACT), which are themselves set by parameters to the build command (such as release=compact). See the associated repository for more about building different releases from the source.

To play Elite with an SSD disc image, load the disc image into drive 0 and press SHIFT-BREAK

The official Acornsoft SNG47 release
------------------------------------

The SNG47 Acornsoft release was the first official release of BBC Master Elite.

Default build in repositoryYes
Official releaseAcornsoft SNG47 v1.0
Build command parameterrelease=sng47 (optional)
Source code variable_SNG47
Download SSD disc imageOriginal (already flicker-free)
Play this version onlineOriginal (already flicker-free)

The Master Compact release
--------------------------

The Superior Software release for the Master Compact is essentially BBC Master Elite, just tweaked for the Compact's digital joystick and ADFS disc drive.

Default build in repositoryNo
Official releaseSuperior Software
Build command parameterrelease=compact
Source code variable_COMPACT
Download SSD disc imageOriginal (already flicker-free)
Play this version onlineOriginal (already flicker-free)

It has the following features that differentiate it from the other releases:

  • Support for the Compact's digital joystick (see DOKEY, DJOY, IRQ1, RDJOY, RDFIRE, TITLE, TT17, TT17X)
  • Support for ADFS instead of DFS, including asking for a directory rather than a drive number (see CATS, CTLI, DELI, DELT, DIRI, GTDIR, LDLI, LOAD, SAVE, SVLI, TKN1)
  • The contents of the ADFS disc catalogue wrap on-screen, rather than having a column removed from the middle, like the DFS catalogue (see CHPR)
  • SHIFT-n characters (where n is a numeric key) are valid in commander filenames, directory names, filenames for deletion, and system search (see MT26)
  • The NMI workspace needs to be claimed and released for ADFS (see NMI, NMICLAIM, NMIRELEASE)
  • The zero page swap workspace is different for ADFS than for DFS (see SAVEZP, SWAPZP, SWAPZP2)
  • The addresses of numerous workspace variables are different (see WP, ZP, DOEXP)
  • There is code to check whether this is a Master Compact (see Elite loader, MOS)
  • The Compact has a different keyboard to the Master, so the keyboard routines are different (see CTRLmc, DKS4mc, hyp, RETURN, SHIFT, TT18)
  • The main game binary is called ELITE rather than BCODE (see MESS2)
  • There are some other minor code differences, such as different label names or rolled-up routines (ECMOF, MSBAR, HANGER, SFRMIS, TTX66)