This index contains every variable that appears in the source code for the Commodore 64 version of Elite, grouped by category. A variable is defined as a labelled memory location that is used for storing data, and this list includes both variables that are defined in workspaces, and variables that are declared within the body of the source code.
- Drawing lines
- Drawing pixels
- Drawing ships
- Drawing the screen
- Equipment
- Keyboard
- Loader
- Market
- Maths (Arithmetic)
- Maths (Geometry)
- Missions
- Save and load
- Sound
- Sprites
- Status
- Text
- Universe
- Utility routines
- Workspace variables
Drawing lines
| |
LIJT1 | Addresses for modifying the low byte of the JMP instruction at LI71 to support the unrolled algorithm in part 3 of LOIN |
LIJT2 | Addresses for modifying the high byte of the JMP instruction at LI71 to support the unrolled algorithm in part 3 of LOIN |
LIJT3 | Addresses for modifying the low byte of the JMP instruction at LI72 to support the unrolled algorithm in part 3 of LOIN |
LIJT4 | Addresses for modifying the high byte of the JMP instruction at LI72 to support the unrolled algorithm in part 3 of LOIN |
LIJT5 | Addresses for modifying the low byte of the JMP instruction at LI91 to support the unrolled algorithm in part 4 of LOIN |
LIJT6 | Addresses for modifying the high byte of the JMP instruction at LI91 to support the unrolled algorithm in part 4 of LOIN |
LIJT7 | Addresses for modifying the low byte of the JMP instruction at LI92 to support the unrolled algorithm in part 4 of LOIN |
LIJT8 | Addresses for modifying the high byte of the JMP instruction at LI92 to support the unrolled algorithm in part 4 of LOIN |
LSX2 | The ball line heap for storing x-coordinates |
LSY2 | The ball line heap for storing y-coordinates |
sightcol | Colours for the crosshair sights on the different laser types |
TWFL | Ready-made character rows for the left end of a horizontal line in the space view |
TWFR | Ready-made character rows for the right end of a horizontal line in mode 4 |
Drawing pixels
| |
celllookh | Lookup table for converting a text y-coordinate to the high byte of the address of the start of the character row in screen RAM |
celllookl | Lookup table for converting a text y-coordinate to the low byte of the address of the start of the character row |
CTWOS | Ready-made double-pixel character row bytes for the dashboard |
CTWOS2 | Ready-made single-pixel character row bytes for multicolour bitmap mode |
DTWOS | An unused table of ready-made double-pixel character row bytes for the dashboard |
TWOS | Ready-made single-pixel character row bytes for mode 4 |
TWOS2 | Ready-made double-pixel character row bytes for mode 4 |
ylookuph | Lookup table for converting a pixel y-coordinate to the high byte of a screen address (within the 256-pixel-wide game screen) |
ylookupl | Lookup table for converting a pixel y-coordinate to the low byte of a screen address (within the 256-pixel-wide game screen) |
Drawing ships
| |
E% (Game data) | Ship blueprints default NEWB flags |
exlook | A table to shift X left by one place when X is 0 or 1 |
scacol | Ship colours on the scanner |
SHIP_ADDER (Game data) | Ship blueprint for an Adder |
SHIP_ANACONDA (Game data) | Ship blueprint for an Anaconda |
SHIP_ASP_MK_2 (Game data) | Ship blueprint for an Asp Mk II |
SHIP_ASTEROID (Game data) | Ship blueprint for an asteroid |
SHIP_BOA (Game data) | Ship blueprint for a Boa |
SHIP_BOULDER (Game data) | Ship blueprint for a boulder |
SHIP_CANISTER (Game data) | Ship blueprint for a cargo canister |
SHIP_COBRA_MK_1 (Game data) | Ship blueprint for a Cobra Mk I |
SHIP_COBRA_MK_3 (Game data) | Ship blueprint for a Cobra Mk III |
SHIP_COBRA_MK_3_P (Game data) | Ship blueprint for a Cobra Mk III (pirate) |
SHIP_CONSTRICTOR (Game data) | Ship blueprint for a Constrictor |
SHIP_CORIOLIS (Game data) | Ship blueprint for a Coriolis space station |
SHIP_COUGAR (Game data) | Ship blueprint for a Cougar |
SHIP_DODO (Game data) | Ship blueprint for a Dodecahedron ("Dodo") space station |
SHIP_ESCAPE_POD (Game data) | Ship blueprint for an escape pod |
SHIP_FER_DE_LANCE (Game data) | Ship blueprint for a Fer-de-Lance |
SHIP_GECKO (Game data) | Ship blueprint for a Gecko |
SHIP_KRAIT (Game data) | Ship blueprint for a Krait |
SHIP_MAMBA (Game data) | Ship blueprint for a Mamba |
SHIP_MISSILE (Game data) | Ship blueprint for a missile |
SHIP_MORAY (Game data) | Ship blueprint for a Moray |
SHIP_PLATE (Game data) | Ship blueprint for an alloy plate |
SHIP_PYTHON (Game data) | Ship blueprint for a Python |
SHIP_PYTHON_P (Game data) | Ship blueprint for a Python (pirate) |
SHIP_ROCK_HERMIT (Game data) | Ship blueprint for a rock hermit (asteroid) |
SHIP_SHUTTLE (Game data) | Ship blueprint for a Shuttle |
SHIP_SIDEWINDER (Game data) | Ship blueprint for a Sidewinder |
SHIP_SPLINTER (Game data) | Ship blueprint for a splinter |
SHIP_THARGOID (Game data) | Ship blueprint for a Thargoid mothership |
SHIP_THARGON (Game data) | Ship blueprint for a Thargon |
SHIP_TRANSPORTER (Game data) | Ship blueprint for a Transporter |
SHIP_VIPER (Game data) | Ship blueprint for a Viper |
SHIP_WORM (Game data) | Ship blueprint for a Worm |
XX21 (Game data) | Ship blueprints lookup table |
Drawing the screen
| |
abraxas | The value for VIC register $18 to set the screen RAM address for a raster count of 1 in the interrupt routine (i.e. the dashboard) |
caravanserai | Controls whether multicolour or standard bitmap mode is used for the lower part of the screen (i.e. the dashboard) |
cdump (Game Loader) | Colour RAM colour data for the dashboard |
DIALS (Game Loader) | The dashboard bitmap and colour data for screen RAM |
innersec | A table for converting the value of X from 0 to 1 or from 1 to 0, for use when flipping RASCT between 0 and 1 on each interrupt |
lotus | The colour of the explosion sprite in the upper and lower parts of the screen |
moonflower | Controls the energy bomb effect by switching between multicolour and standard mode |
RASTCT | The current raster count, which flips between 0 and 1 on each call to the COMIRQ1 interrupt handler (0 = space view, 1 = dashboard) |
santana | Controls whether sprite 1 (the explosion sprite) is drawn in single colour or multicolour mode |
sdump (Game Loader) | Screen RAM colour data for the dashboard |
shango | The raster lines that fire the raster interrupt, so it fires at the top of the screen (51) and the top of the dashboard (51 + 143) |
spritp (Game Loader) | Sprite definitions |
welcome | The background colour for the upper and lower parts of the screen, used by the energy bomb to flash the screen's background colour |
zebop | The value for VIC register $18 to set the screen RAM address for a raster count of 0 in the interrupt routine (i.e. the space view) |
Equipment
| |
PRXS | Equipment prices |
Keyboard
| |
KTRAN | An unused key logger buffer that's left over from the 6502 Second Processor version of Elite |
KYTB | Lookup table for in-flight keyboard controls |
TGINT | The keys used to toggle configuration settings when the game is paused |
TRANTABLE | Translation table from internal key number to ASCII |
Loader
| |
basicBootstrap (Disk Loader 1) | Call the RelocateLoader routine even if the firebird file is loaded as a BASIC program |
basicVectors (Disk Loader 1) | Addresses that override the BASIC vectors for when the loader file is loaded at the address in its PRG header, $02A7 |
date (Game Loader) | A date image that is included into the source disk binaries (this is just random noise in the released game) |
fastLoaderOffered (Disk Loader 2) | A flag to record whether we have already asked whether to use the fast loader, so we don't ask twice |
fastTrackSector (Disk Loader 2) | A track and sector table for use by the fast loader |
filename (Disk Loader 2) | The GMA filename used to load the game files, buried in a message from GMA, the author of the loader |
FRIN (Game Loader) | A temporary variable that's used for storing addresses |
loaderScreens (Disk Loader 2) | PETSCII codes for clearing the screen and displaying the fast loader prompt and loading screens |
RDLI | The OS command string for running the flight code in file D.CODE in the disc version of Elite |
trackSector (Disk Loader 2) | Track and sector numbers for all the files on the disk, for use in the fast loader |
Market
| |
QQ23 | Market prices table |
Maths (Arithmetic)
| |
antilog | Binary antilogarithm table |
antilogODD | Binary antilogarithm table |
log | Binary logarithm table (high byte) |
logL | Binary logarithm table (low byte) |
Maths (Geometry)
| |
ACT (Game data) | Arctan table |
SNE (Game data) | Sine/cosine table |
Missions
| |
SPMASK | Masks for updating sprite bits in VIC+$10 for the top bit of the 9-bit x-coordinates of the Trumble sprites |
TRIBDIR | The low byte of the four 16-bit directions in which Trumble sprites can move |
TRIBDIRH | The high byte of the four 16-bit directions in which Trumble sprites can move |
TRIBMA | A table for converting the number of Trumbles in the hold into a sprite-enable flag to use with VIC register $15 |
TRIBTA | A table for converting the number of Trumbles in the hold into a number of sprites in the range 0 to 6 |
Save and load
| |
CHK | First checksum byte for the saved commander data file |
CHK2 | Second checksum byte for the saved commander data file |
CHK3 | Third checksum byte for the saved commander data file |
filesys | A lookup table containing the device numbers for tape and disk |
NA% | The data block for the last saved commander |
NA2% | The data block for the default commander |
oldlong | Contains the length of the last saved commander name |
S1% | The drive and directory number used when saving or loading a commander file |
thislong | Contains the length of the most recently entered commander name |
Sound
| |
BDJMPTBH | A jump table containing addresses for processing music commands 1 through 15 (high bytes) |
BDJMPTBL | A jump table containing addresses for processing music commands 1 through 15 (low bytes) |
COMUDAT | Music data from the C.COMUDAT file |
SEVENS | A table for converting the value of Y to 7 * Y |
SFXATK | The attack and decay length (SID+$5) for each sound effect |
SFXCNT | The counter for each sound effect, which defines the duration of the effect in frames |
SFXCR | The voice control register (SID+$4) for each sound effect |
SFXFQ | The frequency (SID+$5) for each sound effect |
SFXFRCH | The frequency change to be applied to each sound effect in each frame (as a signed number) |
SFXPR | The priority level for each sound effect |
SFXSUS | The release length and sustain volume (SID+$6) for each sound effect |
SFXVCH | The volume change rate for each sound effect, i.e. how many frames need to pass before the sound effect's volume is reduced by one |
Sprites
| |
spritp (Sprites) | Sprite definitions for four laser sights, the explosion sprite and two Trumbles |
Status
| |
KWH% (Game data) | Integer number of kills awarded for destroying each type of ship |
KWL% (Game data) | Fractional number of kills awarded for destroying each type of ship |
Text
| |
DTW1 | A mask for applying the lower case part of Sentence Case to extended text tokens |
DTW2 | A flag that indicates whether we are currently printing a word |
DTW3 | A flag for switching between standard and extended text tokens |
DTW4 | Flags that govern how justified extended text tokens are printed |
DTW5 | The size of the justified text buffer at BUF |
DTW6 | A flag to denote whether printing in lower case is enabled for extended text tokens |
DTW8 | A mask for capitalising the next letter in an extended text token |
JMTB | The extended token table for jump tokens 1-32 (DETOK) |
MTIN | Lookup table for random tokens in the extended token table (0-37) |
QQ16 | The two-letter token lookup table |
QQ18 (Game data) | The recursive token table for tokens 0-148 |
RLINE | The OSWORD configuration block used to fetch a line of text from the keyboard |
RUGAL (Game data) | The criteria for systems with extended description overrides |
RUPLA (Game data) | System numbers that have extended description overrides |
RUTOK (Game data) | The second extended token table for recursive tokens 0-26 (DETOK3) |
TENS | A constant used when printing large numbers in BPRNT |
TKN1 (Game data) | The first extended token table for recursive tokens 0-255 (DETOK) |
TKN2 | The extended two-letter token lookup table |
Universe
| |
spasto | Contains the address of the Coriolis space station's ship blueprint |
UNIV | Table of pointers to the local universe's ship data blocks |
Utility routines
| |
brkd | The brkd counter for error handling |
F% | Denotes the end of the main game code, from ELITE A to ELITE K |
G% | Denotes the start of the main game code, from ELITE A to ELITE K |
L1M | Temporary storage for the new value of the 6510 input/output port register |
R% | Denotes the end of the first part of the main game code (CODE1), from ELITE A to ELITE C |
V% (Game Loader) | Denotes the end of the second block of loader code, as used in the encryption/decryption process |
W% (Game Loader) | Denotes the start of the first block of loader code, as used in the encryption/decryption process |
X% (Game Loader) | Denotes the end of the first block of loader code, as used in the encryption/decryption process |
Workspace variables
| |
ALP1 | Magnitude of the roll angle alpha, i.e. |alpha|, which is a positive value between 0 and 31 |
ALP2 | Bit 7 of ALP2 = sign of the roll angle in ALPHA |
ALPHA | The current roll angle alpha, which is reduced from JSTX to a sign-magnitude value between -31 and +31 |
ALTIT | Our altitude above the surface of the planet or sun |
ASH | Aft shield status |
auto | Docking computer activation status |
AVL | Market availability in the current system |
BALI | This byte appears to be unused |
BDBUFF | The music data byte that is currently being processed, with the low nibble being processed first, and then the high nibble |
BDdataptr1 | The low byte of the address of the music data pointer in BDdataptr1(1 0), which points to the end of the music data currently being processed |
BDdataptr2 | The high byte of the address of the music data pointer in BDdataptr1(1 0), which points to the end of the music data currently being processed |
BDdataptr3 | The low byte of the address of the music data pointer in BDdataptr3(1 0), which is a backup of the initial value of the BDdataptr1(1 0) pointer, so music can be repeated |
BDdataptr4 | The high byte of the address of the music data pointer in BDdataptr3(1 0), which is a backup of the initial value of the BDdataptr1(1 0) pointer, so music can be repeated |
BET1 | The magnitude of the pitch angle beta, i.e. |beta|, which is a positive value between 0 and 8 |
BET2 | Bit 7 of BET2 = sign of the pitch angle in BETA |
BETA | The current pitch angle beta, which is reduced from JSTY to a sign-magnitude value between -8 and +8 |
BOMB | Energy bomb |
boxsize | This byte appears to be unused |
BST | Fuel scoops (BST stands for "barrel status") |
BUF | The line buffer used by DASC to print justified text |
CABTMP | Cabin temperature |
CASH | Our current cash pot |
CNT | Temporary storage, typically used for storing the number of iterations required when looping |
CNT2 | Temporary storage, used in the planet-drawing routine to store the segment number where the arc of a partial circle should start |
COK | Flags used to generate the competition code |
COL | Temporary storage, used to store colour information when drawing pixels in the dashboard |
COL2 | The text colour of the next character to draw in CHPR |
COMC | The colour of the dot on the compass |
COMX | The x-coordinate of the compass dot |
COMY | The y-coordinate of the compass dot |
counter | The rest counter when playing music, for implementing music commands #8 and #15 |
CRGO | Our ship's cargo capacity |
DAMP | Keyboard damping configuration setting |
de | Equipment destruction flag |
DELT4 | Our current speed * 64 as a 16-bit value |
DELTA | Our current speed, in the range 1-40 |
DFLAG | A flag that indicates whether the dashboard is currently being shown on-screen |
DISK | Current media configuration setting |
distaway | Used to store the nearest distance of the rotating ship on the title screen |
DJD | Keyboard auto-recentre configuration setting |
DKCMP | Docking computer |
DL | Vertical sync flag |
DLY | In-flight message delay |
DNOIZ | Sound on/off configuration setting |
dontclip | A flag that controls whether the LL145 routine clips lines to the dimensions of the space view (which we want to disable in the Short-range Chart, as there is no dashboard and the chart needs to use the whole screen) |
ECM | E.C.M. system |
ECMA | The E.C.M. countdown timer, which determines whether an E.C.M. system is currently operating: |
ECMP | Our E.C.M. status |
ENERGY | Energy bank status |
ENGY | Energy unit |
ESCP | Escape pod |
EV | The "extra vessels" spawning counter |
FIST | Our legal status (FIST stands for "fugitive/innocent status"): |
FLAG | A flag that's used to define whether this is the first call to the ball line routine in BLINE, so it knows whether to wait for the second call before storing segment data in the ball line heap |
FLH | Flashing console bars configuration setting |
FRIN | Slots for the ships in the local bubble of universe |
frump | Used to store the number of particles in the explosion cloud |
FSH | Forward shield status |
GCNT | The number of the current galaxy (0-7) |
GHYP | Galactic hyperdrive |
GNTMP | Laser temperature (or "gun temperature") |
gov | The current system's government type (0-7) |
HFX | This flag is unused in this version of Elite. In the other versions, setting HFX to a non-zero value makes the hyperspace rings multi-coloured, but that effect is not used in this version |
INF | Temporary storage, typically used for storing the address of a ship's data block, so it can be copied to and from the internal workspace at INWK |
INWK | The zero-page internal workspace for the current ship data block |
JSTE | Reverse both joystick channels configuration setting |
JSTGY | Reverse joystick Y-channel configuration setting |
JSTK | Keyboard or joystick configuration setting |
JSTX | Our current roll rate |
JSTY | Our current pitch rate |
JUNK | The amount of junk in the local bubble |
K | Temporary storage, used in a number of places |
K2 | Temporary storage, used in a number of places |
K3 | Temporary storage, used in a number of places |
K4 | Temporary storage, used in a number of places |
K5 | Temporary storage used to store segment coordinates across successive calls to BLINE, the ball line routine |
K6 | Temporary storage, typically used for storing coordinates during vector calculations |
KL | If a key is being pressed that is not in the keyboard table at KYTB, it can be stored here (as seen in routine DK4, for example) |
KLO | The key logger in the BBC Micro version has a spare byte at the start for storing the last key press, so we also include a spare byte here so the KLO logger in the Commodore 64 version behaves in a similar way to the KL key logger in the BBC Micro |
KY1 | "?" is being pressed (slow down, KLO+$9) |
KY12 | "C=" is being pressed (energy bomb, KLO+$3) |
KY13 | Left arrow is being pressed (launch escape pod, KLO+$7) |
KY14 | "T" is being pressed (target missile, KLO+$2A) |
KY15 | "U" is being pressed (unarm missile, KLO+$22) |
KY16 | "M" is being pressed (fire missile, KLO+$1C) |
KY17 | "E" is being pressed (activate E.C.M., KLO+$32) |
KY18 | "J" is being pressed (in-system jump, KLO+$1E) |
KY19 | "C" is being pressed (activate docking computer, KLO+$2C) |
KY2 | Space is being pressed (speed up, KLO+$4) |
KY20 | "P" is being pressed (deactivate docking computer, KLO+$17) |
KY3 | "<" is being pressed (roll left, KYO+$11) |
KY4 | ">" is being pressed (roll right, KLO+$14) |
KY5 | "X" is being pressed (pull up, KLO+$29) |
KY6 | "S" is being pressed (pitch down, KLO+$33) |
KY7 | "A" is being pressed (fire lasers, KLO+$36) |
LAS | Contains the laser power of the laser fitted to the current space view (or 0 if there is no laser fitted to the current view) |
LAS2 | Laser power for the current laser |
LASCT | The laser pulse count for the current laser |
LASER | The specifications of the lasers fitted to each of the four space views: |
LASX | The x-coordinate of the tip of the laser line |
LASY | The y-coordinate of the tip of the laser line |
LSO | The ship line heap for the space station (see NWSPS) and the sun line heap (see SUN) |
LSP | The ball line heap pointer, which contains the number of the first free byte after the end of the LSX2 and LSY2 heaps (see the deep dive on "The ball line heap" for details) |
LSX | LSX is an alias that points to the first byte of the sun line heap at LSO |
MANY | The number of ships of each type in the local bubble of universe |
MCH | The text token number of the in-flight message that is currently being shown, and which will be removed by the me2 routine when the counter in DLY reaches zero |
MCNT | The main loop counter |
messXC | Temporary storage, used to store the text column of the in-flight message in MESS, so it can be erased from the screen at the correct time |
MJ | Are we in witchspace (i.e. have we mis-jumped)? |
MOS | This variable appears to be unused |
MSAR | The targeting state of our leftmost missile |
MSTG | The current missile lock target |
MUDOCK | Docking music tune configuration setting |
MUFOR | Configuration setting that controls whether the docking music can be enabled or disabled |
MULIE | A flag to record whether the RESET routine is currently being run, in which case the music configuration variables may be in a state of flux |
MUPLA | A flag to record whether any music is currently playing |
MUSILLY | Sounds during music configuration setting |
MUTOK | Docking music configuration setting |
MUTOKOLD | Used to store the previous value of MUTOK, so we can track whether the docking music configuration changes |
NAME | The current commander name |
NEWB | The ship's "new byte flags" (or NEWB flags) |
newzp | This is used by the STARS2 routine for storing the stardust particle's delta_x value |
NOMSL | The number of missiles we have fitted (0-4) |
NOSTM | The number of stardust particles shown on screen, which is 12 (#NOST) for normal space, and 3 for witchspace |
P | Temporary storage, used in a number of places |
P2 | Temporary storage, used in place of variable P in the line-drawing routines |
PATG | Configuration setting to show the author names on the start-up screen and enable manual hyperspace mis-jumps |
PLTOG | Planetary details configuration setting |
PULSEW | The current pulse width for sound effects |
Q | Temporary storage, used in a number of places |
Q2 | Temporary storage, used in place of variable Q in the line-drawing routines |
QQ0 | The current system's galactic x-coordinate (0-256) |
QQ1 | The current system's galactic y-coordinate (0-256) |
QQ10 | The galactic y-coordinate of the crosshairs in the galaxy chart (and, most of the time, the selected system's galactic y-coordinate) |
QQ11 | The type of the current view: |
QQ12 | Our "docked" status |
QQ14 | Our current fuel level (0-70) |
QQ15 | The three 16-bit seeds for the selected system, i.e. the one in the crosshairs in the Short-range Chart |
QQ17 | Contains a number of flags that affect how text tokens are printed, particularly capitalisation: |
QQ19 | Temporary storage, used in a number of places |
QQ2 | The three 16-bit seeds for the current system, i.e. the one we are currently in |
QQ20 | The contents of our cargo hold |
QQ21 | The three 16-bit seeds for the current galaxy |
QQ22 | The two hyperspace countdown counters |
QQ24 | Temporary storage, used to store the current market item's price in routine TT151 |
QQ25 | Temporary storage, used to store the current market item's availability in routine TT151 |
QQ26 | A random value used to randomise market data |
QQ28 | The current system's economy (0-7) |
QQ29 | Temporary storage, used in a number of places |
QQ3 | The selected system's economy (0-7) |
QQ4 | The selected system's government (0-7) |
QQ5 | The selected system's tech level (0-14) |
QQ6 | The selected system's population in billions * 10 (1-71), so the maximum population is 7.1 billion |
QQ7 | The selected system's productivity in M CR (96-62480) |
QQ8 | The distance from the current system to the selected system in light years * 10, stored as a 16-bit number |
QQ9 | The galactic x-coordinate of the crosshairs in the galaxy chart (and, most of the time, the selected system's galactic x-coordinate) |
R | Temporary storage, used in a number of places |
R2 | Temporary storage, used in place of variable R in the line-drawing routines |
RAND | Four 8-bit seeds for the random number generation system implemented in the DORND routine |
RAT | Used to store different signs depending on the current space view, for use in calculating stardust movement |
RAT2 | Temporary storage, used to store the pitch and roll signs when moving objects and stardust |
S | Temporary storage, used in a number of places |
S2 | Temporary storage, used in place of variable S in the line-drawing routines |
safehouse | Backup storage for the seeds for the selected system |
SC | Screen address (low byte) |
SCH | Screen address (high byte) |
SLSP | The address of the bottom of the ship line heap |
SOATK | Sound buffer for attack and decay lengths |
SOCNT | Sound buffer for sound effect counters |
SOCR | Sound buffer for voice control register values |
SOFLG | Sound buffer for sound effect flags |
SOFRCH | Sound buffer for frequency change values |
SOFRQ | Sound buffer for SFXFQ values |
SOPR | Sound buffer for SOPR values |
SOSUS | Sound buffer for release length and sustain volume |
SOVCH | Sound buffer for the volume change rate |
sprx | Contains the x-coordinate offset for the explosion sprite, i.e. the relative position of the sprite compared to the centre of the explosion, which needs to be set according to the size of the sprite |
spry | Contains the y-coordinate offset for the explosion sprite, i.e. the relative position of the sprite compared to the centre of the explosion, which needs to be set according to the size of the sprite |
SSPR | "Space station present" flag |
STP | The step size for drawing circles |
SUNX | The 16-bit x-coordinate of the vertical centre axis of the sun (which might be off-screen) |
SVC | The save count |
SWAP | Temporary storage, used to store a flag that records whether or not we had to swap a line's start and end coordinates around when clipping the line in routine LL145 (the flag is used in places like BLINE to swap them back) |
SX | This is where we store the x_hi coordinates for all the stardust particles |
SXL | This is where we store the x_lo coordinates for all the stardust particles |
SY | This is where we store the y_hi coordinates for all the stardust particles |
SYL | This is where we store the y_lo coordinates for all the stardust particles |
SZ | This is where we store the z_hi coordinates for all the stardust particles |
SZL | This is where we store the z_lo coordinates for all the stardust particles |
T | Temporary storage, used in a number of places |
T1 | Temporary storage, used in a number of places |
T2 | Temporary storage, used in place of variable T in the line-drawing routines |
TALLY | Our combat rank |
TALLYL | Combat rank fraction |
tek | The current system's tech level (0-14) |
TGT | Temporary storage, typically used as a target value for counters when drawing explosion clouds and partial circles |
thiskey | If a key is being pressed that is not in the keyboard table at KYTB, it can be stored in KL and thiskey (as seen in routine DK4, for example) |
TP | The current mission status |
TRIBBLE | The number of Trumbles in the cargo hold |
TRIBCT | Contains the number of Trumble sprites that we are showing on-screen, in the range 0 to 6 |
TRIBVX | Contains the low byte of the 16-bit x-axis velocity of each of the Trumbles |
TRIBVXH | Contains the high byte of the 16-bit x-axis velocity of each of the Trumbles |
TRIBXH | Contains bit 8 of the x-coordinate for each of the Trumble sprites (as x-coordinates are 9-bit values) |
TYPE | The current ship type |
U | Temporary storage, used in a number of places |
UPO | This byte appears to be unused |
V | Temporary storage, typically used for storing an address pointer |
value0 | An unused counter that increments every time we process music command <#6> |
value1 | Stores the voice control register for voice 1 |
value2 | Stores the voice control register for voice 2 |
value3 | Stores the voice control register for voice 3 |
value4 | Stores the rest length for commands #8 and #15 |
value5 | The address before the start of the music data for the tune that is configured to play for docking, so this can be changed to alter the docking music |
vibrato2 | The vibrato counter for voice 2 |
vibrato3 | The vibrato counter for voice 3 |
VIEW | The number of the current space view |
voice2hi1 | The low byte of the first vibrato frequency for voice 2, which contains the lower frequency |
voice2hi2 | The low byte of the second vibrato frequency for voice 2, which contains the higher frequency |
voice2lo1 | The high byte of the first vibrato frequency for voice 2, which contains the lower frequency |
voice2lo2 | The high byte of the second vibrato frequency for voice 2, which contains the higher frequency |
voice3hi1 | The low byte of the first vibrato frequency for voice 3, which contains the lower frequency |
voice3hi2 | The low byte of the second vibrato frequency for voice 3, which contains the higher frequency |
voice3lo1 | The high byte of the first vibrato frequency for voice 3, which contains the lower frequency |
voice3lo2 | The high byte of the second vibrato frequency for voice 3, which contains the higher frequency |
widget | Temporary storage, used to store the original argument in A in the logarithmic FMLTU and LL28 routines |
X1 | Temporary storage, typically used for x-coordinates in line-drawing routines |
X2 | Temporary storage, typically used for x-coordinates in line-drawing routines |
XC | The x-coordinate of the text cursor (i.e. the text column), which can be from 0 to 32 |
XP | This byte appears to be unused |
XSAV | Temporary storage for saving the value of the X register, used in a number of places |
XSAV2 | Temporary storage, used for storing the value of the X register in the CHPR routine |
XX | Temporary storage, typically used for storing a 16-bit x-coordinate |
XX0 | Temporary storage, used to store the address of a ship blueprint. For example, it is used when we add a new ship to the local bubble in routine NWSHP, and it contains the address of the current ship's blueprint as we loop through all the nearby ships in the main flight loop |
XX1 | This is an alias for INWK that is used in the main ship-drawing routine at LL9 |
XX12 | Temporary storage for a block of values, used in a number of places |
XX13 | Temporary storage, typically used in the line-drawing routines |
XX14 | This byte appears to be unused |
XX15 | Temporary storage, typically used for storing screen coordinates in line-drawing routines |
XX16 | Temporary storage for a block of values, used in a number of places |
XX17 | Temporary storage, used in BPRNT to store the number of characters to print, and as the edge counter in the main ship-drawing routine |
XX18 | Temporary storage used to store coordinates in the LL9 ship-drawing routine |
XX19 | XX19(1 0) shares its location with INWK(34 33), which contains the address of the ship line heap |
XX2 | Temporary storage, used to store the visibility of the ship's faces during the ship-drawing routine at LL9 |
XX20 | Temporary storage, used in a number of places |
XX24 | This byte appears to be unused |
XX4 | Temporary storage, used in a number of places |
Y1 | Temporary storage, typically used for y-coordinates in line-drawing routines |
Y2 | Temporary storage, typically used for y-coordinates in line-drawing routines |
YC | The y-coordinate of the text cursor (i.e. the text row), which can be from 0 to 23 |
YP | This byte appears to be unused |
YS | This byte appears to be unused |
YSAV | Temporary storage for saving the value of the Y register, used in a number of places |
YSAV2 | Temporary storage, used for storing the value of the Y register in the CHPR routine |
Yx2M1 | This is used to store the number of pixel rows in the space view minus 1, which is also the y-coordinate of the bottom pixel row of the space view (it is set to 191 in the RES2 routine) |
YY | Temporary storage, typically used for storing a 16-bit y-coordinate |
ZP2 (Game Loader) | Stores addresses used for moving content around |
ZZ | Temporary storage, typically used for distance values |