Skip to navigation


Workspaces and configuration

[Commodore 64 version]

COMMODORE 64 ELITE MAIN GAME SOURCE Commodore 64 Elite was written by Ian Bell and David Braben and is copyright D. Braben and I. Bell 1985 The code in this file is identical to the source disks released on Ian Bell's personal website at http://www.elitehomepage.org/ (it's just been reformatted to be more readable) The commentary is copyright Mark Moxon, and any misunderstandings or mistakes in the documentation are entirely my fault The terminology and notations used in this commentary are explained at https://elite.bbcelite.com/terminology The deep dive articles referred to in this commentary can be found at https://elite.bbcelite.com/deep_dives
This source file contains the main game code for Commodore 64 Elite.
This source file produces the following binary files: * ELTA.bin * ELTB.bin * ELTC.bin * ELTD.bin * ELTE.bin * ELTF.bin * ELTG.bin * ELTH.bin * ELTI.bin * ELTJ.bin * ELTK.bin
INCLUDE "1-source-files/main-sources/elite-build-options.asm" _GMA85_NTSC = (_VARIANT = 1) _GMA86_PAL = (_VARIANT = 2) _GMA_RELEASE = (_VARIANT = 1) OR (_VARIANT = 2) _SOURCE_DISK_BUILD = (_VARIANT = 3) _SOURCE_DISK_FILES = (_VARIANT = 4) _SOURCE_DISK = (_VARIANT = 3) OR (_VARIANT = 4)
Configuration variables
CODE% = $1D00 ; The address where the first block of game code will ; be run (ELITE A to C) LOAD% = $1D00 ; The address where the first block of game code will ; be loaded (ELITE A to C) IF _GMA_RELEASE C% = $6A00 ; The address where the second block of game code will ; be loaded and run (ELITE D onwards) ; ; [Show more]
; ; This variable is used by the following: ; ; * DEEOR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ELIF _SOURCE_DISK C% = $7300 ; The address where the second block of game code will ; be loaded and run (ELITE D onwards) ; ; [Show more]
; ; This variable is used by the following: ; ; * DEEOR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ENDIF Q% = _MAX_COMMANDER ; Set Q% to TRUE to max out the default commander, FALSE ; for the standard default commander ; ; [Show more]
; ; This variable is used by the following: ; ; * NA2% ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
USA% = TRUE ; Set USA% to FALSE to introduce a timing loop to bring ; PAL machines in line with NTSC machines (interestingly ; both the GMA85 NTSC and GMA86 PAL versions have this ; set to TRUE, so the timing loop is not included in ; either version) NOST = 12 ; The number of stardust particles in normal space (this ; goes down to 3 in witchspace) ; ; [Show more]
; ; This variable is used by the following: ; ; * RES2 ; * WP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NOSH = 10 ; The maximum number of ships in our local bubble of ; universe ; ; [Show more]
; ; This variable is used by the following: ; ; * K% ; * NWSHP ; * UP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NTY = 33 ; The number of different ship types ; ; [Show more]
; ; This variable is used by the following: ; ; * UP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
MSL = 1 ; Ship type for a missile ; ; [Show more]
; ; This variable is used by the following: ; ; * FRMIS ; * KS2 ; * Main flight loop (Part 7 of 16) ; * MVEIT (Part 2 of 9) ; * SFRMIS ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 4 of 7) ; * TACTICS (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SST = 2 ; Ship type for a Coriolis space station ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * BEGIN ; * KILLSHP ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 7 of 16) ; * Main flight loop (Part 11 of 16) ; * NWSHP ; * NWSPS ; * SFS1 ; * TACTICS (Part 2 of 7) ; * UP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ESC = 3 ; Ship type for an escape pod ; ; [Show more]
; ; This variable is used by the following: ; ; * SESCP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PLT = 4 ; Ship type for an alloy plate ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * Main flight loop (Part 11 of 16) ; * SFS1 ; * TACTICS (Part 1 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
OIL = 5 ; Ship type for a cargo canister ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * Main flight loop (Part 8 of 16) ; * Main flight loop (Part 11 of 16) ; * Main game loop (Part 2 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
AST = 7 ; Ship type for an asteroid ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 11 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SPL = 8 ; Ship type for a splinter ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 11 of 16) ; * SFS1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SHU = 9 ; Ship type for a Shuttle ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 2 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CYL = 11 ; Ship type for a Cobra Mk III ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * BR1 (Part 1 of 2) ; * ESCAPE ; * Main game loop (Part 1 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ANA = 14 ; Ship type for an Anaconda ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 4 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
HER = 15 ; Ship type for a rock hermit (asteroid) ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * Main game loop (Part 1 of 6) ; * Main game loop (Part 2 of 6) ; * NWSHP ; * TACTICS (Part 2 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
COPS = 16 ; Ship type for a Viper ; ; [Show more]
; ; This variable is used by the following: ; ; * Main game loop (Part 3 of 6) ; * TACTICS (Part 2 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SH3 = 17 ; Ship type for a Sidewinder ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 4 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KRA = 19 ; Ship type for a Krait ADA = 20 ; Ship type for an Adder ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
WRM = 23 ; Ship type for a Worm ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 4 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CYL2 = 24 ; Ship type for a Cobra Mk III (pirate) ; ; [Show more]
; ; This variable is used by the following: ; ; * ESCAPE ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ASP = 25 ; Ship type for an Asp Mk II THG = 29 ; Ship type for a Thargoid ; ; [Show more]
; ; This variable is used by the following: ; ; * GTHG ; * Main flight loop (Part 5 of 16) ; * MJP ; * TACTICS (Part 3 of 7) ; * TACTICS (Part 5 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TGL = 30 ; Ship type for a Thargon ; ; [Show more]
; ; This variable is used by the following: ; ; * GTHG ; * TACTICS (Part 3 of 7) ; * TACTICS (Part 5 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CON = 31 ; Ship type for a Constrictor ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * KILLSHP ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 11 of 16) ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
COU = 32 ; Ship type for a Cougar ; ; [Show more]
; ; This variable is used by the following: ; ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
DOD = 33 ; Ship type for a Dodecahedron ("Dodo") space station ; ; [Show more]
; ; This variable is used by the following: ; ; * NWSPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
JL = ESC ; Junk is defined as starting from the escape pod ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * NWSHP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
JH = SHU+2 ; Junk is defined as ending before the Cobra Mk III ; ; So junk is defined as the following: escape pod, ; alloy plate, cargo canister, asteroid, splinter, ; Shuttle or Transporter ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * NWSHP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PACK = SH3 ; The first of the eight pack-hunter ships, which tend ; to spawn in groups. With the default value of PACK the ; pack-hunters are the Sidewinder, Mamba, Krait, Adder, ; Gecko, Cobra Mk I, Worm and Cobra Mk III (pirate) ; ; [Show more]
; ; This variable is used by the following: ; ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
POW = 15 ; Pulse laser power ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * NA2% ; * refund ; * SIGHT ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
Mlas = 50 ; Mining laser power ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; * NA2% ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
Armlas = INT(128.5 + 1.5*POW) ; Military laser power ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; * NA2% ; * refund ; * SIGHT ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NI% = 37 ; The number of bytes in each ship's data block (as ; stored in INWK and K%) ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * DCS1 ; * K% ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 6 of 16) ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 15 of 16) ; * NWSHP ; * SFS1 ; * SPS4 ; * TAS4 ; * UNIV ; * VCSU1 ; * WARP ; * ZINF ; * ZP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
X = 128 ; The centre x-coordinate of the 256 x 144 space view ; ; [Show more]
; ; This variable is used by the following: ; ; * HFS2 ; * LASLI ; * PROJ ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
Y = 72 ; The centre y-coordinate of the 256 x 144 space view ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * HFS2 ; * LASLI ; * LL118 ; * LL145 (Part 1 of 4) ; * LL145 (Part 2 of 4) ; * LL145 (Part 4 of 4) ; * LL9 (Part 8 of 12) ; * PIXEL2 ; * PROJ ; * PTCLS2 ; * RES2 ; * SHPPT ; * TT23 ; * WPLS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
conhieght = 80 ; The size of the gap left for the rotating Constrictor ; at the top of the briefing for mission 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * PAS1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f0 = $3C ; Internal key number for key F1 (Launch, Front) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f1 = $08 ; Internal key number for key "1" (Buy Cargo) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f2 = $05 ; Internal key number for key "2" (Sell Cargo) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f3 = $38 ; Internal key number for key "3" (Equip Ship) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f4 = $35 ; Internal key number for key "4" (Long-range Chart) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f5 = $30 ; Internal key number for key "5" (Short-range Chart) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f6 = $2D ; Internal key number for key "6" (Data on System) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f7 = $28 ; Internal key number for key "7" (Market Price) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f8 = $25 ; Internal key number for key "8" (Status Mode) ; ; [Show more]
; ; This variable is used by the following: ; ; * BAY ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f9 = $20 ; Internal key number for key "9" (Inventory) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f12 = $3B ; Internal key number for key F3 (Rear) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f22 = $3A ; Internal key number for key F5 (Left) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
f32 = $3D ; Internal key number for key F7 (Right) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
DINT = $2E ; Internal key number for key "D" (Distance to system) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
FINT = $2B ; Internal key number for key "F" (System search) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
HINT = $23 ; Internal key number for key "H" (Hyperspace) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
OINT = $1A ; Internal key number for key "O" (Crosshairs home) ; ; [Show more]
; ; This variable is used by the following: ; ; * TT102 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
YINT = $27 ; Internal key number for key "Y" (Y/N) ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 1 of 2) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RED = %01010101 ; Four multicolour bitmap mode pixels of colour %01, ; which is mapped to the danger colour for the dashboard ; dials, or red on the scanner, via the colour mapping ; in sdump (high nibble) ; ; [Show more]
; ; This variable is used by the following: ; ; * PZW ; * scacol ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
YELLOW = %10101010 ; Four multicolour bitmap mode pixels of colour %10, ; which is mapped to the normal indicator colour for ; the dashboard dials, or yellow on the scanner, via the ; colour mapping in sdump (low nibble) ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * DIL2 ; * DOT ; * PZW ; * SP2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
GREEN = %11111111 ; Four multicolour bitmap mode pixels of colour %11, ; which is mostly mapped to green for the notched lines ; on the dashboard, or light green on the scanner, via ; the colour mapping in cdump (low nibble) ; ; [Show more]
; ; This variable is used by the following: ; ; * scacol ; * SP2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
WHITE = %01011010 ; Four multicolour bitmap mode pixels of colours %01, ; %01, %10 and %10, for showing Thargoids on the scanner ; with a striped design of red and yellow ; ; [Show more]
; ; This variable is used by the following: ; ; * scacol ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
BLUE = YELLOW ; Ship that are set to a scanner colour of BLUE in the ; scacol table will actually be shown in yellow ; ; [Show more]
; ; This variable is used by the following: ; ; * scacol ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CYAN = YELLOW ; Ship that are set to a scanner colour of CYAN in the ; scacol table will actually be shown in yellow ; ; [Show more]
; ; This variable is used by the following: ; ; * scacol ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
MAG = YELLOW ; Ship that are set to a scanner colour of MAG in the ; scacol table will actually be shown in yellow ; ; [Show more]
; ; This variable is used by the following: ; ; * scacol ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RED2 = $27 ; A multicolour bitmap mode palette byte for screen RAM ; that sets red (2) for %01 in the bitmap and yellow (7) ; for %10 in the bitmap, for displaying a red missile ; indicator ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 11 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
GREEN2 = $57 ; A multicolour bitmap mode palette byte for screen RAM ; that sets green (5) for %01 in the bitmap and yellow ; (7) for %10 in the bitmap, for displaying a green ; missile indicator ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * Main flight loop (Part 3 of 16) ; * msblob ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
YELLOW2 = $87 ; A multicolour bitmap mode palette byte for screen RAM ; that sets orange (8) for %01 in the bitmap and yellow ; (7) for %10 in the bitmap, for displaying an orange ; missile indicator ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
BLACK2 = $B7 ; A multicolour bitmap mode palette byte for screen RAM ; that sets dark grey ($B) for %01 in the bitmap and ; yellow (7) for %10 in the bitmap, for displaying an ; empty missile indicator ; ; [Show more]
; ; This variable is used by the following: ; ; * FRMIS ; * msblob ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
MAG2 = $40 ; A multicolour text mode palette byte for screen RAM ; that displays purple (4) foreground text on a black ; (0) background for showing player input in the text ; view ; ; [Show more]
; ; This variable is used by the following: ; ; * gnum ; * MT26 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
BULBCOL = $E0 ; A multicolour bitmap mode palette byte that is EOR'd ; into screen RAM to toggle the E.C.M. and space station ; indicator bulbs in light blue ($E), as the "E" and "S" ; are in colour %01, and this is initially set to black ; in the colour mapping in sdump ; ; [Show more]
; ; This variable is used by the following: ; ; * ECBLB ; * SPBLB ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxplas = 0 ; Sound 0 = Pulse lasers fired by us ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxelas = 1 ; Sound 1 = Being hit by lasers 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 6 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxhit = 2 ; Sound 2 = Other ship exploding ; ; [Show more]
; ; This variable is used by the following: ; ; * EXNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxexpl = 3 ; Sound 3 = We died / Collision ; ; [Show more]
; ; This variable is used by the following: ; ; * EXNO2 ; * EXNO3 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxwhosh = 4 ; Sound 4 = Missile launched / Ship launch ; ; [Show more]
; ; This variable is used by the following: ; ; * FRMIS ; * HYPNOISE ; * LAUN ; * SFRMIS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxbeep = 5 ; Sound 5 = Short, high beep ; ; [Show more]
; ; This variable is used by the following: ; ; * BEEP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxboop = 6 ; Sound 6 = Long, low beep ; ; [Show more]
; ; This variable is used by the following: ; ; * HME2 ; * Main flight loop (Part 3 of 16) ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxhyp1 = 7 ; Sound 7 = Hyperspace drive engaged 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * HYPNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxeng = 8 ; Sound 8 = This sound is not used sfxecm = 9 ; Sound 9 = E.C.M. on ; ; [Show more]
; ; This variable is used by the following: ; ; * ECBLB2 ; * ECMOF ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxblas = 10 ; Sound 10 = Beam lasers fired by us ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxalas = 11 ; Sound 11 = Military lasers fired by us ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxmlas = 12 ; Sound 12 = Mining lasers fired by us ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxbomb = 13 ; Sound 13 = Energy bomb ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxtrib = 14 ; Sound 14 = Trumbles dying ; ; [Show more]
; ; This variable is used by the following: ; ; * Main game loop (Part 5 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
sfxelas2 = 15 ; Sound 15 = Being hit by lasers 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * TACTICS (Part 6 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NRU% = 0 ; The number of planetary systems with extended system ; description overrides in the RUTOK table ; ; NRU% is set to 0 in the original source, but this is a ; bug, as it should match the number of entries in the ; RUGAL table ; ; This bug causes the Data on System screen to crash the ; game for a small number of systems - for example, the ; game will freeze if you bring up the Data on System ; screen after docking at Biarge in the first galaxy ; during the Constrictor mission ; ; [Show more]
; ; This variable is used by the following: ; ; * PDESC ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RE = $23 ; The obfuscation byte used to hide the recursive tokens ; table from crackers viewing the binary code ; ; [Show more]
; ; This variable is used by the following: ; ; * ex ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
VE = $57 ; The obfuscation byte used to hide the extended tokens ; table from crackers viewing the binary code ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KEY1 = $36 ; The seed for encrypting LOCODE from G% to R%, where ; LOCODE = ELTA-C ; ; [Show more]
; ; This variable is used by the following: ; ; * DEEOR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KEY2 = $49 ; The seed for encrypting HICODE from R% to F%, where ; HICODE = ELTD-K ; ; [Show more]
; ; This variable is used by the following: ; ; * DEEOR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
LL = 30 ; The length of lines (in characters) of justified text ; in the extended tokens system ; ; [Show more]
; ; This variable is used by the following: ; ; * TT26 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PALCK = LO(311) ; When USA% is set to FALSE, a timing loop is included ; in the build that waits until the raster line in PALCK ; is reached; the LO() extracts the lower byte of the ; raster line to make it easier to compare with VIC-II ; register $12, which contains the bottom byte of the ; 9-bit raster line count ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; * NOSPRITES ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
l1 = $0001 ; The 6510 input/output port register, which we can use ; to configure the Commodore 64 memory layout (see page ; 260 of the Programmer's Reference Guide) ; ; [Show more]
; ; This variable is used by the following: ; ; * coffee ; * COLD ; * COMIRQ1 ; * SETL1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
BRKV = $0316 ; The CBINV break vector that we intercept to enable us ; to handle and display system errors ; ; [Show more]
; ; This variable is used by the following: ; ; * BRKBK ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NMIV = $0318 ; The NMINV vector that we intercept with our custom NMI ; handler, which just acknowledges NMI interrupts and ; ignores them ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CHRV = $0326 ; The IBSOUT vector that we intercept with our custom ; text printing routine ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
QQ18 = $0700 ; The address of the text token table, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * ex ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SNE = $0AC0 ; The address of the sine lookup table, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * FMLTU2 ; * PLS22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ACT = $0AE0 ; The address of the arctan lookup table, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * ARCTAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
FONT = $0B00 ; The address of the game's text font ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TKN1 = $0E00 ; The address of the extended token table, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RUPLA = TKN1 + $C28 ; The address of the extended system description system ; number table, as set in elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * PDESC ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RUGAL = TKN1 + $C42 ; The address of the extended system description galaxy ; number table, as set in elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * PDESC ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
RUTOK = TKN1 + $C5C ; The address of the extended system description token ; table, as set in elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK3 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SCBASE = $4000 ; The address of the screen bitmap ; ; [Show more]
; ; This variable is used by the following: ; ; * BLUEBAND ; * BOX2 ; * celllookh ; * celllookl ; * CHPR ; * CLYNS ; * DEATH ; * TTX66K ; * ylookuph ; * ylookupl ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
DLOC% = SCBASE+18*8*40 ; The address in the screen bitmap of the start of the ; dashboard (which starts character row 18) ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 1 of 4) ; * DIALS (Part 4 of 4) ; * TTX66K ; * wantdials ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ECELL = SCBASE+$2400+23*40+11 ; The address in screen RAM of the colour byte ; for the E.C.M. indicator bulb ("E") ; ; [Show more]
; ; This variable is used by the following: ; ; * ECBLB ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SCELL = SCBASE+$2400+23*40+28 ; The address in screen RAM of the colour byte ; for the space station indicator bulb ("S") ; ; [Show more]
; ; This variable is used by the following: ; ; * SPBLB ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
MCELL = SCBASE+$2400+24*40+6 ; The address in screen RAM of the colour byte ; for the first missile indicator ; ; [Show more]
; ; This variable is used by the following: ; ; * MSBAR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TAP% = $CF00 ; The staging area where we copy files after loading and ; before saving ; ; [Show more]
; ; This variable is used by the following: ; ; * LOD ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
XX21 = $D000 ; The address of the ship blueprints lookup table, as ; set in elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; * DEATH ; * KILLSHP ; * Main flight loop (Part 4 of 16) ; * NWSHP ; * NWSPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
E% = $D042 ; The address of the default NEWB ship bytes, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * NWSHP ; * TACTICS (Part 4 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KWL% = $D063 ; The address of the kill tally fraction table, as set ; in elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * EXNO2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KWH% = $D084 ; The address of the kill tally integer table, as set in ; elite-data.asm ; ; [Show more]
; ; This variable is used by the following: ; ; * EXNO2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
VIC = $D000 ; Registers for the VIC-II video controller chip, which ; are memory-mapped to the 46 bytes from $D000 to $D02E ; (see page 454 of the Programmer's Reference Guide) ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; * COMIRQ1 ; * KERNALSETUP ; * LOD ; * Main flight loop (Part 15 of 16) ; * MVTRIBS ; * NOSPRITES ; * PTCLS2 ; * RDKEY ; * SIGHT ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SID = $D400 ; Registers for the SID sound synthesis chip, which are ; memory-mapped to the 29 bytes from $D400 to $D41C (see ; page 461 of the Programmer's Reference Guide) ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDlab21 ; * BDlab23 ; * BDlab24 ; * BDlab3 ; * BDlab4 ; * BDlab5 ; * BDlab6 ; * BDlab7 ; * BDlab8 ; * BDRO10 ; * BDRO14 ; * BDRO7 ; * COLD ; * SOINT ; * stopbd ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CIA = $DC00 ; Registers for the CIA1 I/O interface chip, which ; are memory-mapped to the 16 bytes from $DC00 to $DC0F ; (see page 428 of the Programmer's Reference Guide) ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; * KERNALSETUP ; * LOD ; * RDKEY ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
CIA2 = $DD00 ; Registers for the CIA2 I/O interface chip, which ; are memory-mapped to the 16 bytes from $DD00 to $DD0F ; (see page 428 of the Programmer's Reference Guide) ; ; [Show more]
; ; This variable is used by the following: ; ; * COLD ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
IF _GMA_RELEASE DSTORE% = SCBASE + $AF90 ; The address of a copy of the dashboard bitmap, ; which gets copied into screen memory when ; setting up a new screen ; ; [Show more]
; ; This variable is used by the following: ; ; * wantdials ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SPRITELOC% = SCBASE + $2800 ; The address where the sprite definitions get ; copied to during the loading process (the ; screen bitmap at SCBASE is $2000 bytes long, ; and it's followed by $400 bytes of screen RAM ; for the space view and another $400 for the ; text view, and we put the sprite definitions ; after this) ELIF _SOURCE_DISK DSTORE% = SCBASE + $2800 ; The address of a copy of the dashboard bitmap, ; which gets copied into screen memory when ; setting up a new screen ; ; [Show more]
; ; This variable is used by the following: ; ; * wantdials ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SPRITELOC% = SCBASE + $3100 ; The address where the sprite definitions get ; copied to during the loading process (the ; screen bitmap at SCBASE is $2000 bytes long, ; and it's followed by $400 bytes of screen RAM ; for the space view and another $400 for the ; text view, then $900 bytes for the copy of the ; dashboard bitmap at DSTORE%, and we put the ; sprite definitions after this) ENDIF SPOFF% = (SPRITELOC% - SCBASE) / 64 ; Sprite pointers are defined as the ; offset from the start of the VIC-II ; screen bank to start of the sprite ; definitions, divided by 64, so SPOFF% ; is the offset for the first sprite ; definition at SPRITELOC% ; ; [Show more]
; ; This variable is used by the following: ; ; * SIGHT ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
LS% = $FFC0 ; The start of the descending ship line heap ; ; [Show more]
; ; This variable is used by the following: ; ; * RES2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KERNALSVE = $FFD8 ; The Kernal function to save a file to a device ; ; [Show more]
; ; This variable is used by the following: ; ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KERNALSETLFS = $FFBA ; The Kernal function to set the logical, first, and ; second addresses for file access ; ; [Show more]
; ; This variable is used by the following: ; ; * KERNALSETUP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KERNALSETNAM = $FFBD ; The Kernal function to set a filename ; ; [Show more]
; ; This variable is used by the following: ; ; * KERNALSETUP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KERNALSETMSG = $FF90 ; The Kernal function to control Kernal messages ; ; [Show more]
; ; This variable is used by the following: ; ; * KERNALSETUP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
KERNALLOAD = $FFD5 ; The Kernal function to load a file from a device ; ; [Show more]
; ; This variable is used by the following: ; ; * LOD ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
Name: ZP [Show more] Type: Workspace Address: $0000 to $00D1 Category: Workspaces Summary: Lots of important variables are stored in the zero page workspace as it is quicker and more space-efficient to access memory here
Context: See this workspace on its own page References: This workspace is used as follows: * SWAPPZERO uses ZP * SWAPPZERO uses ZP
ORG $0000 .ZP SKIP 2 ; These two bytes control the 6510 processor port ; ; In particular, Elite uses the 6510 port register at ; location $0001 to reconfigure memory on numerous ; occasions ; ; For example, when it needs to access the memory-mapped ; registers in the VIC-II video controller chip, the SID ; sound chip or the two CIA I/O chips, the I/O memory is ; paged in by updating location $0001, and is then paged ; out again afterwards ; ; See the SETL1 routine for more details ; ; [Show more]
; ; This variable is used by the following: ; ; * SWAPPZERO ; * SWAPPZERO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.RAND SKIP 4 ; Four 8-bit seeds for the random number generation ; system implemented in the DORND routine ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * DORND ; * Main flight loop (Part 1 of 16) ; * PDESC ; * PTCLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.T1 SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * DIALS (Part 1 of 4) ; * DIALS (Part 3 of 4) ; * DIALS (Part 4 of 4) ; * DILX ; * gnum ; * LCASH ; * LL9 (Part 10 of 12) ; * LL9 (Part 11 of 12) ; * MLS1 ; * MULT1 ; * NWSHP ; * PIXEL ; * refund ; * SFS1 ; * TIS1 ; * TT102 ; * TT219 ; * Ze ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SC SKIP 1 ; Screen address (low byte) ; ; Elite draws on-screen by poking bytes directly into ; screen memory, and SC(1 0) is typically set to the ; address of the character block containing the pixel ; ; [Show more]
; ; This variable is used by the following: ; ; * BLUEBANDS ; * BOX2 ; * BOXS2 ; * Checksum ; * CHPR ; * CLYNS ; * COLD ; * CPIX2 ; * DEEORS ; * DETOK2 ; * DIALS (Part 1 of 4) ; * DIALS (Part 4 of 4) ; * DIL2 ; * DILX ; * HLOIN ; * KILLSHP ; * KS2 ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * MSBAR ; * mvblockK ; * PIXEL ; * PTCLS2 ; * SCAN ; * TT26 ; * TT66simp ; * TTX66K ; * wantdials ; * ZES1 ; * ZES1k ; * ZES2 ; * ZES2k ; * ZESNEW ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SCH SKIP 1 ; Screen address (high byte) ; ; [Show more]
; ; This variable is used by the following: ; ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX1 SKIP 0 ; This is an alias for INWK that is used in the main ; ship-drawing routine at LL9 ; ; [Show more]
; ; This variable is used by the following: ; ; * LL9 (Part 1 of 12) ; * LL9 (Part 2 of 12) ; * LL9 (Part 3 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 7 of 12) ; * LL9 (Part 9 of 12) ; * SHPPT ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.INWK SKIP 33 ; The zero-page internal workspace for the current ship ; data block ; ; As operations on zero page locations are faster and ; have smaller opcodes than operations on the rest of ; the addressable memory, Elite tends to store oft-used ; data here. A lot of the routines in Elite need to ; access and manipulate ship data, so to make this an ; efficient exercise, the ship data is first copied from ; the ship data blocks at K% into INWK (or, when new ; ships are spawned, from the blueprints at XX21). See ; the deep dive on "Ship data blocks" for details of ; what each of the bytes in the INWK data block ; represents ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * DEATH ; * DOCKIT ; * DOEXP ; * DOKEY ; * DVID3B2 ; * ESCAPE ; * EXNO ; * EXNO2 ; * FAROF2 ; * FRS1 ; * GTHG ; * GTNMEW ; * HITCH ; * HME2 ; * KERNALSETUP ; * KS4 ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 6 of 16) ; * Main flight loop (Part 7 of 16) ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 10 of 16) ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 12 of 16) ; * Main flight loop (Part 14 of 16) ; * Main game loop (Part 1 of 6) ; * Main game loop (Part 2 of 6) ; * Main game loop (Part 4 of 6) ; * MAS1 ; * MAS4 ; * MT26 ; * MV40 ; * MVEIT (Part 1 of 9) ; * MVEIT (Part 2 of 9) ; * MVEIT (Part 3 of 9) ; * MVEIT (Part 4 of 9) ; * MVEIT (Part 5 of 9) ; * MVEIT (Part 8 of 9) ; * MVEIT (Part 9 of 9) ; * MVS4 ; * MVS5 ; * MVT1 ; * MVT3 ; * MVT6 ; * NwS1 ; * NWSHP ; * NWSPS ; * PAS1 ; * PAUSE ; * PL9 (Part 2 of 3) ; * PL9 (Part 3 of 3) ; * PLANET ; * PLS1 ; * PLS4 ; * PLUT ; * PROJ ; * PTCLS2 ; * RLINE ; * SCAN ; * SFS1 ; * SOLAR ; * SOS1 ; * TACTICS (Part 1 of 7) ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 3 of 7) ; * TACTICS (Part 4 of 7) ; * TACTICS (Part 5 of 7) ; * TACTICS (Part 6 of 7) ; * TACTICS (Part 7 of 7) ; * TAS3 ; * TIDY ; * TIS3 ; * TITLE ; * TR1 ; * TRNME ; * TT110 ; * TT23 ; * WPSHPS ; * Ze ; * ZINF ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX19 SKIP NI% - 34 ; XX19(1 0) shares its location with INWK(34 33), which ; contains the address of the ship line heap ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * LL9 (Part 1 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 11 of 12) ; * LL9 (Part 12 of 12) ; * PTCLS2 ; * SHPPT ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.NEWB SKIP 1 ; The ship's "new byte flags" (or NEWB flags) ; ; Contains details about the ship's type and associated ; behaviour, such as whether they are a trader, a bounty ; hunter, a pirate, currently hostile, in the process of ; docking, inside the hold having been scooped, and so ; on. The default values for each ship type are taken ; from the table at E%, and you can find out more detail ; in the deep dive on "Advanced tactics with the NEWB ; flags" ; ; [Show more]
; ; This variable is used by the following: ; ; * DOCKIT ; * LL9 (Part 1 of 12) ; * Main flight loop (Part 8 of 16) ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 12 of 16) ; * Main game loop (Part 1 of 6) ; * Main game loop (Part 4 of 6) ; * NWSHP ; * NWSPS ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 3 of 7) ; * TACTICS (Part 4 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.P SKIP 3 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * CHKON ; * CHPR ; * DIALS (Part 2 of 4) ; * DIALS (Part 3 of 4) ; * DOEXP ; * DVID3B2 ; * DVID4 ; * DVIDT ; * FMLTU ; * GC2 ; * HITCH ; * KILLSHP ; * KS3 ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; * MLS1 ; * MLTU2 ; * MLU2 ; * MU1 ; * MU11 ; * MU6 ; * MULT1 ; * MULT12 ; * MULT3 ; * MUT3 ; * MV40 ; * MVEIT (Part 5 of 9) ; * MVS4 ; * MVS5 ; * MVT6 ; * NORM ; * PL9 (Part 2 of 3) ; * PL9 (Part 3 of 3) ; * PLANET ; * PLS1 ; * PLS22 ; * PLS3 ; * PROJ ; * SPS2 ; * SQUA2 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 1 of 4) ; * SUN (Part 3 of 4) ; * TIS3 ; * TT111 ; * TT151 ; * TT210 ; * TT219 ; * TT24 ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XC SKIP 1 ; The x-coordinate of the text cursor (i.e. the text ; column), which can be from 0 to 32 ; ; A value of 0 denotes the leftmost column and 32 the ; rightmost column, but because the top part of the ; screen (the space view) has a border box that ; clashes with columns 0 and 32, text is only shown ; in columns 1-31 ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; * CLYNS ; * DOXC ; * SETXC ; * TITLE ; * TT66simp ; * TTX66 ; * TTX66K ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.COL SKIP 1 ; Temporary storage, used to store colour information ; when drawing pixels in the dashboard ; ; [Show more]
; ; This variable is used by the following: ; ; * CPIX2 ; * DILX ; * DOCOL ; * DOT ; * SCAN ; * STARTUP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.YC SKIP 1 ; The y-coordinate of the text cursor (i.e. the text ; row), which can be from 0 to 23 ; ; The screen actually has 31 character rows if you ; include the dashboard, but the text printing routines ; only work on the top part (the space view), so the ; text cursor only goes up to a maximum of 23, the row ; just before the screen splits ; ; A value of 0 denotes the top row, but because the ; top part of the screen has a border box that clashes ; with row 0, text is always shown at row 1 or greater ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; * CLYNS ; * DOYC ; * INCYC ; * MESS ; * qv ; * SETYC ; * TITLE ; * TT66simp ; * TTX66 ; * TTX66K ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ17 SKIP 1 ; Contains a number of flags that affect how text tokens ; are printed, particularly capitalisation: ; ; * If all bits are set (255) then text printing is ; disabled ; ; * Bit 7: 0 = ALL CAPS ; 1 = Sentence Case, bit 6 determines the ; case of the next letter to print ; ; * Bit 6: 0 = print the next letter in upper case ; 1 = print the next letter in lower case ; ; * Bits 0-5: If any of bits 0-5 are set, print in ; lower case ; ; So: ; ; * QQ17 = 0 means case is set to ALL CAPS ; ; * QQ17 = %10000000 means Sentence Case, currently ; printing upper case ; ; * QQ17 = %11000000 means Sentence Case, currently ; printing lower case ; ; * QQ17 = %11111111 means printing is disabled ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; * CLYNS ; * EQSHP ; * hyp ; * MESS ; * MT17 ; * MT6 ; * TITLE ; * TT102 ; * TT167 ; * TT210 ; * TT219 ; * TT23 ; * TT25 ; * TT27 ; * TT41 ; * TT46 ; * TT69 ; * TTX66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K3 SKIP 0 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * CHKON ; * CHPR ; * CIRCLE2 ; * clss ; * DCS1 ; * DOCKIT ; * DOEXP ; * HFS2 ; * PL9 (Part 3 of 3) ; * PLS22 ; * PROJ ; * PTCLS2 ; * SHPPT ; * SPS3 ; * SPS4 ; * SUN (Part 3 of 4) ; * SUN (Part 4 of 4) ; * SWAPPZERO ; * SWAPPZERO ; * TACTICS (Part 1 of 7) ; * TACTICS (Part 3 of 7) ; * TAS1 ; * TAS2 ; * TT128 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX2 SKIP 14 ; Temporary storage, used to store the visibility of the ; ship's faces during the ship-drawing routine at LL9 ; ; [Show more]
; ; This variable is used by the following: ; ; * LL9 (Part 3 of 12) ; * LL9 (Part 4 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K4 SKIP 2 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * CHKON ; * HFS2 ; * PL9 (Part 3 of 3) ; * PROJ ; * SHPPT ; * SUN (Part 1 of 4) ; * TT128 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX16 SKIP 18 ; Temporary storage for a block of values, used in a ; number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * LL51 ; * LL9 (Part 3 of 12) ; * LL9 (Part 6 of 12) ; * PL9 (Part 2 of 3) ; * PL9 (Part 3 of 3) ; * PLS22 ; * PLS5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX0 SKIP 2 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * HITCH ; * KILLSHP ; * LL9 (Part 1 of 12) ; * LL9 (Part 2 of 12) ; * LL9 (Part 4 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 8 of 16) ; * Main flight loop (Part 12 of 16) ; * MVEIT (Part 4 of 9) ; * NWSHP ; * SFS1 ; * SPIN ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 4 of 7) ; * TACTICS (Part 6 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.INF SKIP 2 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * DEATH ; * GINF ; * KILLSHP ; * LL9 (Part 1 of 12) ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 6 of 16) ; * Main flight loop (Part 12 of 16) ; * NWSHP ; * OOPS ; * SFS1 ; * TACTICS (Part 4 of 7) ; * WPSHPS ; * zonkscanners ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.V SKIP 2 ; Temporary storage, typically used for storing an ; address pointer ; ; [Show more]
; ; This variable is used by the following: ; ; * Checksum ; * DETOK ; * DETOK2 ; * DETOK3 ; * ex ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; * LL9 (Part 11 of 12) ; * mvblockK ; * SUN (Part 1 of 4) ; * SUN (Part 3 of 4) ; * TACTICS (Part 1 of 7) ; * TAS1 ; * VCSU1 ; * VCSUB ; * wantdials ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX SKIP 2 ; Temporary storage, typically used for storing a 16-bit ; x-coordinate ; ; [Show more]
; ; This variable is used by the following: ; ; * MLS2 ; * MUT1 ; * MUT2 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 3 of 4) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.YY SKIP 2 ; Temporary storage, typically used for storing a 16-bit ; y-coordinate ; ; [Show more]
; ; This variable is used by the following: ; ; * EDGES ; * PIX1 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 2 of 4) ; * SUN (Part 3 of 4) ; * SUN (Part 4 of 4) ; * WPLS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SUNX SKIP 2 ; The 16-bit x-coordinate of the vertical centre axis ; of the sun (which might be off-screen) ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (Part 2 of 4) ; * SUN (Part 3 of 4) ; * SUN (Part 4 of 4) ; * WPLS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BETA SKIP 1 ; The current pitch angle beta, which is reduced from ; JSTY to a sign-magnitude value between -8 and +8 ; ; This describes how fast we are pitching our ship, and ; determines how fast the universe pitches around us ; ; The sign bit is also stored in BET2, while the ; opposite sign is stored in BET2+1 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 2 of 4) ; * Main flight loop (Part 2 of 16) ; * MV40 ; * MVS4 ; * RES2 ; * RESET ; * STARS1 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BET1 SKIP 1 ; The magnitude of the pitch angle beta, i.e. |beta|, ; which is a positive value between 0 and 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 2 of 4) ; * Main flight loop (Part 2 of 16) ; * MVEIT (Part 5 of 9) ; * RES2 ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ22 SKIP 2 ; The two hyperspace countdown counters ; ; Before a hyperspace jump, both QQ22 and QQ22+1 are ; set to 15 ; ; QQ22 is an internal counter that counts down by 1 ; each time TT102 is called, which happens every ; iteration of the main game loop. When it reaches ; zero, the on-screen counter in QQ22+1 gets ; decremented, and QQ22 gets set to 5 and the countdown ; continues (so the first tick of the hyperspace counter ; takes 15 iterations to happen, but subsequent ticks ; take 5 iterations each) ; ; QQ22+1 contains the number that's shown on-screen ; during the countdown. It counts down from 15 to 1, and ; when it hits 0, the hyperspace engines kick in ; ; [Show more]
; ; This variable is used by the following: ; ; * DOENTRY ; * hyp ; * TT102 ; * TTX66 ; * wW ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ECMA SKIP 1 ; The E.C.M. countdown timer, which determines whether ; an E.C.M. system is currently operating: ; ; * 0 = E.C.M. is off ; ; * Non-zero = E.C.M. is on and is counting down ; ; The counter starts at 32 when an E.C.M. is activated, ; either by us or by an opponent, and it decreases by 1 ; in each iteration of the main flight loop until it ; reaches zero, at which point the E.C.M. switches off. ; Only one E.C.M. can be active at any one time, so ; there is only one counter ; ; [Show more]
; ; This variable is used by the following: ; ; * ECBLB2 ; * ECMOF ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 16 of 16) ; * RES2 ; * TACTICS (Part 1 of 7) ; * TACTICS (Part 5 of 7) ; * TACTICS (Part 6 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ALP1 SKIP 1 ; Magnitude of the roll angle alpha, i.e. |alpha|, ; which is a positive value between 0 and 31 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 2 of 4) ; * Main flight loop (Part 2 of 16) ; * MLS1 ; * MUT3 ; * MVEIT (Part 5 of 9) ; * RES2 ; * STARS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ALP2 SKIP 2 ; Bit 7 of ALP2 = sign of the roll angle in ALPHA ; ; Bit 7 of ALP2+1 = opposite sign to ALP2 and ALPHA ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 2 of 4) ; * Main flight loop (Part 2 of 16) ; * MVEIT (Part 5 of 9) ; * RES2 ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX15 SKIP 0 ; Temporary storage, typically used for storing screen ; coordinates in line-drawing routines ; ; There are six bytes of storage, from XX15 TO XX15+5. ; The first four bytes have the following aliases: ; ; X1 = XX15 ; Y1 = XX15+1 ; X2 = XX15+2 ; Y2 = XX15+3 ; ; These are typically used for describing lines in terms ; of screen coordinates, i.e. (X1, Y1) to (X2, Y2) ; ; The last two bytes of XX15 do not have aliases ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * BPRNT ; * DOCKIT ; * LL118 ; * LL120 ; * LL145 (Part 1 of 4) ; * LL145 (Part 2 of 4) ; * LL145 (Part 3 of 4) ; * LL145 (Part 4 of 4) ; * LL51 ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 7 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * LL9 (Part 11 of 12) ; * LL9 (Part 12 of 12) ; * Main flight loop (Part 9 of 16) ; * NOISE ; * NOISE2 ; * NOISEOFF ; * NORM ; * SP2 ; * TAS2 ; * TAS3 ; * TAS4 ; * TAS6 ; * TIDY ; * TT15 ; * TT22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.X1 SKIP 1 ; Temporary storage, typically used for x-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * BOXS ; * CPIX2 ; * DOT ; * EDGES ; * FLIP ; * HLOIN ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; * NLIN2 ; * nWq ; * PIXEL2 ; * SCAN ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 3 of 4) ; * WPLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Y1 SKIP 1 ; Temporary storage, typically used for y-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * BOXS ; * CPIX2 ; * CPIX4 ; * DOEXP ; * DOT ; * FLIP ; * HLOIN ; * HLOIN2 ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * MLU1 ; * NLIN2 ; * nWq ; * PIXEL2 ; * PTCLS2 ; * SCAN ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 3 of 4) ; * WPLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.X2 SKIP 1 ; Temporary storage, typically used for x-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * BOXS ; * EDGES ; * HLOIN ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * NLIN2 ; * SUN (Part 3 of 4) ; * WPLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Y2 SKIP 1 ; Temporary storage, typically used for y-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * NLIN2 ; * WPLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 2 ; The last two bytes of the XX15 block .XX12 SKIP 6 ; Temporary storage for a block of values, used in a ; number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * DIALS (Part 3 of 4) ; * LL129 ; * LL145 (Part 1 of 4) ; * LL145 (Part 2 of 4) ; * LL145 (Part 3 of 4) ; * LL145 (Part 4 of 4) ; * LL51 ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 7 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K SKIP 4 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * BPRNT ; * CHKON ; * CIRCLE ; * csh ; * DIALS (Part 1 of 4) ; * DIALS (Part 3 of 4) ; * DIALS (Part 4 of 4) ; * DILX ; * DOCKIT ; * DVID3B2 ; * EQSHP ; * FMLTU2 ; * HFS2 ; * KILLSHP ; * MAS1 ; * MU5 ; * MULT3 ; * MV40 ; * MVS5 ; * MVT3 ; * PL9 (Part 1 of 3) ; * PL9 (Part 2 of 3) ; * PLANET ; * PLS1 ; * PLS22 ; * PLS3 ; * PLS6 ; * PROJ ; * SUN (Part 1 of 4) ; * SUN (Part 3 of 4) ; * SVE ; * TAS1 ; * TT11 ; * TT111 ; * TT14 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LAS SKIP 1 ; 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) ; ; This gets set to bits 0-6 of the laser power byte from ; the commander data block, which contains the laser's ; power (bit 7 doesn't denote laser power, just whether ; or not the laser pulses, so that is not stored here) ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.MSTG SKIP 1 ; The current missile lock target ; ; * $FF = no target ; ; ; [Show more]
; ; This variable is used by the following: ; ; * ABORT2 ; * FRMIS ; * FRS1 ; * KILLSHP ; * Main flight loop (Part 3 of 16) ; * RES2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.thiskey SKIP 1 ; 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) ; ; [Show more]
; ; This variable is used by the following: ; ; * DK4 ; * RDKEY ; * TT17 ; * ZEKTRAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LSP SKIP 1 ; 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) ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * HFS2 ; * TT128 ; * TTX66 ; * WP1 ; * WPLS2 ; * WPSHPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ15 SKIP 6 ; The three 16-bit seeds for the selected system, i.e. ; the one in the crosshairs in the Short-range Chart ; ; See the deep dives on "Galaxy and system seeds" and ; "Twisting the system seeds" for more details ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * cpl ; * Ghy ; * HME2 ; * hyp ; * PDESC ; * SOLAR ; * TT111 ; * TT22 ; * TT23 ; * TT24 ; * TT25 ; * TT54 ; * TT81 ; * ypl ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K5 SKIP 0 ; Temporary storage used to store segment coordinates ; across successive calls to BLINE, the ball line ; routine ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX18 SKIP 4 ; Temporary storage used to store coordinates in the ; LL9 ship-drawing routine ; ; [Show more]
; ; This variable is used by the following: ; ; * LL9 (Part 3 of 12) ; * LL9 (Part 5 of 12) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K6 SKIP 5 ; Temporary storage, typically used for storing ; coordinates during vector calculations ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * CIRCLE2 ; * PLS22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ19 SKIP 6 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * cpl ; * GVL ; * TT103 ; * TT105 ; * TT111 ; * TT123 ; * TT128 ; * TT14 ; * TT15 ; * TT151 ; * TT152 ; * TT16 ; * TT210 ; * TT22 ; * TT25 ; * var ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BET2 SKIP 2 ; Bit 7 of BET2 = sign of the pitch angle in BETA ; ; Bit 7 of BET2+1 = opposite sign to BET2 and BETA ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 2 of 16) ; * MVEIT (Part 5 of 9) ; * RES2 ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DELTA SKIP 1 ; Our current speed, in the range 1-40 ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * DIALS (Part 1 of 4) ; * DOENTRY ; * DOKEY ; * DV41 ; * FRS1 ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 10 of 16) ; * MVEIT (Part 6 of 9) ; * RES2 ; * TITLE ; * TT110 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DELT4 SKIP 2 ; Our current speed * 64 as a 16-bit value ; ; This is stored as DELT4(1 0), so the high byte in ; DELT4+1 therefore contains our current speed / 4 ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 15 of 16) ; * STARS1 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.U SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * BPRNT ; * csh ; * DOEXP ; * LL61 ; * LL62 ; * LL9 (Part 6 of 12) ; * LL9 (Part 7 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 11 of 12) ; * PLS3 ; * PTCLS2 ; * TAS1 ; * TT11 ; * TT111 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Q SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ARCTAN ; * DIALS (Part 3 of 4) ; * DIL2 ; * DILX ; * DOCKIT ; * DOEXP ; * DV41 ; * DVID3B2 ; * DVID4 ; * DVIDT ; * EQSHP ; * FMLTU ; * FMLTU2 ; * gnum ; * LL120 ; * LL123 ; * LL129 ; * LL145 (Part 3 of 4) ; * LL28 ; * LL38 ; * LL5 ; * LL51 ; * LL61 ; * LL9 (Part 3 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 10 of 12) ; * Main flight loop (Part 15 of 16) ; * MLTU2 ; * MULT1 ; * MULT3 ; * MULTU ; * MV40 ; * MVEIT (Part 3 of 9) ; * MVS4 ; * MVS5 ; * NORM ; * PLS22 ; * PLS3 ; * PLS4 ; * PTCLS2 ; * SPS2 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 3 of 4) ; * TAS3 ; * TAS4 ; * TIDY ; * TIS1 ; * TIS2 ; * TIS3 ; * TT111 ; * TT210 ; * TT219 ; * TT24 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.R SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * DCS1 ; * DIALS (Part 2 of 4) ; * DILX ; * DOEXP ; * DVID3B2 ; * DVID4 ; * gnum ; * HITCH ; * LL118 ; * LL120 ; * LL123 ; * LL129 ; * LL145 (Part 4 of 4) ; * LL28 ; * LL38 ; * LL5 ; * LL51 ; * LL61 ; * LL62 ; * LL9 (Part 3 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 8 of 12) ; * Main flight loop (Part 15 of 16) ; * MAS3 ; * MLS2 ; * MULT12 ; * MULT3 ; * MUT1 ; * MVEIT (Part 3 of 9) ; * MVEIT (Part 6 of 9) ; * MVS4 ; * MVS5 ; * MVT1 ; * NORM ; * PLS22 ; * PTCLS2 ; * SFS2 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 3 of 4) ; * TAS3 ; * TAS4 ; * TT111 ; * TT210 ; * TT219 ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.S SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * BPRNT ; * DIALS (Part 2 of 4) ; * DOEXP ; * DVID3B2 ; * gnum ; * HITCH ; * LL118 ; * LL120 ; * LL123 ; * LL129 ; * LL145 (Part 3 of 4) ; * LL145 (Part 4 of 4) ; * LL38 ; * LL5 ; * LL51 ; * LL61 ; * LL9 (Part 5 of 12) ; * MLS2 ; * MULT12 ; * MUT2 ; * MVS4 ; * MVS5 ; * MVT1 ; * MVT3 ; * PLS22 ; * STARS1 ; * STARS2 ; * STARS6 ; * TAS3 ; * TAS4 ; * TT111 ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XSAV SKIP 1 ; Temporary storage for saving the value of the X ; register, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * KS1 ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 12 of 16) ; * MVEIT (Part 1 of 9) ; * MVEIT (Part 2 of 9) ; * TT22 ; * WPSHPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.YSAV SKIP 1 ; Temporary storage for saving the value of the Y ; register, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * HLOIN ; * LOIN (Part 1 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * TT217 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX17 SKIP 1 ; Temporary storage, used in BPRNT to store the number ; of characters to print, and as the edge counter in the ; main ship-drawing routine ; ; [Show more]
; ; This variable is used by the following: ; ; * BPRNT ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * LL9 (Part 11 of 12) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ11 SKIP 1 ; The type of the current view: ; ; 0 = Space view ; 1 = Data on System screen (key "7") ; Get commander name ("@", save/load commander) ; In-system jump just arrived ("J") ; 2 = Buy Cargo screen (key "2") ; 3 = Mis-jump just arrived (witchspace) ; 4 = Sell Cargo screen (key "3") ; 6 = Death screen ; 8 = Status Mode screen (key "9") ; Inventory screen (key "0") ; 13 = Title screen ; 16 = Market Price screen (key "8") ; 32 = Equip Ship screen (key "4") ; 64 = Long-range Chart (key "5") ; 128 = Short-range Chart (key "6") ; 255 = Launch view ; ; This value is typically set by calling routine TT66 ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * DFAULT ; * HFS2 ; * hyp ; * LASLI ; * LOOK1 ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 16 of 16) ; * Main game loop (Part 5 of 6) ; * me2 ; * MESS ; * NWSTARS ; * RDKEY ; * SCAN ; * TITLE ; * TT102 ; * TT103 ; * TT110 ; * TT14 ; * TT15 ; * TT17 ; * TT18 ; * TT210 ; * TT66 ; * TTX66 ; * TTX66K ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ZZ SKIP 1 ; Temporary storage, typically used for distance values ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * FLIP ; * nWq ; * PDESC ; * PIXEL ; * PTCLS2 ; * refund ; * STARS1 ; * STARS2 ; * STARS6 ; * TT111 ; * TT22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX13 SKIP 1 ; Temporary storage, typically used in the line-drawing ; routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * EQSHP ; * LL145 (Part 1 of 4) ; * LL145 (Part 2 of 4) ; * LL145 (Part 4 of 4) ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.MCNT SKIP 1 ; The main loop counter ; ; This counter determines how often certain actions are ; performed within the main loop. See the deep dive on ; "Scheduling tasks with the main loop counter" for more ; details ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * DEATH ; * DIALS (Part 3 of 4) ; * Main flight loop (Part 13 of 16) ; * Main flight loop (Part 14 of 16) ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 2 of 6) ; * MVEIT (Part 1 of 9) ; * MVEIT (Part 2 of 9) ; * MVTRIBS ; * PZW ; * RES2 ; * TITLE ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DL SKIP 1 ; Vertical sync flag ; ; DL gets set to 30 every time we reach vertical sync on ; the video system, which happens 50 times a second ; (50Hz). The WSCAN routine uses this to pause until the ; vertical sync, by setting DL to 0 and then monitoring ; its value until it changes to 30 .TYPE SKIP 1 ; The current ship type ; ; This is where we store the current ship type for when ; we are iterating through the ships in the local bubble ; as part of the main flight loop. See the table at XX21 ; for information about ship types ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * BRIEF ; * DOCKIT ; * DOKEY ; * ESCAPE ; * HITCH ; * LL9 (Part 1 of 12) ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 7 of 16) ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 12 of 16) ; * MVEIT (Part 2 of 9) ; * MVEIT (Part 6 of 9) ; * PL2 ; * PL9 (Part 1 of 3) ; * PLANET ; * SCAN ; * SFS1 ; * TACTICS (Part 4 of 7) ; * TACTICS (Part 5 of 7) ; * TACTICS (Part 7 of 7) ; * TITLE ; * WPSHPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ALPHA SKIP 1 ; The current roll angle alpha, which is reduced from ; JSTX to a sign-magnitude value between -31 and +31 ; ; This describes how fast we are rolling our ship, and ; determines how fast the universe rolls around us ; ; The sign bit is also stored in ALP2, while the ; opposite sign is stored in ALP2+1 ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 2 of 16) ; * MV40 ; * MVS4 ; * RES2 ; * STARS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
;.PBUP ; These instructions are commented out in the original ; ; source ;SKIP 1 ;.HBUP ; These instructions are commented out in the original ; ; source ;SKIP 1 ;.LBUP ; These instructions are commented out in the original ; ; source ;SKIP 1 .QQ12 SKIP 1 ; Our "docked" status ; ; * 0 = we are not docked ; ; * $FF = we are docked ; ; [Show more]
; ; This variable is used by the following: ; ; * BAY ; * hyp ; * Main game loop (Part 6 of 6) ; * PDESC ; * RESET ; * STATUS ; * TT102 ; * TT110 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TGT SKIP 1 ; Temporary storage, typically used as a target value ; for counters when drawing explosion clouds and partial ; circles ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * PL9 (Part 3 of 3) ; * PLS2 ; * PLS22 ; * PTCLS2 ; * SUN (Part 1 of 4) ; * SUN (Part 2 of 4) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.FLAG SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * CIRCLE2 ; * PLS22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.CNT SKIP 1 ; Temporary storage, typically used for storing the ; number of iterations required when looping ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * CIRCLE2 ; * DOEXP ; * LL9 (Part 6 of 12) ; * LL9 (Part 8 of 12) ; * PLS22 ; * PTCLS2 ; * SPIN ; * STATUS ; * SUN (Part 1 of 4) ; * SUN (Part 3 of 4) ; * TACTICS (Part 3 of 7) ; * TACTICS (Part 6 of 7) ; * TACTICS (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.CNT2 SKIP 1 ; Temporary storage, used in the planet-drawing routine ; to store the segment number where the arc of a partial ; circle should start ; ; [Show more]
; ; This variable is used by the following: ; ; * DOCKIT ; * PL9 (Part 3 of 3) ; * PLS22 ; * PLS4 ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 7 of 7) ; * TITLE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.STP SKIP 1 ; The step size for drawing circles ; ; Circles in Elite are split up into 64 points, and the ; step size determines how many points to skip with each ; straight-line segment, so the smaller the step size, ; the smoother the circle. The values used are: ; ; * 2 for big planets and the circles on the charts ; * 4 for medium planets and the launch tunnel ; * 8 for small planets and the hyperspace tunnel ; ; As the step size increases we move from smoother ; circles at the top to more polygonal at the bottom. ; See the CIRCLE2 routine for more details ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * CIRCLE ; * HFS2 ; * PLS22 ; * TT128 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX4 SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * GVL ; * HFS2 ; * KILLSHP ; * KS2 ; * LL9 (Part 1 of 12) ; * LL9 (Part 2 of 12) ; * LL9 (Part 4 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX20 SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * HME2 ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 11 of 12) ; * LL9 (Part 12 of 12) ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX14 SKIP 1 ; This byte appears to be unused .RAT SKIP 1 ; Used to store different signs depending on the current ; space view, for use in calculating stardust movement ; ; [Show more]
; ; This variable is used by the following: ; ; * DOCKIT ; * PLUT ; * STARS2 ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.RAT2 SKIP 1 ; Temporary storage, used to store the pitch and roll ; signs when moving objects and stardust ; ; [Show more]
; ; This variable is used by the following: ; ; * DOCKIT ; * MVEIT (Part 8 of 9) ; * MVS5 ; * PLUT ; * STARS2 ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.K2 SKIP 4 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * MV40 ; * MVEIT (Part 5 of 9) ; * PL9 (Part 2 of 3) ; * PL9 (Part 3 of 3) ; * PLS22 ; * PLS5 ; * SUN (Part 1 of 4) ; * SUN (Part 3 of 4) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.widget SKIP 1 ; Temporary storage, used to store the original argument ; in A in the logarithmic FMLTU and LL28 routines ; ; [Show more]
; ; This variable is used by the following: ; ; * DVID4 ; * FMLTU ; * LL28 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.dontclip SKIP 1 ; 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) ; ; * Bit 7 clear = clipping is enabled ; ; * Bit 7 set = clipping is disabled ; ; [Show more]
; ; This variable is used by the following: ; ; * LL145 (Part 1 of 4) ; * RES2 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Yx2M1 SKIP 1 ; 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) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHKON ; * RES2 ; * SUN (Part 1 of 4) ; * SUN (Part 2 of 4) ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.messXC SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * MESS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.newzp SKIP 1 ; This is used by the STARS2 routine for storing the ; stardust particle's delta_x value ; ; [Show more]
; ; This variable is used by the following: ; ; * STARS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.T SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * BLINE ; * BPRNT ; * BUMP2 ; * CHECK2 ; * Checksum ; * CIRCLE2 ; * cpl ; * DEEORS ; * DOEXP ; * DVID3B2 ; * DVIDT ; * EDGES ; * gnum ; * KILLSHP ; * LL120 ; * LL123 ; * LL145 (Part 3 of 4) ; * LL5 ; * LL51 ; * LL9 (Part 2 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 7 of 12) ; * LL9 (Part 8 of 12) ; * Main game loop (Part 3 of 6) ; * Main game loop (Part 4 of 6) ; * Main game loop (Part 5 of 6) ; * MLS1 ; * MU11 ; * MULT1 ; * MULT3 ; * MV40 ; * MVS5 ; * MVT1 ; * MVT3 ; * MVTRIBS ; * NORM ; * NWSHP ; * OOPS ; * PIXEL2 ; * PLS22 ; * REDU2 ; * SIGHT ; * SP2 ; * STARS1 ; * STARS6 ; * SUN (Part 3 of 4) ; * TACTICS (Part 5 of 7) ; * TIS1 ; * TIS2 ; * TT111 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.P2 SKIP 1 ; Temporary storage, used in place of variable P in the ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Q2 SKIP 1 ; Temporary storage, used in place of variable Q in the ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.R2 SKIP 1 ; Temporary storage, used in place of variable R in the ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BOXS2 ; * HLOIN ; * LOIN (Part 5 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.S2 SKIP 1 ; Temporary storage, used in place of variable S in the ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * LOIN (Part 1 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.T2 SKIP 1 ; Temporary storage, used in place of variable T in the ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BOX2 ; * HLOIN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 1 ; This byte appears to be unused .BDdataptr1 SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDlab19 ; * BDRO9 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BDdataptr2 SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDRO9 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BDdataptr3 SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDRO9 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BDdataptr4 SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDRO9 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.counter SKIP 1 ; The rest counter when playing music, for implementing ; music commands #8 and #15 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDirqhere ; * BDlab21 ; * BDRO8 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.vibrato2 SKIP 1 ; The vibrato counter for voice 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDlab1 ; * BDlab24 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.vibrato3 SKIP 1 ; The vibrato counter for voice 3 ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDlab1 ; * BDlab23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice2lo1 SKIP 1 ; The high byte of the first vibrato frequency for ; voice 2, which contains the lower frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab24 ; * BDlab5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice2hi1 SKIP 1 ; The low byte of the first vibrato frequency for ; voice 2, which contains the lower frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab24 ; * BDlab5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice2lo2 SKIP 1 ; The high byte of the second vibrato frequency for ; voice 2, which contains the higher frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab24 ; * BDlab5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice2hi2 SKIP 1 ; The low byte of the second vibrato frequency for ; voice 2, which contains the higher frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab24 ; * BDlab5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice3lo1 SKIP 1 ; The high byte of the first vibrato frequency for ; voice 3, which contains the lower frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab23 ; * BDlab7 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice3hi1 SKIP 1 ; The low byte of the first vibrato frequency for ; voice 3, which contains the lower frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab23 ; * BDlab7 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice3lo2 SKIP 1 ; The high byte of the second vibrato frequency for ; voice 3, which contains the higher frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab23 ; * BDlab7 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.voice3hi2 SKIP 1 ; The low byte of the second vibrato frequency for ; voice 3, which contains the higher frequency ; ; Note that the vibrato labels have hi and lo the wrong ; way around ; ; [Show more]
; ; This variable is used by the following: ; ; * BDlab23 ; * BDlab7 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BDBUFF SKIP 1 ; The music data byte that is currently being processed, ; with the low nibble being processed first, and then ; the high nibble ; ; [Show more]
; ; This variable is used by the following: ; ; * BDENTRY ; * BDirqhere ; * BDRO15 ; * BDRO9 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PRINT "ZP workspace from ", ~ZP, "to ", ~P%-1, "inclusive"
Name: XX3 [Show more] Type: Workspace Address: $0100 to the top of the descending stack Category: Workspaces Summary: Temporary storage space for complex calculations
Context: See this workspace on its own page References: This workspace is used as follows: * DOEXP uses XX3 * LL62 uses XX3 * LL9 (Part 2 of 12) uses XX3 * LL9 (Part 8 of 12) uses XX3 * LL9 (Part 9 of 12) uses XX3 * LL9 (Part 10 of 12) uses XX3 * SFS1 uses XX3

Used as heap space for storing temporary data during calculations. Shared with the descending 6502 stack, which works down from $01FF.
ORG $0100 .XX3 SKIP 256 ; Temporary storage, typically used for storing tables ; of values such as screen coordinates or ship data ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * LL62 ; * LL9 (Part 2 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * SFS1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
Name: K% [Show more] Type: Workspace Address: $F900 to $FA71 ($F000 to $F171 in the source disk variant) Category: Workspaces Summary: Ship data blocks and ship line heaps Deep dive: Ship data blocks The local bubble of universe
Context: See this workspace on its own page References: This workspace is used as follows: * ANGRY uses K% * DCS1 uses K% * DOEXP uses K% * Main flight loop (Part 1 of 16) uses K% * Main flight loop (Part 9 of 16) uses K% * Main flight loop (Part 14 of 16) uses K% * Main game loop (Part 4 of 6) uses K% * MAS2 uses K% * MAS3 uses K% * PTCLS2 uses K% * SPS3 uses K% * SPS4 uses K% * TAS4 uses K% * UNIV uses K% * VCSU1 uses K% * WARP uses K%

The blocks are pointed to by the lookup table at location UNIV. The first 370 bytes of the K% workspace hold ship data on up to 10 ships, with 37 (NI%) bytes per ship. See the deep dive on "Ship data blocks" for details on ship data blocks, and the deep dive on "The local bubble of universe" for details of how Elite stores the local universe in K%, FRIN and UNIV.
IF _GMA_RELEASE ORG $F900 ELIF _SOURCE_DISK ORG $F000 ENDIF .K% SKIP NOSH * NI% ; Ship data blocks and ship line heap ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * DCS1 ; * DOEXP ; * Main flight loop (Part 1 of 16) ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 14 of 16) ; * Main game loop (Part 4 of 6) ; * MAS2 ; * MAS3 ; * PTCLS2 ; * SPS3 ; * SPS4 ; * TAS4 ; * UNIV ; * VCSU1 ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PRINT "K% workspace from ", ~K%, "to ", ~P%-1, "inclusive"
Name: UP [Show more] Type: Workspace Address: $0400 to $0540 Category: Workspaces Summary: Configuration variables
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG $0400 .UP SKIP 0 ; The start of the UP workspace ;.QQ16 ; This QQ16 label is present in the original source, but ; it is overridden by the QQ16 label in the ELITE A ; section, so this declaration has no effect. BeebAsm ; does not allow labels to be defined twice, so this one ; is commented out SKIP 65 ; These bytes appear to be unused .KL SKIP 1 ; 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) ; ; [Show more]
; ; This variable is used by the following: ; ; * DK4 ; * U% ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 16 ; These bytes appear to be unused .FRIN SKIP NOSH + 1 ; Slots for the ships in the local bubble of universe ; ; There are #NOSH + 1 slots, but the ship-spawning ; routine at NWSHP only populates #NOSH of them, so ; (the last slot is effectively used as a null ; terminator when shuffling the slots down in the ; KILLSHP routine) ; ; See the deep dive on "The local bubble of universe" ; for details of how Elite stores the local universe in ; FRIN, UNIV and K% ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * DEEOR ; * DEEORS ; * FRMIS ; * KILLSHP ; * KS2 ; * KS4 ; * Main flight loop (Part 4 of 16) ; * NWSHP ; * NWSPS ; * STATUS ; * WARP ; * WPSHPS ; * ZERO ; * zonkscanners ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.MANY SKIP SST ; The number of ships of each type in the local bubble ; of universe ; ; The number of ships of type X in the local bubble is ; stored at MANY+X ; ; See the deep dive on "Ship blueprints" for a list of ; ship types ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * Main game loop (Part 3 of 6) ; * Main game loop (Part 4 of 6) ; * MJP ; * NWSHP ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 3 of 7) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SSPR SKIP NTY + 1 - SST ; "Space station present" flag ; ; * Non-zero if we are inside the space station's safe ; zone ; ; ; This flag is at MANY+SST, which is no coincidence, as ; MANY+SST is a count of how many space stations there ; are in our local bubble, which is the same as saying ; "space station present" ; ; [Show more]
; ; This variable is used by the following: ; ; * COMPAS ; * DOCKIT ; * KS4 ; * Main flight loop (Part 14 of 16) ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 2 of 6) ; * Main game loop (Part 3 of 6) ; * RES2 ; * TACTICS (Part 3 of 7) ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.JUNK SKIP 1 ; The amount of junk in the local bubble ; ; "Junk" is defined as being one of these: ; ; * Escape pod ; * Alloy plate ; * Cargo canister ; * Asteroid ; * Splinter ; * Shuttle ; * Transporter ; ; [Show more]
; ; This variable is used by the following: ; ; * KILLSHP ; * Main game loop (Part 2 of 6) ; * NWSHP ; * STATUS ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.auto SKIP 1 ; Docking computer activation status ; ; * 0 = Docking computer is off ; ; * Non-zero = Docking computer is running ; ; [Show more]
; ; This variable is used by the following: ; ; * cntr ; * DOKEY ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 15 of 16) ; * MUTOKCH ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ECMP SKIP 1 ; Our E.C.M. status ; ; * 0 = E.C.M. is off ; ; * Non-zero = E.C.M. is on ; ; [Show more]
; ; This variable is used by the following: ; ; * ECMOF ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 16 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.MJ SKIP 1 ; Are we in witchspace (i.e. have we mis-jumped)? ; ; * 0 = no, we are in normal space ; ; * $FF = yes, we are in witchspace ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 12 of 16) ; * Main flight loop (Part 14 of 16) ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 2 of 6) ; * MJP ; * TT151 ; * WARP ; * ypl ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.CABTMP SKIP 1 ; Cabin temperature ; ; The ambient cabin temperature in deep space is 30, ; which is displayed as one notch on the dashboard bar ; ; We get higher temperatures closer to the sun ; ; CABTMP shares a location with MANY, but that's OK as ; MANY+0 would contain the number of ships of type 0, ; and as there is no ship type 0 (they start at 1), the ; byte at MANY+0 is not used for storing a ship type ; and can be used for the cabin temperature instead ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 5 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LAS2 SKIP 1 ; Laser power for the current laser ; ; * Bits 0-6 contain the laser power of the current ; space view ; ; * Bit 7 denotes whether or not the laser pulses: ; ; * 0 = pulsing laser ; ; * 1 = beam laser (i.e. always on) ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 16 of 16) ; * TTX66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.MSAR SKIP 1 ; The targeting state of our leftmost missile ; ; * 0 = missile is not looking for a target, or it ; already has a target lock (indicator is not ; yellow/white) ; ; * Non-zero = missile is currently looking for a ; target (indicator is yellow/white) ; ; [Show more]
; ; This variable is used by the following: ; ; * ABORT2 ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.VIEW SKIP 1 ; The number of the current space view ; ; * 0 = front ; * 1 = rear ; * 2 = left ; * 3 = right ; ; [Show more]
; ; This variable is used by the following: ; ; * LOOK1 ; * Main flight loop (Part 3 of 16) ; * PLUT ; * SIGHT ; * STARS ; * TTX66 ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LASCT SKIP 1 ; The laser pulse count for the current laser ; ; This is a counter that defines the gap between the ; pulses of a pulse laser. It is set as follows: ; ; * 0 for a beam laser ; ; * 10 for a pulse laser ; ; ; In comparison, beam lasers fire continuously as the ; value of LASCT is always 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 16 of 16) ; * Main game loop (Part 5 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.GNTMP SKIP 1 ; Laser temperature (or "gun temperature") ; ; If the laser temperature exceeds 242 then the laser ; overheats and cannot be fired again until it has ; cooled down ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * DOENTRY ; * LASLI ; * Main flight loop (Part 3 of 16) ; * Main game loop (Part 5 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.HFX SKIP 1 ; 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 .EV SKIP 1 ; The "extra vessels" spawning counter ; ; This counter is set to 0 on arrival in a system and ; following an in-system jump, and is bumped up when we ; spawn bounty hunters or pirates (i.e. "extra vessels") ; ; It decreases by 1 each time we consider spawning more ; "extra vessels" in part 4 of the main game loop, so ; increasing the value of EV has the effect of delaying ; the spawning of more vessels ; ; In other words, this counter stops bounty hunters and ; pirates from continually appearing, and ensures that ; there's a delay between spawnings ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * Main game loop (Part 4 of 6) ; * WARP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DLY SKIP 1 ; In-flight message delay ; ; This counter is used to keep an in-flight message up ; for a specified time before it gets removed. The value ; in DLY is decremented each time we start another ; iteration of the main game loop at TT100 ; ; [Show more]
; ; This variable is used by the following: ; ; * CLYNS ; * Main flight loop (Part 12 of 16) ; * Main game loop (Part 2 of 6) ; * me1 ; * me2 ; * MESS ; * OUCH ; * TTX66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.de SKIP 1 ; Equipment destruction flag ; ; * Bit 1 denotes whether or not the in-flight message ; about to be shown by the MESS routine is about ; destroyed equipment: ; ; * 0 = the message is shown normally ; ; * 1 = the string " DESTROYED" gets added to the ; end of the message ; ; [Show more]
; ; This variable is used by the following: ; ; * CLYNS ; * mes9 ; * MESS ; * OUCH ; * TTX66 ; * ZERO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.JSTX SKIP 1 ; Our current roll rate ; ; This value is shown in the dashboard's RL indicator, ; and determines the rate at which we are rolling ; ; The value ranges from 1 to 255 with 128 as the centre ; point, so 1 means roll is decreasing at the maximum ; rate, 128 means roll is not changing, and 255 means ; roll is increasing at the maximum rate ; ; This value is updated by "<" and ">" key presses, or ; if joysticks are enabled, from the joystick. If ; keyboard damping is enabled (which it is by default), ; the value is slowly moved towards the centre value of ; 128 (no roll) if there are no key presses or joystick ; movement ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.JSTY SKIP 1 ; Our current pitch rate ; ; This value is shown in the dashboard's DC indicator, ; and determines the rate at which we are pitching ; ; The value ranges from 1 to 255 with 128 as the centre ; point, so 1 means pitch is decreasing at the maximum ; rate, 128 means pitch is not changing, and 255 means ; pitch is increasing at the maximum rate ; ; This value is updated by "S" and "X" key presses, or ; if joysticks are enabled, from the joystick. If ; keyboard damping is enabled (which it is by default), ; the value is slowly moved towards the centre value of ; 128 (no pitch) if there are no key presses or joystick ; movement ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; * RES2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XSAV2 SKIP 1 ; Temporary storage, used for storing the value of the X ; register in the CHPR routine ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.YSAV2 SKIP 1 ; Temporary storage, used for storing the value of the Y ; register in the CHPR routine ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.NAME SKIP 8 ; The current commander name ; ; The commander name can be up to 7 characters (the DFS ; limit for filenames), and is terminated by a carriage ; return ; ; [Show more]
; ; This variable is used by the following: ; ; * cmn ; * DFAULT ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TP SKIP 1 ; The current mission status ; ; * Bits 0-1 = Mission 1 status ; ; * %00 = Mission not started ; * %01 = Mission in progress, hunting for ship ; * %11 = Constrictor killed, not debriefed yet ; * %10 = Mission and debrief complete ; ; * Bits 2-3 = Mission 2 status ; ; * %00 = Mission not started ; * %01 = Mission in progress, plans not picked up ; * %10 = Mission in progress, plans picked up ; * %11 = Mission complete ; ; * Bit 4 = Trumble mission status ; ; * %0 = Trumbles not yet offered ; * %1 = Trumbles accepted or declined ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * BRIEF2 ; * BRIEF3 ; * DEBRIEF ; * DEBRIEF2 ; * DOENTRY ; * KILLSHP ; * Main game loop (Part 4 of 6) ; * PDESC ; * SVE ; * TBRIEF ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ0 SKIP 1 ; The current system's galactic x-coordinate (0-256) ; ; [Show more]
; ; This variable is used by the following: ; ; * DOENTRY ; * jmp ; * ping ; * THERE ; * TT105 ; * TT111 ; * TT14 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ1 SKIP 1 ; The current system's galactic y-coordinate (0-256) ; ; [Show more]
; ; This variable is used by the following: ; ; * DOENTRY ; * jmp ; * MJP ; * THERE ; * TT105 ; * TT111 ; * TT14 ; * TT23 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ21 SKIP 6 ; The three 16-bit seeds for the current galaxy ; ; These seeds define system 0 in the current galaxy, so ; they can be used as a starting point to generate all ; 256 systems in the galaxy ; ; Using a galactic hyperdrive rotates each byte to the ; left (rolling each byte within itself) to get the ; seeds for the next galaxy, so after eight galactic ; jumps, the seeds roll around to the first galaxy again ; ; See the deep dives on "Galaxy and system seeds" and ; "Twisting the system seeds" for more details ; ; [Show more]
; ; This variable is used by the following: ; ; * Ghy ; * TT81 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.CASH SKIP 4 ; Our current cash pot ; ; The cash stash is stored as a 32-bit unsigned integer, ; with the most significant byte in CASH and the least ; significant in CASH+3. This is big-endian, which is ; the opposite way round to most of the numbers used in ; Elite - to use our notation for multi-byte numbers, ; the amount of cash is CASH(0 1 2 3) ; ; [Show more]
; ; This variable is used by the following: ; ; * csh ; * DOENTRY ; * LCASH ; * MCASH ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ14 SKIP 1 ; Our current fuel level (0-70) ; ; The fuel level is stored as the number of light years ; multiplied by 10, so QQ14 = 1 represents 0.1 light ; years, and the maximum possible value is 70, for 7.0 ; light years ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * EQSHP ; * ESCAPE ; * fwl ; * hyp ; * Main flight loop (Part 15 of 16) ; * TT14 ; * TT18 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.COK SKIP 1 ; Flags used to generate the competition code ; ; See the deep dive on "The competition code" for ; details of these flags and how they are used in ; generating and decoding the competition code ; ; [Show more]
; ; This variable is used by the following: ; ; * DFAULT ; * MJP ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.GCNT SKIP 1 ; The number of the current galaxy (0-7) ; ; When this is displayed in-game, 1 is added to the ; number, so we start in galaxy 1 in-game, but it's ; stored as galaxy 0 internally ; ; The galaxy number increases by one every time a ; galactic hyperdrive is used, and wraps back around to ; the start after eight galaxies ; ; [Show more]
; ; This variable is used by the following: ; ; * DOENTRY ; * Ghy ; * MT28 ; * PDESC ; * tal ; * THERE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LASER SKIP 4 ; The specifications of the lasers fitted to each of the ; four space views: ; ; * Byte #0 = front view ; * Byte #1 = rear view ; * Byte #2 = left view ; * Byte #3 = right view ; ; For each of the views: ; ; * 0 = no laser is fitted to this view ; ; * Non-zero = a laser is fitted to this view, with ; the following specification: ; ; * Bits 0-6 contain the laser's power ; ; * Bit 7 determines whether or not the laser pulses ; (0 = pulse or mining laser) or is always on ; (1 = beam or military laser) ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * refund ; * SIGHT ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 2 ; These bytes appear to be unused (they were originally ; used for up/down lasers, but they were dropped) .CRGO SKIP 1 ; Our ship's cargo capacity ; ; * 22 = standard cargo bay of 20 tonnes ; ; * 37 = large cargo bay of 35 tonnes ; ; The value is two greater than the actual capacity to ; make the maths in tnpr slightly more efficient ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * tnpr ; * TT213 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ20 SKIP 17 ; The contents of our cargo hold ; ; The amount of market item X that we have in our hold ; can be found in the X-th byte of QQ20. For example: ; ; * QQ20 contains the amount of food (item 0) ; ; * QQ20+7 contains the amount of computers (item 7) ; ; See QQ23 for a list of market item numbers and their ; storage units ; ; [Show more]
; ; This variable is used by the following: ; ; * BAD ; * ESCAPE ; * Main flight loop (Part 8 of 16) ; * OUCH ; * SOLAR ; * tnpr ; * TT210 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ECM SKIP 1 ; E.C.M. system ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BST SKIP 1 ; Fuel scoops (BST stands for "barrel status") ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Main flight loop (Part 7 of 16) ; * Main flight loop (Part 15 of 16) ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BOMB SKIP 1 ; Energy bomb ; ; * 0 = not fitted ; ; * $7F = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * COMIRQ1 ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 13 of 16) ; * RES2 ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ENGY SKIP 1 ; Energy unit ; ; * 0 = not fitted ; ; * Non-zero = fitted ; ; The actual value determines the refresh rate of our ; energy banks, as they refresh by ENGY+1 each time (so ; our ship's energy level goes up by 2 each time if we ; have an energy unit fitted, otherwise it goes up by 1) ; ; [Show more]
; ; This variable is used by the following: ; ; * DEBRIEF2 ; * EQSHP ; * Main flight loop (Part 13 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DKCMP SKIP 1 ; Docking computer ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Main flight loop (Part 3 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.GHYP SKIP 1 ; Galactic hyperdrive ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * Ghy ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ESCP SKIP 1 ; Escape pod ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * ESCAPE ; * Main flight loop (Part 3 of 16) ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 1 ; This byte appears to be unused .TRIBBLE SKIP 2 ; The number of Trumbles in the cargo hold ; ; [Show more]
; ; This variable is used by the following: ; ; * ESCAPE ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 5 of 6) ; * SIGHT ; * SOLAR ; * TBRIEF ; * tnpr ; * TT210 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TALLYL SKIP 1 ; Combat rank fraction ; ; Contains the fraction part of the kill count, which ; together with the integer in TALLY(1 0) determines our ; combat rank. The fraction is stored as the numerator ; of a fraction with a denominator of 256, so a TALLYL ; of 128 would represent 0.5 (i.e. 128 / 256) ; ; [Show more]
; ; This variable is used by the following: ; ; * EXNO2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.NOMSL SKIP 1 ; The number of missiles we have fitted (0-4) ; ; [Show more]
; ; This variable is used by the following: ; ; * ABORT2 ; * EQSHP ; * FRMIS ; * Main flight loop (Part 3 of 16) ; * msblob ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.FIST SKIP 1 ; Our legal status (FIST stands for "fugitive/innocent ; status"): ; ; * 0 = Clean ; ; * 1-49 = Offender ; ; * 50+ = Fugitive ; ; You get 64 points if you kill a cop, so that's a fast ; ticket to fugitive status ; ; [Show more]
; ; This variable is used by the following: ; ; * ESCAPE ; * Ghy ; * Main flight loop (Part 12 of 16) ; * Main game loop (Part 3 of 6) ; * SOLAR ; * STATUS ; * TACTICS (Part 3 of 7) ; * TT110 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.AVL SKIP 17 ; Market availability in the current system ; ; The available amount of market item X is stored in ; the X-th byte of AVL, so for example: ; ; * AVL contains the amount of food (item 0) ; ; * AVL+7 contains the amount of computers (item 7) ; ; See QQ23 for a list of market item numbers and their ; storage units, and the deep dive on "Market item ; prices and availability" for details of the algorithm ; used for calculating each item's availability ; ; [Show more]
; ; This variable is used by the following: ; ; * GVL ; * TT151 ; * TT219 ; * var ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ26 SKIP 1 ; A random value used to randomise market data ; ; This value is set to a new random number for each ; change of system, so we can add a random factor into ; the calculations for market prices (for details of how ; this is used, see the deep dive on "Market prices") ; ; [Show more]
; ; This variable is used by the following: ; ; * GVL ; * TT151 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TALLY SKIP 2 ; Our combat rank ; ; The combat rank is stored as the number of kills, in a ; 16-bit number TALLY(1 0) - so the high byte is in ; TALLY+1 and the low byte in TALLY ; ; If the high byte in TALLY+1 is 0 then we have between ; 0 and 255 kills, so our rank is Harmless, Mostly ; Harmless, Poor, Average or Above Average, according to ; the value of the low byte in TALLY: ; ; Harmless = %00000000 to %00000011 = 0 to 3 ; Mostly Harmless = %00000100 to %00000111 = 4 to 7 ; Poor = %00001000 to %00001111 = 8 to 15 ; Average = %00010000 to %00011111 = 16 to 31 ; Above Average = %00100000 to %11111111 = 32 to 255 ; ; If the high byte in TALLY+1 is non-zero then we are ; Competent, Dangerous, Deadly or Elite, according to ; the high byte in TALLY+1: ; ; Competent = 1 = 256 to 511 kills ; Dangerous = 2 to 9 = 512 to 2559 kills ; Deadly = 10 to 24 = 2560 to 6399 kills ; Elite = 25 and up = 6400 kills and up ; ; You can see the rating calculation in the STATUS ; subroutine ; ; [Show more]
; ; This variable is used by the following: ; ; * DEBRIEF2 ; * DOENTRY ; * EXNO2 ; * KILLSHP ; * STATUS ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SVC SKIP 1 ; The save count ; ; When a new commander is created, the save count gets ; set to 128. This value gets halved each time the ; commander file is saved, but it is otherwise unused. ; It is presumably part of the security system for the ; competition, possibly another flag to catch out ; entries with manually altered commander files ; ; [Show more]
; ; This variable is used by the following: ; ; * SVE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SKIP 2 ; The commander file checksum ; ; These two bytes are reserved for the commander file ; checksum, so when the current commander block is ; copied from here to the last saved commander block at ; NA%, CHK and CHK2 get overwritten SKIP 1 ; The second commander file checksum ; ; This byte is reserved for the second commander file ; checksum in CHK3 NT% = SVC + 3 - TP ; This sets the variable NT% to the size of the current ; commander data block, which starts at TP and ends at ; SVC+3 (inclusive), i.e. with the last checksum byte .MCH SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * me1 ; * me2 ; * MESS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.FSH SKIP 1 ; Forward shield status ; ; * 0 = empty ; ; * $FF = full ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * DOENTRY ; * Main flight loop (Part 13 of 16) ; * OOPS ; * RESET ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ASH SKIP 1 ; Aft shield status ; ; * 0 = empty ; ; * $FF = full ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * DOENTRY ; * Main flight loop (Part 13 of 16) ; * OOPS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ENERGY SKIP 1 ; Energy bank status ; ; * 0 = empty ; ; * $FF = full ; ; [Show more]
; ; This variable is used by the following: ; ; * DENGY ; * DIALS (Part 3 of 4) ; * DOENTRY ; * Main flight loop (Part 13 of 16) ; * Main flight loop (Part 15 of 16) ; * OOPS ; * STATUS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.COMX SKIP 1 ; The x-coordinate of the compass dot ; ; [Show more]
; ; This variable is used by the following: ; ; * DOT ; * SP2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.COMY SKIP 1 ; The y-coordinate of the compass dot ; ; [Show more]
; ; This variable is used by the following: ; ; * DOT ; * SP2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ24 SKIP 1 ; Temporary storage, used to store the current market ; item's price in routine TT151 ; ; [Show more]
; ; This variable is used by the following: ; ; * TT151 ; * TT210 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ25 SKIP 1 ; Temporary storage, used to store the current market ; item's availability in routine TT151 ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * gnum ; * TT151 ; * TT210 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ28 SKIP 1 ; The current system's economy (0-7) ; ; * 0 = Rich Industrial ; * 1 = Average Industrial ; * 2 = Poor Industrial ; * 3 = Mainly Industrial ; * 4 = Mainly Agricultural ; * 5 = Rich Agricultural ; * 6 = Average Agricultural ; * 7 = Poor Agricultural ; ; See the deep dive on "Generating system data" for more ; information on economies ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * var ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ29 SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 8 of 16) ; * NWDAV4 ; * tnpr ; * tnpr1 ; * TT167 ; * TT210 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.gov SKIP 1 ; The current system's government type (0-7) ; ; See the deep dive on "Generating system data" for ; details of the various government types ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * Main game loop (Part 4 of 6) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tek SKIP 1 ; The current system's tech level (0-14) ; ; See the deep dive on "Generating system data" for more ; information on tech levels ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * EQSHP ; * hyp1 ; * NWSPS ; * qv ; * SOS1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SLSP SKIP 2 ; The address of the bottom of the ship line heap ; ; The ship line heap is a descending block of memory ; extended downwards by the NWSHP routine when adding ; new ships (and their associated ship line heaps), in ; which case SLSP is lowered to provide more heap space, ; assuming there is enough free memory to do so ; ; [Show more]
; ; This variable is used by the following: ; ; * KS3 ; * NWSHP ; * RES2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ2 SKIP 6 ; The three 16-bit seeds for the current system, i.e. ; the one we are currently in ; ; See the deep dives on "Galaxy and system seeds" and ; "Twisting the system seeds" for more details ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * ypl ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.safehouse SKIP 6 ; Backup storage for the seeds for the selected system ; ; The seeds for the current system get stored here as ; soon as a hyperspace is initiated, so we can fetch ; them in the hyp1 routine. This fixes a bug in an ; earlier version where you could hyperspace while ; docking and magically appear in your destination ; station ; ; [Show more]
; ; This variable is used by the following: ; ; * Ghy ; * hyp ; * hyp1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ3 SKIP 1 ; The selected system's economy (0-7) ; ; * 0 = Rich Industrial ; * 1 = Average Industrial ; * 2 = Poor Industrial ; * 3 = Mainly Industrial ; * 4 = Mainly Agricultural ; * 5 = Rich Agricultural ; * 6 = Average Agricultural ; * 7 = Poor Agricultural ; ; See the deep dive on "Generating system data" for more ; information on economies ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * TT24 ; * TT25 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ4 SKIP 1 ; The selected system's government (0-7) ; ; See the deep dive on "Generating system data" for more ; details of the various government types ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * TT24 ; * TT25 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ5 SKIP 1 ; The selected system's tech level (0-14) ; ; See the deep dive on "Generating system data" for more ; information on tech levels ; ; [Show more]
; ; This variable is used by the following: ; ; * BR1 (Part 2 of 2) ; * hyp1 ; * TT24 ; * TT25 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ6 SKIP 2 ; The selected system's population in billions * 10 ; (1-71), so the maximum population is 7.1 billion ; ; See the deep dive on "Generating system data" for more ; details on population levels ; ; [Show more]
; ; This variable is used by the following: ; ; * TT24 ; * TT25 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ7 SKIP 2 ; The selected system's productivity in M CR (96-62480) ; ; See the deep dive on "Generating system data" for more ; details about productivity levels ; ; [Show more]
; ; This variable is used by the following: ; ; * TT24 ; * TT25 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ8 SKIP 2 ; The distance from the current system to the selected ; system in light years * 10, stored as a 16-bit number ; ; The distance will be 0 if the selected system is the ; current system ; ; The galaxy chart is 102.4 light years wide and 51.2 ; light years tall (see the intra-system distance ; calculations in routine TT111 for details), which ; equates to 1024 x 512 in terms of QQ8 ; ; [Show more]
; ; This variable is used by the following: ; ; * Ghy ; * hyp ; * PDESC ; * TT111 ; * TT146 ; * TT18 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ9 SKIP 1 ; The galactic x-coordinate of the crosshairs in the ; galaxy chart (and, most of the time, the selected ; system's galactic x-coordinate) ; ; [Show more]
; ; This variable is used by the following: ; ; * Ghy ; * HME2 ; * jmp ; * ping ; * TT103 ; * TT105 ; * TT111 ; * TT16 ; * TT22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ10 SKIP 1 ; The galactic y-coordinate of the crosshairs in the ; galaxy chart (and, most of the time, the selected ; system's galactic y-coordinate) ; ; [Show more]
; ; This variable is used by the following: ; ; * Ghy ; * HME2 ; * jmp ; * TT103 ; * TT105 ; * TT111 ; * TT16 ; * TT22 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.NOSTM SKIP 1 ; The number of stardust particles shown on screen, ; which is 12 (#NOST) for normal space, and 3 for ; witchspace ; ; [Show more]
; ; This variable is used by the following: ; ; * FLIP ; * MJP ; * nWq ; * RES2 ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.COL2 SKIP 1 ; The text colour of the next character to draw in CHPR ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR ; * gnum ; * MT26 ; * RES2 ; * TT219 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.frump SKIP 1 ; Used to store the number of particles in the explosion ; cloud ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sprx SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * PTCLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.spry SKIP 1 ; 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * PTCLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TRIBCT SKIP 1 ; Contains the number of Trumble sprites that we are ; showing on-screen, in the range 0 to 6 ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 1 of 16) ; * MVTRIBS ; * RES2 ; * SIGHT ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TRIBVX SKIP 16 ; Contains the low byte of the 16-bit x-axis velocity ; of each of the Trumbles ; ; Also contains the 8-bit y-axis velocity ; ; The 16-bit x-axis velocity for Trumble Y is stored in ; (TRIBVXH+Y*2 TRIBVX+Y*2), for Y = 0 to 5 ; ; The 8-bit y-axis velocity for Trumble Y is stored in ; TRIBVX + Y*2 + 1, for Y = 0 to 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * MVTRIBS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TRIBVXH SKIP 16 ; Contains the high byte of the 16-bit x-axis velocity ; of each of the Trumbles ; ; The 16-bit x-axis velocity for Trumble Y is stored in ; (TRIBVXH+Y*2 TRIBVX+Y*2), for Y = 0 to 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * MVTRIBS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TRIBXH SKIP 16 ; Contains bit 8 of the x-coordinate for each of the ; Trumble sprites (as x-coordinates are 9-bit values) ; ; The top bit for Trumble Y's x-coordinate is stored in ; TRIBXH + Y*2, for Y = 0 to 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * MVTRIBS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PRINT "UP workspace from ", ~UP, "to ", ~P%-1, "inclusive"
Name: WP [Show more] Type: Workspace Address: $0580 to $6FB Category: Workspaces Summary: Variables
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG $0580 .WP SKIP 0 ; The start of the WP workspace .LSX SKIP 0 ; LSX is an alias that points to the first byte of the ; sun line heap at LSO ; ; * $FF indicates the sun line heap is empty ; ; * Otherwise the LSO heap contains the line data for ; the sun ; ; [Show more]
; ; This variable is used by the following: ; ; * FLFLLS ; * SUN (Part 1 of 4) ; * WPLS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LSO SKIP 200 ; The ship line heap for the space station (see NWSPS) ; and the sun line heap (see SUN) ; ; The spaces can be shared as our local bubble of ; universe can support either the sun or a space ; station, but not both ; ; [Show more]
; ; This variable is used by the following: ; ; * EDGES ; * FLFLLS ; * HLOIN2 ; * NWSPS ; * SUN (Part 2 of 4) ; * SUN (Part 3 of 4) ; * SUN (Part 4 of 4) ; * WPLS ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.BUF SKIP 90 ; The line buffer used by DASC to print justified text ; ; [Show more]
; ; This variable is used by the following: ; ; * HME2 ; * MT17 ; * TT26 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SX SKIP NOST + 1 ; This is where we store the x_hi coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * FLIP ; * nWq ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SXL SKIP NOST + 1 ; This is where we store the x_lo coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SY SKIP NOST + 1 ; This is where we store the y_hi coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * FLIP ; * MLU1 ; * nWq ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SYL SKIP NOST + 1 ; This is where we store the y_lo coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * PIX1 ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SZ SKIP NOST + 1 ; This is where we store the z_hi coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * DV42 ; * FLIP ; * nWq ; * STARS1 ; * STARS2 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SZL SKIP NOST + 1 ; This is where we store the z_lo coordinates for all ; the stardust particles ; ; [Show more]
; ; This variable is used by the following: ; ; * STARS1 ; * STARS6 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LASX SKIP 1 ; The x-coordinate of the tip of the laser line ; ; [Show more]
; ; This variable is used by the following: ; ; * LASLI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.LASY SKIP 1 ; The y-coordinate of the tip of the laser line ; ; [Show more]
; ; This variable is used by the following: ; ; * LASLI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XX24 SKIP 1 ; This byte appears to be unused .ALTIT SKIP 1 ; Our altitude above the surface of the planet or sun ; ; * 255 = we are a long way above the surface ; ; * 1-254 = our altitude as the square root of: ; ; x_hi^2 + y_hi^2 + z_hi^2 - 6^2 ; ; where our ship is at the origin, the centre of the ; planet/sun is at (x_hi, y_hi, z_hi), and the ; radius of the planet/sun is 6 ; ; * 0 = we have crashed into the surface ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS (Part 4 of 4) ; * Main flight loop (Part 15 of 16) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SWAP SKIP 1 ; 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) ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * LL145 (Part 1 of 4) ; * LL145 (Part 4 of 4) ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * WPLS2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.XP SKIP 1 ; This byte appears to be unused .YP SKIP 1 ; This byte appears to be unused .YS SKIP 1 ; This byte appears to be unused .BALI SKIP 1 ; This byte appears to be unused .UPO SKIP 1 ; This byte appears to be unused .boxsize SKIP 1 ; This byte appears to be unused .distaway SKIP 1 ; Used to store the nearest distance of the rotating ; ship on the title screen ; ; [Show more]
; ; This variable is used by the following: ; ; * TITLE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PRINT "WP workspace from ", ~WP, "to ", ~P%-1, "inclusive"