This site contains the source code for two different variants of the BBC Master version of Elite:
- The variant on the official Acornsoft SNG47 release, which was the first appearance of BBC Master Elite, and the variant included on all subsequent discs (such as the Superior Software discs)
- The variant that was released for the Master Compact by Superior Software
See below for comprehensive details of the differences between the variants, 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 variant 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 variant=compact). See the associated repository for more about building different variants 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 Acornsoft SNG47 release was the first official release of BBC Master Elite.
Default build in repository | Yes |
Product details | Acornsoft SNG47 |
Date | 1986 |
Build command parameter | variant=sng47 (optional) |
Source code variable | _SNG47 |
Verification checksums (crc32) | See the GitHub repository |
Download SSD disc image | Original, Flicker-free planets |
Play this variant online | Original, Flicker-free planets |
The Master Compact release
--------------------------
The Superior Software variant for the Master Compact is essentially BBC Master Elite, just tweaked for the Compact's digital joystick and ADFS disc drive.
Default build in repository | No |
Product details | Superior Software |
Date | 1987 |
Build command parameter | variant=compact |
Source code variable | _COMPACT |
Verification checksums (crc32) | See the GitHub repository |
Download SSD disc image (for DFS) | Original, Flicker-free planets |
Download ADL disc image (for ADFS) | Original, Flicker-free planets |
Play this variant online | Original, Flicker-free planets |
It has the following features that differentiate it from the other variants:
- 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, lodosc, rfile, savosc, TKN1, wfile)
- 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 getzp, setzp, SWAPPZERO)
- 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)