Skip to navigation


List of all variables

[Commodore 64 version]

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
-------------

LIJT1Addresses for modifying the low byte of the JMP instruction at LI71 to support the unrolled algorithm in part 3 of LOIN
LIJT2Addresses for modifying the high byte of the JMP instruction at LI71 to support the unrolled algorithm in part 3 of LOIN
LIJT3Addresses for modifying the low byte of the JMP instruction at LI72 to support the unrolled algorithm in part 3 of LOIN
LIJT4Addresses for modifying the high byte of the JMP instruction at LI72 to support the unrolled algorithm in part 3 of LOIN
LIJT5Addresses for modifying the low byte of the JMP instruction at LI91 to support the unrolled algorithm in part 4 of LOIN
LIJT6Addresses for modifying the high byte of the JMP instruction at LI91 to support the unrolled algorithm in part 4 of LOIN
LIJT7Addresses for modifying the low byte of the JMP instruction at LI92 to support the unrolled algorithm in part 4 of LOIN
LIJT8Addresses for modifying the high byte of the JMP instruction at LI92 to support the unrolled algorithm in part 4 of LOIN
LSX2The ball line heap for storing x-coordinates
LSY2The ball line heap for storing y-coordinates
sightcolColours for the crosshair sights on the different laser types
TWFLReady-made character rows for the left end of a horizontal line in the space view
TWFRReady-made character rows for the right end of a horizontal line in mode 4

Drawing pixels
--------------

celllookhLookup table for converting a text y-coordinate to the high byte of the address of the start of the character row in screen RAM
celllooklLookup table for converting a text y-coordinate to the low byte of the address of the start of the character row
CTWOSReady-made double-pixel character row bytes for the dashboard
CTWOS2Ready-made single-pixel character row bytes for multicolour bitmap mode
DTWOSAn unused table of ready-made double-pixel character row bytes for the dashboard
TWOSReady-made single-pixel character row bytes for mode 4
TWOS2Ready-made double-pixel character row bytes for mode 4
ylookuphLookup table for converting a pixel y-coordinate to the high byte of a screen address (within the 256-pixel-wide game screen)
ylookuplLookup 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
exlookA table to shift X left by one place when X is 0 or 1
scacolShip 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
------------------

abraxasThe 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)
caravanseraiControls 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
innersecA 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
lotusThe colour of the explosion sprite in the upper and lower parts of the screen
moonflowerControls the energy bomb effect by switching between multicolour and standard mode
RASTCTThe current raster count, which flips between 0 and 1 on each call to the COMIRQ1 interrupt handler (0 = space view, 1 = dashboard)
santanaControls whether sprite 1 (the explosion sprite) is drawn in single colour or multicolour mode
sdump (Game Loader)Screen RAM colour data for the dashboard
shangoThe 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
welcomeThe background colour for the upper and lower parts of the screen, used by the energy bomb to flash the screen's background colour
zebopThe 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
---------

PRXSEquipment prices

Keyboard
--------

KTRANAn unused key logger buffer that's left over from the 6502 Second Processor version of Elite
KYTBLookup table for in-flight keyboard controls
TGINTThe keys used to toggle configuration settings when the game is paused
TRANTABLETranslation 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
RDLIThe 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
------

QQ23Market prices table

Maths (Arithmetic)
------------------

antilogBinary antilogarithm table
antilogODDBinary antilogarithm table
logBinary logarithm table (high byte)
logLBinary logarithm table (low byte)

Maths (Geometry)
----------------

ACT (Game data)Arctan table
SNE (Game data)Sine/cosine table

Missions
--------

SPMASKMasks for updating sprite bits in VIC+$10 for the top bit of the 9-bit x-coordinates of the Trumble sprites
TRIBDIRThe low byte of the four 16-bit directions in which Trumble sprites can move
TRIBDIRHThe high byte of the four 16-bit directions in which Trumble sprites can move
TRIBMAA table for converting the number of Trumbles in the hold into a sprite-enable flag to use with VIC register $15
TRIBTAA table for converting the number of Trumbles in the hold into a number of sprites in the range 0 to 6

Save and load
-------------

CHKFirst checksum byte for the saved commander data file
CHK2Second checksum byte for the saved commander data file
CHK3Third checksum byte for the saved commander data file
filesysA 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
oldlongContains the length of the last saved commander name
S1%The drive and directory number used when saving or loading a commander file
thislongContains the length of the most recently entered commander name

Sound
-----

BDJMPTBHA jump table containing addresses for processing music commands 1 through 15 (high bytes)
BDJMPTBLA jump table containing addresses for processing music commands 1 through 15 (low bytes)
COMUDATMusic data from the C.COMUDAT file
SEVENSA table for converting the value of Y to 7 * Y
SFXATKThe attack and decay length (SID+$5) for each sound effect
SFXCNTThe counter for each sound effect, which defines the duration of the effect in frames
SFXCRThe voice control register (SID+$4) for each sound effect
SFXFQThe frequency (SID+$5) for each sound effect
SFXFRCHThe frequency change to be applied to each sound effect in each frame (as a signed number)
SFXPRThe priority level for each sound effect
SFXSUSThe release length and sustain volume (SID+$6) for each sound effect
SFXVCHThe 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
----

DTW1A mask for applying the lower case part of Sentence Case to extended text tokens
DTW2A flag that indicates whether we are currently printing a word
DTW3A flag for switching between standard and extended text tokens
DTW4Flags that govern how justified extended text tokens are printed
DTW5The size of the justified text buffer at BUF
DTW6A flag to denote whether printing in lower case is enabled for extended text tokens
DTW8A mask for capitalising the next letter in an extended text token
JMTBThe extended token table for jump tokens 1-32 (DETOK)
MTINLookup table for random tokens in the extended token table (0-37)
QQ16The two-letter token lookup table
QQ18 (Game data)The recursive token table for tokens 0-148
RLINEThe 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)
TENSA constant used when printing large numbers in BPRNT
TKN1 (Game data)The first extended token table for recursive tokens 0-255 (DETOK)
TKN2The extended two-letter token lookup table

Universe
--------

spastoContains the address of the Coriolis space station's ship blueprint
UNIVTable of pointers to the local universe's ship data blocks

Utility routines
----------------

brkdThe 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
L1MTemporary 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