Skip to navigation

Elite on the BBC Micro and NES

Common code

[NES version]

NES ELITE GAME SOURCE (COMMON VARIABLES) NES Elite was written by Ian Bell and David Braben and is copyright D. Braben and I. Bell 1991/1992 The code on this site has been reconstructed from a disassembly of the version released on Ian Bell's personal website at http://www.elitehomepage.org/ 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://www.bbcelite.com/terminology The deep dive articles referred to in this commentary can be found at https://www.bbcelite.com/deep_dives
This source file contains variables, macros and addresses that are shared by all eight banks.
INCLUDE "1-source-files/main-sources/elite-build-options.asm" _NTSC = (_VARIANT = 1) _PAL = (_VARIANT = 2)
Configuration variables
CODE% = $8000 ; The address where the code will be run LOAD% = $8000 ; The address where the code will be loaded 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
NOST = 20 ; 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 ; * ResetStardust ; * ShowScrollText ; * 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 = 8 ; The maximum number of ships in our local bubble of ; universe ; ; [Show more]
; ; This variable is used by the following: ; ; * K% ; * NWSHP ; * 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
NTY = 33 ; The number of different ship types ; ; [Show more]
; ; This variable is used by the following: ; ; * WP ; * 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
MSL = 1 ; Ship type for a missile ; ; [Show more]
; ; This variable is used by the following: ; ; * FRMIS ; * KS2 ; * Main flight loop (Part 4 of 16) ; * 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 ; * KILLSHP ; * 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) ; * NWSPS ; * SFS1 ; * TACTICS (Part 2 of 7) ; * 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
ESC = 3 ; Ship type for an escape pod ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 8 of 16) ; * 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 ; * HATB ; * 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 ; * 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: ; ; * HATB ; * 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: ; ; * HALL ; * PlayDemo ; * 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * HATB ; * PlayDemo ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
ADA = 20 ; Ship type for an Adder 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) ; * 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 ; * Main flight loop (Part 4 of 16) ; * 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 in the NES version is POW + 9, ; rather than just POW in the other versions (all other ; lasers are the same) ; ; [Show more]
; ; This variable is used by the following: ; ; * EQSHP ; * GetLaserPattern ; * NA2% ; * PlayDemo ; * 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 ; * GetLaserPattern ; * 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: ; ; * DrawEquipment ; * EQSHP ; * GetLaserPattern ; * 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% = 38 ; 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: ; ; * Main flight loop (Part 4 of 16) ; * Main flight loop (Part 6 of 16) ; * NWSHP ; * RemoveShip ; * SFS1 ; * ZINF ; * ZINF_b1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NIK% = 42 ; The number of bytes in each block in K% (as each block ; contains four extra bytes) ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * CheckJumpSafety ; * DCS1 ; * K% ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 15 of 16) ; * PlayDemo ; * SPS4 ; * TAS4 ; * UNIV ; * VCSU1 ; ; This list only includes code that refers to the ; variable 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 space view ; ; [Show more]
; ; This variable is used by the following: ; ; * 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 space view ; ; [Show more]
; ; This variable is used by the following: ; ; * 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
RE = $3E ; 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: ; ; * CHAR ; * CONT ; * ex ; * RTOK ; ; This list only includes code that refers to the ; variable 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 ; * ECHR ; * EJMP ; * ERND ; * ETOK ; * RUTOK ; * RUTOK_DE ; * RUTOK_FR ; * TKN1 ; * TKN1_DE ; * TKN1_FR ; * TOKN ; ; This list only includes code that refers to the ; variable 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 = 29 ; 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
W2 = 3 ; The horizontal character spacing in the scroll text ; (i.e. the difference in x-coordinate between the ; left edges of adjacent characters in words) ; ; [Show more]
; ; This variable is used by the following: ; ; * GRIDSET ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
WY = 1 ; The vertical spacing between points in the scroll text ; grid for each character ; ; [Show more]
; ; This variable is used by the following: ; ; * NOFY ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
W2Y = 3 ; The vertical line spacing in the scroll text (i.e. the ; difference in y-coordinate between the tops of the ; characters in adjacent lines) ; ; [Show more]
; ; This variable is used by the following: ; ; * CalculateGridLines ; * ScrollTextUpScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
YPAL = 6 AND _PAL ; A margin of 6 pixels that is applied to a number of ; y-coordinates for the PAL version only (as the PAL ; version has a taller screen than NTSC) ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * DIALS ; * DrawChartSystem ; * DrawCrosshairs ; * DrawExplosionBurst ; * DrawGlasses ; * DrawLeftEarring ; * DrawPitchRollBars ; * DrawRightEarring ; * DrawSaveSlotMark ; * DrawSmallLogo ; * DrawSpriteImage ; * equipSprites ; * MoveIconBarPointer ; * PIXEL2 ; * ResetScreen ; * SCAN ; * SetupSprite0 ; * SIGHT ; * SP2 ; * 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
NES PPU registers
PPU_CTRL = $2000 ; The PPU control register, which allows us to choose ; which nametable and pattern table is being displayed, ; and to toggle the NMI interrupt at VBlank ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; * ResetScreen ; * ResetVariables ; * SendViewToPPU ; * SetPPURegisters ; * SetPPUTablesTo0 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_MASK = $2001 ; The PPU mask register, which controls how sprites and ; the tile background are displayed ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; * ResetVariables ; * SendPaletteSprites ; * SendScreenToPPU ; * SendViewToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_STATUS = $2002 ; The PPU status register, which can be checked to see ; whether VBlank has started, and whether sprite 0 has ; been hit (so we can detect when the icon bar is being ; drawn) ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; * ResetVariables ; * SendPaletteSprites ; * SETUP_PPU_FOR_ICON_BAR ; * WaitFor3xVBlank ; * WaitForVBlank ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
OAM_ADDR = $2003 ; The OAM address port (this is not used in Elite) ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendPaletteSprites ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
OAM_DATA = $2004 ; The OAM data port (this is not used in Elite) PPU_SCROLL = $2005 ; The PPU scroll position register, which is used to ; scroll the leftmost tile on each row around to the ; right ; ; [Show more]
; ; This variable is used by the following: ; ; * SetPPURegisters ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_ADDR = $2006 ; The PPU address register, which is used to set the ; destination address within the PPU when sending data ; to the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * GetCmdrImage ; * GetSystemImage ; * ResetScreen ; * SendBarNamesToPPU ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SendDashImageToPPU ; * SendNametableToPPU ; * SendPalettesToPPU ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendPatternsToPPU (Part 5 of 6) ; * SendViewToPPU ; * SetPaletteForView ; * SetPPURegisters ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_DATA = $2007 ; The PPU data register, which is used to send data to ; the PPU, to the address specified in PPU_ADDR ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SEND_DATA_TO_PPU ; * SendBarNamesToPPU ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SendFontImageToPPU ; * SendInventoryToPPU ; * SendPalettesToPPU ; * SendViewToPPU ; * SetPaletteForView ; * SetPPURegisters ; * UnpackToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
OAM_DMA = $4014 ; The OAM DMA register, which is used to initiate a DMA ; transfer of sprite data to the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendPaletteSprites ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_PATT_0 = $0000 ; The address of pattern table 0 in the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_PATT_1 = $1000 ; The address of pattern table 1 in the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendBarPattsToPPU ; * SendTilesToPPU ; * SendViewToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_NAME_0 = $2000 ; The address of nametable 0 in the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendBarNamesToPPU ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_ATTR_0 = $23C0 ; The address of attribute table 0 in the PPU PPU_NAME_1 = $2400 ; The address of nametable 1 in the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * SendBarNamesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
PPU_ATTR_1 = $27C0 ; The address of attribute table 1 in the PPU
NES CPU registers (I/O and sound)
SQ1_VOL = $4000 ; The APU duty cycle and volume register for square wave ; channel 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * MakeSounds ; * StartEffectOnSQ1 ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ1_SWEEP = $4001 ; The APU sweep control register for square wave channel ; 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ1_LO = $4002 ; The APU period register (low byte) for square wave ; channel 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; * MakeSounds ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ1_HI = $4003 ; The APU period register (high byte) for square wave ; channel 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ2_VOL = $4004 ; The APU duty cycle and volume register for square wave ; channel 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * MakeSounds ; * StartEffectOnSQ2 ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ2_SWEEP = $4005 ; The APU sweep control register for square wave channel ; 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ2_LO = $4006 ; The APU period register (low byte) for square wave ; channel 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; * MakeSounds ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
SQ2_HI = $4007 ; The APU period register (high byte) for square wave ; channel 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TRI_LINEAR = $4008 ; The APU linear counter register for the triangle wave ; channel ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TRI_LO = $400A ; The APU period register (low byte) for the triangle ; wave channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
TRI_HI = $400B ; The APU period register (high byte) for the triangle ; wave channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NOISE_VOL = $400C ; The APU volume register for the noise channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * MakeSounds ; * StartEffectOnNOISE ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NOISE_LO = $400E ; The APU period register (low byte) for the noise ; channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnNOISE ; * MakeSoundOnNOISE ; * MakeSounds ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
NOISE_HI = $400F ; The APU period register (high byte) for the noise ; channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
DMC_FREQ = $4010 ; Controls the IRQ flag, loop flag and frequency of the ; DMC channel (this is not used in Elite) DMC_RAW = $4011 ; Controls the DAC on the DMC channel (this is not used ; in Elite) DMC_START = $4012 ; Controls the start adddress on the DMC channel (this ; is not used in Elite) DMC_LEN = $4013 ; Controls the sample length on the DMC channel (this is ; not used in Elite) SND_CHN = $4015 ; The APU sound channel register, which enables ; individual sound channels to be enabled or disabled ; ; [Show more]
; ; This variable is used by the following: ; ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
JOY1 = $4016 ; The joystick port, with controller 1 mapped to JOY1 ; and controller 2 mapped to JOY1 + 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ReadControllers ; * ScanButtons ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
APU_FC = $4017 ; The APU frame counter control register, which controls ; the triggering of IRQ interrupts for sound generation, ; and the sequencer step mode ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetVariables ; ; This list only includes code that refers to the ; variable 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 $00FF 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: * ResetVariables uses ZP
ORG $0000 .ZP SKIP 0 ; The start of the zero page workspace ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetVariables ; ; This list only includes code that refers to the ; variable 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 .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 ; * DrawExplosionBurst ; * FixRandomNumbers ; * HALL ; * Main flight loop (Part 1 of 16) ; * Main game loop (Part 2 of 6) ; * nWq ; * PDESC ; * ShowScrollText ; * SUN (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
.T1 SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * DrawDash ; * LCASH ; * LL9 (Part 10 of 12) ; * MLS1 ; * MULT1 ; * PIXEL ; * PIXEL2 ; * refund ; * SFS1 ; * TIS1 ; * TT102 ; * TT103 ; * TT14 ; * TT22 ; * 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: ; ; * CheckJumpSafety ; * CHPR (Part 3 of 6) ; * CHPR (Part 4 of 6) ; * CHPR (Part 5 of 6) ; * CHPR (Part 6 of 6) ; * ClearDrawingPlane (Part 2 of 3) ; * ClearDrawingPlane (Part 3 of 3) ; * ClearNameInMiddle ; * ClearScreen ; * CLYNS ; * CopyCommanderToBuf ; * CopyLargeBlock ; * CopySmallBlock ; * DETOK2 ; * DIALS ; * DILX ; * Draw2OptionTiles ; * DrawBackground ; * DrawBigLogo ; * DrawBlankButton2x2 ; * DrawBlankButton3x2 ; * DrawDash ; * DrawHangarWallLine ; * DrawIconBar ; * DrawImageFrame ; * DrawImageNames ; * DrawRowOfTiles ; * DrawSmallBox ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawSunRowOfBlocks ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * FAROF2 ; * GetHeadshot ; * GetNameAddress ; * GetRowNameAddress ; * GetSaveAddresses ; * GetSystemBack ; * GetViewPalettes ; * HAL3 ; * HAS3 ; * HideIconBar ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; * KILLSHP ; * KS2 ; * LoadHighFont ; * LoadNormalFont ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * PDESC ; * PIXEL ; * ResetSaveSlots ; * ResetVariables ; * SaveLoadCommander ; * SendFontImageToPPU ; * SendInventoryToPPU ; * SendViewToPPU ; * SetLinePatterns ; * SetViewAttrs ; * ShowScrollText ; * TT26 ; * UnpackToRAM ; ; This list only includes code that refers to the ; variable 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) .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 36 ; 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 ; * ChangeCmdrName ; * DEATH ; * DOCKIT ; * DOEXP ; * DOKEY ; * DrawExplosionBurst ; * DVID3B2 ; * ESCAPE ; * EXNO2 ; * FAROF ; * FAROF2 ; * FRS1 ; * GTHG ; * HAS1 ; * HideFromScanner ; * HITCH ; * HME2 ; * InputName ; * KS4 ; * LL9 (Part 1 of 12) ; * 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 ; * 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 ; * PlayDemo ; * PLS1 ; * PLS4 ; * PLUT ; * PROJ ; * RemoveShip ; * SCAN ; * SetupDemoShip ; * 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 ; * TT110 ; * TT23 ; * Ze ; * ZINF ; * ZINF_b1 ; ; This list only includes code that refers to the ; variable 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 4 of 16) ; * Main flight loop (Part 8 of 16) ; * Main flight loop (Part 12 of 16) ; * Main game loop (Part 1 of 6) ; * Main game loop (Part 3 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
SKIP 1 ; This byte appears to be unused .P SKIP 3 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * ARCTAN ; * BuyAndSellCargo ; * CHKON ; * CHPR (Part 3 of 6) ; * CHPR (Part 6 of 6) ; * DOEXP ; * DrawSunEdgeLeft ; * DrawSunRowOfBlocks ; * DVID3B2 ; * DVID4 ; * DVIDT ; * FMLTU ; * GC2 ; * GRS1 ; * HITCH ; * InSystemJump ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; * 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) ; * 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 ; * PLFL ; * PLS1 ; * PLS22 ; * PLS3 ; * PROJ ; * SQUA2 ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (Part 1 of 2) ; * SUN (Part 2 of 2) ; * TIS3 ; * TT111 ; * TT151 ; * 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
.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 white border that ; clashes with columns 0 and 32, text is only shown ; in columns 1-31 ; ; [Show more]
; ; This variable is used by the following: ; ; * BRIEF ; * CalculateGridLines ; * ChangeLetter ; * ChooseLanguage ; * CHPR (Part 1 of 6) ; * CHPR (Part 2 of 6) ; * CHPR (Part 3 of 6) ; * CHPR (Part 4 of 6) ; * CHPR (Part 5 of 6) ; * CHPR (Part 6 of 6) ; * ClearNameInMiddle ; * CLYNS ; * dn ; * dockEd ; * DrawBackground ; * DrawBigLogo ; * DrawCmdrImage ; * DrawCobraMkIII ; * DrawImageNames ; * DrawInventoryIcon ; * DrawSaveSlotMark ; * DrawSmallBox ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawSystemImage ; * eq ; * EQSHP ; * GetNameAddress ; * GRIDSET ; * InputName ; * MT8 ; * MT9 ; * PrintCash ; * PrintCrTab ; * PrintCtrlCode ; * PrintEquipment ; * PrintFlightMessage ; * PrintLaserView ; * PrintNameInMiddle ; * PrintSaveName ; * qv ; * STATUS ; * SVE ; * TT151 ; * TT163 ; * TT167 ; * TT210 ; * TT213 ; * TT22 ; * TT23 ; * TT25 ; * TT66 ; * YESNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.hiddenColour SKIP 1 ; Contains the colour to use for pixels that are hidden ; in palette 0, e.g. $0F for black ; ; See the SetPaletteForView routine for details ; ; [Show more]
; ; This variable is used by the following: ; ; * HideHiddenColour ; * Main flight loop (Part 3 of 16) ; * ResetScreen ; * SetPaletteColours ; * SetPaletteForView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.visibleColour SKIP 1 ; Contains the colour to use for pixels that are visible ; in palette 0, e.g. $2C for cyan ; ; See the SetPaletteForView routine for details ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollText ; * DrawSpaceViewInNMI ; * LL164 ; * ResetScreen ; * SetPaletteColours ; * SetPaletteForView ; * SetupSpaceView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.paletteColour2 SKIP 1 ; Contains the colour to use for palette entry 2 in the ; current (non-space) view ; ; See the SetPaletteForView routine for details ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SetPaletteColours ; * SetPaletteForView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.paletteColour3 SKIP 1 ; Contains the colour to use for palette entry 3 in the ; current (non-space) view ; ; See the SetPaletteForView routine for details ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SetPaletteColours ; * SetPaletteForView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.fontStyle SKIP 1 ; The font style to use when printing text: ; ; * 1 = normal font ; ; * 2 = highlight font ; ; * 3 = green text on a black background (colour 3 on ; background colour 0) ; ; Style 3 is used when printing characters into 2x2 ; attribute blocks where printing the normal font would ; result in the wrong colour text being shown ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeLetter ; * CHPR (Part 2 of 6) ; * CHPR (Part 3 of 6) ; * HighlightEquipment ; * HighlightLaserView ; * HighlightSaleItem ; * HighlightSaveName ; * PrintNameInMiddle ; * PrintTokenAndColon ; * qv ; * ShowStartScreen ; * YESNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiTimer SKIP 1 ; A counter that gets decremented each time the NMI ; interrupt is called, starting at 50 and counting down ; to zero, at which point it jumps back up to 50 again ; and triggers an increment of (nmiTimerHi nmiTimerLo) ; ; On PAL system there are 50 frames per second, so this ; means nmiTimer ticks down from 50 once a second, so ; (nmiTimerHi nmiTimerLo) counts up in seconds ; ; On NTSC there are 60 frames per second, so nmiTimer ; counts down in 5/6 of a second, or 0.8333 seconds, ; so (nmiTimerHi nmiTimerLo) counts up every 0.8333 ; seconds ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawTitleScreen ; * FRMIS ; * PauseGame ; * PlayDemo ; * SetupDemoUniverse ; * ShowScrollText ; * UpdateNMITimer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiTimerLo SKIP 1 ; Low byte of a counter that's incremented by 1 every ; time nmiTimer wraps ; ; On PAL systems (nmiTimerHi nmiTimerLo) counts seconds ; ; On NTSC it increments up every 0.8333 seconds ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawTitleScreen ; * FRMIS ; * Main flight loop (Part 1 of 16) ; * Main game loop (Part 2 of 6) ; * PauseGame ; * PlayDemo ; * SetupDemoUniverse ; * ShowScrollText ; * UpdateNMITimer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiTimerHi SKIP 1 ; High byte of a counter that's incremented by 1 every ; time nmiTimer wraps ; ; On PAL systems (nmiTimerHi nmiTimerLo) counts seconds ; ; On NTSC it increments up every 0.8333 seconds ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawTitleScreen ; * FRMIS ; * PauseGame ; * PlayDemo ; * SetupDemoUniverse ; * ShowScrollText ; * UpdateNMITimer ; ; This list only includes code that refers to the ; variable 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 white border that clashes ; with row 0, text is always shown at row 1 or greater ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeCmdrName ; * ChooseLanguage ; * CHPR (Part 1 of 6) ; * CHPR (Part 3 of 6) ; * CHPR (Part 6 of 6) ; * ClearNameInMiddle ; * CLYNS ; * dn ; * DrawBigLogo ; * DrawCmdrImage ; * DrawCobraMkIII ; * DrawInventoryIcon ; * DrawSaveSlotMark ; * DrawSmallBox ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawSystemImage ; * eq ; * EQSHP ; * GetRowNameAddress ; * HighlightSaleItem ; * MT29 ; * NLIN3 ; * NLIN4 ; * PrintCash ; * PrintEquipment ; * PrintFlightMessage ; * PrintLaserView ; * PrintMarketItem ; * PrintNameInMiddle ; * PrintSaveName ; * qv ; * SetNewViewType ; * STATUS ; * SVE ; * TT146 ; * TT167 ; * TT23 ; * TT25 ; * TT66 ; * TTX69 ; ; This list only includes code that refers to the ; variable 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 (Part 1 of 6) ; * CLYNS ; * EQSHP ; * MESS ; * MT17 ; * MT6 ; * PrintCash ; * PrintCtrlCode ; * PrintFlightMessage ; * SetSelectedSystem ; * SVE ; * TITLE ; * TT151 ; * TT23 ; * TT25 ; * TT26 ; * TT27 ; * TT41 ; * TT66 ; * TT69 ; ; This list only includes code that refers to the ; variable 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 (Part 1 of 6) ; * CHPR (Part 2 of 6) ; * CHPR (Part 3 of 6) ; * CIRCLE2 ; * DCS1 ; * DOCKIT ; * DOEXP ; * DrawChartSystem ; * DrawExplosionBurst ; * DrawLightning ; * PL9 (Part 3 of 3) ; * PLS22 ; * PROJ ; * SHPPT ; * SPS3 ; * SPS4 ; * SUN (Part 2 of 2) ; * 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: ; ; * DrawLightning ; * 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 ; * DrawChartSystem ; * PL9 (Part 3 of 3) ; * PROJ ; * SHPPT ; * SUN (Part 1 of 2) ; * 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: ; ; * DOEXP ; * DrawExplosionBurst ; * GetShipBlueprint ; * HAS1 ; * 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) ; * NWSHP ; * 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
.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 ; * CalculateGridLines ; * ClearScanner ; * DEATH ; * DOEXP ; * DrawExplosionBurst ; * GINF ; * GRIDSET ; * HideShip ; * HideShip_b1 ; * InSystemJump ; * 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 ; * RemoveShip ; * SFS1 ; * TACTICS (Part 4 of 7) ; * 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
.V SKIP 2 ; Temporary storage, typically used for storing an ; address pointer ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * CopyLargeBlock ; * CopySmallBlock ; * DETOK ; * DETOK2 ; * DETOK3 ; * DrawBigLogo ; * DrawCobraMkIII ; * DrawIconBar ; * DrawImageNames ; * DrawSmallLogo ; * ex ; * GetCmdrImage ; * GetHeadshot ; * GetSystemBack ; * LL9 (Part 5 of 12) ; * LL9 (Part 6 of 12) ; * LL9 (Part 10 of 12) ; * LL9 (Part 11 of 12) ; * LoadHighFont ; * LoadNormalFont ; * PLFL ; * PrintSaveHeader ; * SendDashImageToPPU ; * SendViewToPPU ; * SetLaserSprite ; * SetLinePatterns ; * SetViewAttrs ; * SUN (Part 1 of 2) ; * SUN (Part 2 of 2) ; * SVE ; * TACTICS (Part 1 of 7) ; * TAS1 ; * UnpackToPPU ; * UnpackToRAM ; * VCSU1 ; * VCSUB ; ; This list only includes code that refers to the ; variable 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 ; ; This list only includes code that refers to the ; variable 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: ; ; * DrawSunEdgeLeft ; * DrawSunEdgeRight ; * EDGES ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (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
.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: ; ; * 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: ; ; * 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: ; ; * GalacticHyperdrive ; * hyp ; * Main game loop (Part 5 of 6) ; * MESS ; * ResetShipStatus ; * SetupIconBarCharts ; * SetupIconBarFlight ; * TT102 ; * 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 ; * FlightLoop4To16 ; * Main flight loop (Part 3 of 16) ; * RES2 ; * TACTICS (Part 1 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
.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: ; ; * DEATH ; * Main flight loop (Part 2 of 16) ; * MLS1 ; * MUT3 ; * MVEIT (Part 5 of 9) ; * PlayDemo ; * RES2 ; * ShowScrollText ; * 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: ; ; * DEATH ; * 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 ; * DrawScrollFrame ; * HALL ; * HAS1 ; * 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) ; * Main flight loop (Part 9 of 16) ; * NORM ; * SP2 ; * TAS2 ; * TAS3 ; * TAS4 ; * TAS6 ; * TIDY ; * TT15 ; ; This list only includes code that refers to the ; variable 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 ; * DrawLaunchBox ; * DrawLightning ; * DrawSunEdgeLeft ; * DrawSunEdgeRight ; * DrawVerticalLine (Part 1 of 3) ; * EDGES ; * HLOIN (Part 1 of 5) ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 5 of 5) ; * LASLI ; * LL164 ; * 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) ; * PIXEL2 ; * SHPPT ; * STARS1 ; * STARS2 ; * STARS6 ; * SUN (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
.Y1 SKIP 1 ; Temporary storage, typically used for y-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * DOEXP ; * DrawExplosionBurst ; * DrawLaunchBox ; * DrawLightning ; * DrawScrollFrame ; * DrawVerticalLine (Part 1 of 3) ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * MLU1 ; * PIXEL2 ; * PLFL ; * SCAN ; * SHPPT ; * STARS1 ; * STARS2 ; * STARS6 ; * 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
.X2 SKIP 1 ; Temporary storage, typically used for x-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * DrawLaunchBox ; * DrawLightning ; * DrawSunEdgeLeft ; * DrawSunEdgeRight ; * EDGES ; * HLOIN (Part 1 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; * LASLI ; * LL164 ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * SHPPT ; * SUN (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
.Y2 SKIP 1 ; Temporary storage, typically used for y-coordinates in ; line-drawing routines ; ; [Show more]
; ; This variable is used by the following: ; ; * BLINE ; * DrawLaunchBox ; * DrawLightning ; * DrawVerticalLine (Part 1 of 3) ; * LASLI ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 of 7) ; * LOIN (Part 5 of 7) ; * 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
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 ; * DrawScrollFrame ; * 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 ; * CheckJumpSafety ; * CHKON ; * CIRCLE ; * csh ; * DIALS ; * DILX ; * DOCKIT ; * DrawBackground ; * DrawBigLogo ; * DrawChartSystem ; * DrawCmdrImage ; * DrawCobraMkIII ; * DrawImageFrame ; * DrawImageNames ; * DrawInventoryIcon ; * DrawLaunchBox ; * DrawLightning ; * DrawMedallion ; * DrawRowOfTiles ; * DrawSmallBox ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawSystemImage ; * DVID3B2 ; * EQSHP ; * FAROF2 ; * FlightLoop4To16 ; * FMLTU2 ; * LAUN ; * LL164 ; * MAS1 ; * MU5 ; * MULT3 ; * MV40 ; * MVS5 ; * MVT3 ; * PL9 (Part 1 of 3) ; * PL9 (Part 2 of 3) ; * PLANET ; * PLS1 ; * PLS22 ; * PLS3 ; * PLS6 ; * PROJ ; * qv ; * SUN (Part 1 of 2) ; * SUN (Part 2 of 2) ; * TAS1 ; * TT11 ; * TT111 ; * TT14 ; * TT22 ; * TT23 ; * 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
.iconBarKeyPress SKIP 1 ; The button number of an icon bar button if an icon bar ; button has been chosen ; ; This gets set along with the key logger, copying the ; value from iconBarChoice (the latter gets set in the ; NMI handler with the icon bar button number, so ; iconBarKeyPress effectively latches the value from ; iconBarChoice) ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 3 of 16) ; * SetKeyLogger ; * TT17 ; * U% ; * YESNO ; ; This list only includes code that refers to the ; variable 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 ; * cpl ; * GetSystemBack ; * GetViewPalettes ; * Ghy ; * HME2 ; * hyp ; * hyp1 ; * PDESC ; * SetCurrentSystem ; * SetSelectedSeeds ; * SetupAfterLoad ; * 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 ; * GRIDSET ; * ShowScrollText ; ; This list only includes code that refers to the ; variable 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
.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 ; * 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) ; * PlayDemo ; * RES2 ; * ResetShipStatus ; * ShowScrollText ; * 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 ; * DrawExplosionBurst ; * 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 ; * 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 ; * CheckAltitude ; * ChooseLanguage ; * CopyCommanderToBuf ; * DILX ; * DOCKIT ; * DOEXP ; * DrawExplosionBurst ; * DrawLightning ; * DrawScrollFrame ; * DrawVerticalLine (Part 2 of 3) ; * DV41 ; * DVID3B2 ; * DVID4 ; * DVIDT ; * EQSHP ; * FMLTU ; * FMLTU2 ; * GetSaveAddresses ; * GetScrollDivisions ; * HAS1 ; * LAUN ; * LL120 ; * LL123 ; * LL129 ; * LL145 (Part 3 of 4) ; * LL164 ; * 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) ; * 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) ; * MLTU2 ; * MoveEquipmentDown ; * MULT1 ; * MULT3 ; * MULTU ; * MV40 ; * MVEIT (Part 3 of 9) ; * MVS4 ; * MVS5 ; * NORM ; * PLFL ; * PLS22 ; * PLS3 ; * PLS4 ; * PrintEquipment ; * ResetSaveSlots ; * SaveLoadCommander ; * STARS1 ; * STARS2 ; * STARS6 ; * TAS3 ; * TAS4 ; * TIDY ; * TIS1 ; * TIS2 ; * TIS3 ; * TT111 ; * 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 ; * CheckAltitude ; * DCS1 ; * DOEXP ; * DrawExplosionBurst ; * DrawVerticalLine (Part 1 of 3) ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * DVID3B2 ; * DVID4 ; * GetScrollDivisions ; * GRS1 ; * HAL3 ; * HAS1 ; * HAS3 ; * HITCH ; * HLOIN (Part 1 of 5) ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * InSystemJump ; * LAUN ; * LL118 ; * LL120 ; * LL123 ; * LL129 ; * LL164 ; * LL28 ; * LL38 ; * LL5 ; * LL51 ; * LL61 ; * LL62 ; * LL9 (Part 3 of 12) ; * LL9 (Part 5 of 12) ; * LL9 (Part 8 of 12) ; * 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) ; * MAS3 ; * MLS2 ; * MULT12 ; * MULT3 ; * MUT1 ; * MVEIT (Part 3 of 9) ; * MVEIT (Part 6 of 9) ; * MVS4 ; * MVS5 ; * MVT1 ; * NORM ; * PLFL ; * PLS22 ; * ProjectScrollText ; * SFS2 ; * STARS1 ; * STARS2 ; * STARS6 ; * TAS3 ; * TAS4 ; * 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
.S SKIP 1 ; Temporary storage, used in a number of places ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD ; * BPRNT ; * ChooseLanguage ; * CopyCommanderToBuf ; * DOEXP ; * DrawHangarWallLine ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawVerticalLine (Part 1 of 3) ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * DVID3B2 ; * GetHeadshotType ; * GetSaveAddresses ; * GetScrollDivisions ; * GRIDSET ; * HITCH ; * InSystemJump ; * LL118 ; * LL120 ; * LL123 ; * LL129 ; * LL145 (Part 3 of 4) ; * LL145 (Part 4 of 4) ; * LL38 ; * LL5 ; * LL51 ; * LL61 ; * LL9 (Part 5 of 12) ; * 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) ; * MLS2 ; * MULT12 ; * MUT2 ; * MVS4 ; * MVS5 ; * MVT1 ; * MVT3 ; * PLS22 ; * ResetSaveSlots ; * SaveLoadCommander ; * STARS1 ; * STARS2 ; * STARS6 ; * STATUS ; * TAS3 ; * TAS4 ; * 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
.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 ; * CheckJumpSafety ; * ChooseLanguage ; * CIRCLE2 ; * cntr ; * cpl ; * DOEXP ; * Draw2OptionTiles ; * DrawHangarWallLine ; * DrawSmallLogo ; * DrawSpriteImage ; * DrawSunRowOfBlocks ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * DVID3B2 ; * DVIDT ; * EDGES ; * FAROF2 ; * GetScrollDivisions ; * HAL3 ; * HALL ; * HAS3 ; * HLOIN (Part 1 of 5) ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; * 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) ; * LoadNormalFont ; * 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 ; * NORM ; * NWSHP ; * OOPS ; * PIXEL2 ; * PLFL ; * PLS22 ; * REDU2 ; * SetLaserSprite ; * SP2 ; * STARS1 ; * STARS6 ; * SVE ; * TACTICS (Part 5 of 7) ; * TIS1 ; * TIS2 ; * TT111 ; * UnpackToRAM ; ; This list only includes code that refers to the ; variable 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: ; ; * HAS1 ; * InSystemJump ; * 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 ; ; This list only includes code that refers to the ; variable 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: ; ; * ChangeLetter ; * DrawHangarWallLine ; * DrawSunRowOfBlocks ; * DrawVerticalLine (Part 1 of 3) ; * DrawVerticalLine (Part 2 of 3) ; * HAL3 ; * HAS3 ; * HLOIN (Part 1 of 5) ; * HLOIN (Part 5 of 5) ; * 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
.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 ; This contains the type of the current view (or, if ; we are changing views, the type of the view we are ; changing to) ; ; The low nibble determines the view, as follows: ; ; 0 = $x0 = Space view ; 1 = $x1 = Title screen ; 2 = $x2 = Mission 1 briefing: rotating ship ; 3 = $x3 = Mission 1 briefing: ship and text ; 4 = $x4 = Game Over screen ; 5 = $x5 = Text-based mission briefing ; 6 = $x6 = Data on System ; 7 = $x7 = Inventory ; 8 = $x8 = Status Mode ; 9 = $x9 = Equip Ship ; 10 = $xA = Market Price ; 11 = $xB = Save and Load ; 12 = $xC = Short-range Chart ; 13 = $xD = Long-range Chart ; 14 = $xE = Unused ; 15 = $xF = Start screen ; ; The high nibble contains four configuration bits, as ; follows: ; ; * Bit 4 clear = do not load the normal font ; Bit 4 set = load the normal font into patterns ; 66 to 160 (or 68 to 162 for views ; $9D and $DF) ; ; * Bit 5 clear = do not load the highlight font ; Bit 5 set = load the highlight font into ; patterns 161 to 255 ; ; * Bit 6 clear = icon bar ; Bit 6 set = no icon bar (rows 27-28 are blank) ; ; * Bit 7 clear = dashboard (icon bar on row 20) ; Bit 7 set = no dashboard (icon bar on row 27) ; ; The normal font is colour 1 on background colour 0 ; (typically white or cyan on black) ; ; The highlight font is colour 3 on background colour 1 ; (typically green on white) ; ; Most views have the same configuration every time ; the view is shown, but $x0 (space view), $xB (Save and ; load), $xD (Long-range Chart) and $xF (Start screen) ; can have different configurations at different times ; ; Note that view $FF is an exception, as no fonts are ; loaded for this view, despite bits 4 and 5 being set ; (this view represents the blank screen between the end ; of the Title screen and the start of the demo scroll ; text) ; ; Also, view $BB (Save and load with the normal and ; highlight fonts loaded) displays the normal font as ; colour 1 on background colour 2 (white on red) ; ; Finally, views $9D (Long-range Chart) and $DF (Start ; screen) load the normal font into patterns 68 to 162, ; rather than 66 to 160 ; ; The complete list of view types is therefore: ; ; $00 = Space view ; No fonts loaded, dashboard ; ; $10 = Space view ; Normal font loaded, dashboard ; ; $01 = Title screen ; No fonts loaded, dashboard ; ; $92 = Mission 1 briefing: rotating ship ; Normal font loaded, no dashboard ; ; $93 = Mission 1 briefing: ship and text ; Normal font loaded, no dashboard ; ; $C4 = Game Over screen ; No fonts loaded, no dashboard or icon bar ; ; $95 = Text-based mission briefing ; Normal font loaded, no dashboard ; ; $96 = Data on System ; Normal font loaded, no dashboard ; ; $97 = Inventory ; Normal font loaded, no dashboard ; ; $98 = Status Mode ; Normal font loaded, no dashboard ; ; $B9 = Equip Ship ; Normal and highlight fonts loaded, no ; dashboard ; ; $BA = Market Price ; Normal and highlight fonts loaded, no ; dashboard ; ; $8B = Save and Load ; No fonts loaded, no dashboard ; ; $BB = Save and Load ; Normal and highlight fonts loaded, special ; colours for the normal font, no dashboard ; ; $9C = Short-range Chart ; Normal font loaded, no dashboard ; ; $8D = Long-range Chart ; No fonts loaded, no dashboard ; ; $9D = Long-range Chart ; Normal font loaded, no dashboard ; ; $CF = Start screen ; No fonts loaded, no dashboard or icon bar ; ; $DF = Start screen ; Normal font loaded, no dashboard or icon bar ; ; $FF = Segue screen from Title screen to Demo ; No fonts loaded, no dashboard or icon bar ; ; In terms of fonts, then, these are the only options: ; ; * No font is loaded ; ; * The normal font is loaded ; ; * The normal and highlight fonts are loaded ; ; * The normal and highlight fonts are loaded, with ; special colours for the normal font ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeLetter ; * ChangeToView ; * ChooseLanguage ; * CHPR (Part 2 of 6) ; * CHPR (Part 3 of 6) ; * CHPR (Part 5 of 6) ; * CLYNS ; * DEATH ; * DEATH2 ; * DrawIconBar ; * DrawSpaceViewInNMI ; * ESCAPE ; * FlightLoop4To16 ; * HideFromScanner ; * LASLI ; * LoadHighFont ; * LoadNormalFont ; * LOOK1 ; * Main flight loop (Part 1 of 16) ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; * Main flight loop (Part 16 of 16) ; * Main game loop (Part 5 of 6) ; * NWSTARS ; * PrintFlightMessage ; * RedrawCurrentView ; * SCAN ; * SendBitplaneToPPU ; * SendViewToPPU ; * SetIconBarRow ; * SetLinePatterns ; * SetScreenForUpdate ; * SetSelectedSystem ; * SetupIconBarDocked ; * SetupIconBarFlight ; * SetupSprite0 ; * SetupViewInNMI ; * SetViewAttrs ; * ShowIconBar ; * ShowScrollText ; * SVE ; * TT102 ; * TT103 ; * TT14 ; * TT15 ; * TT16 ; * TT167 ; * TT17 ; * TT18 ; * TT22 ; * TT66 ; * UpdateIconBar ; * UpdateView ; * 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
.QQ11a SKIP 1 ; Contains the old view type when changing views ; ; When we change view, QQ11 gets set to the new view ; number straight away while QQ11a stays set to the old ; view type, only updating to the new view type once ; the new view has appeared ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * DEATH ; * DrawTitleScreen ; * FadeToBlack ; * GetViewPalettes ; * RES2 ; * ResetScreen ; * SendViewToPPU ; * SetPaletteColours ; * SetPaletteForView ; * SetScreenForUpdate ; * SetupViewInNMI ; * ShowStartScreen ; * TT66 ; * UpdateJoystick ; * UpdateView ; ; This list only includes code that refers to the ; variable 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 ; * DrawExplosionBurst ; * DrawImageNames ; * DrawSmallLogo ; * FLIP ; * nWq ; * PIXEL2 ; * refund ; * ShowScrollText ; * STARS1 ; * STARS2 ; * STARS6 ; * 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: ; ; * EQSHP ; * HighlightEquipment ; * LL145 (Part 1 of 4) ; * LL145 (Part 2 of 4) ; * LL145 (Part 4 of 4) ; * Main game loop (Part 4 of 6) ; * MoveEquipmentDown ; * MoveEquipmentUp ; * PrintEquipment ; ; This list only includes code that refers to the ; variable 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 ; * DILX ; * 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) ; * PAS1 ; * 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
.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) ; * 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: ; ; * DEATH ; * Main flight loop (Part 2 of 16) ; * MV40 ; * MVS4 ; * PlayDemo ; * RES2 ; * ShowScrollText ; * 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
.QQ12 SKIP 1 ; Our "docked" status ; ; * 0 = we are not docked ; ; * $FF = we are docked ; ; [Show more]
; ; This variable is used by the following: ; ; * autoPlayKeys2 ; * BAY ; * BuyAndSellCargo ; * DIALS ; * GalacticHyperdrive ; * GetStatusCondition ; * hyp ; * Main game loop (Part 2 of 6) ; * PDESC ; * PlayDemo ; * RESET ; * SetupIconBarCharts ; * ShowScrollText ; * TT102 ; * TT110 ; * TT66 ; ; This list only includes code that refers to the ; variable 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 ; * DrawExplosionBurst ; * HANGER ; * PL9 (Part 3 of 3) ; * PLS2 ; * PLS22 ; * SUN (Part 1 of 2) ; * SUN (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
.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 ; * DrawExplosionBurst ; * DrawSaveSlotMark ; * DrawSmallLogo ; * GRIDSET ; * LL9 (Part 6 of 12) ; * LL9 (Part 8 of 12) ; * PLFL ; * PLS22 ; * SPIN ; * STATUS ; * SUN (Part 1 of 2) ; * SVE ; * 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 ; * HALL ; * 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 ; * DrawLightning ; * LAUN ; * LL164 ; * 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 ; * 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) ; * 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 ; * HAS1 ; * 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
.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
.halfScreenHeight SKIP 1 ; Half the height of the drawable part of the screen in ; pixels (can be 72, 77 or 104 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * FlightLoop4To16 ; * LASLI ; * LAUN ; * LL164 ; * LL9 (Part 8 of 12) ; * PIXEL2 ; * PROJ ; * SetScreenHeight ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.screenHeight SKIP 1 ; The height of the drawable part of the screen in ; pixels (can be 144, 154 or 208 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * LL118 ; * LL145 (Part 2 of 4) ; * LL145 (Part 4 of 4) ; * SetScreenHeight ; ; This list only includes code that refers to the ; variable 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 ; The height of the drawable part of the screen in ; pixels minus 1, often used when calculating the ; y-coordinate of the bottom pixel row of the space view ; ; [Show more]
; ; This variable is used by the following: ; ; * CHKON ; * DOEXP ; * DrawExplosionBurst ; * DrawLaunchBox ; * LASLI ; * LL118 ; * LL145 (Part 1 of 4) ; * LL145 (Part 4 of 4) ; * SetScreenHeight ; * SUN (Part 1 of 2) ; * TT22 ; * 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: ; ; * PrintFlightMessage ; * StoreMessage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.messYC SKIP 1 ; Used to specify the text row of the in-flight message ; in MESS, so it can be shown at a different positions ; in different views ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * PrintFlightMessage ; * TT66 ; ; This list only includes code that refers to the ; variable 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
.storeA SKIP 1 ; Temporary storage for saving the value of the A ; register, used in the bank-switching routines in ; bank 7 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView_b0 ; * CheckForPause_b0 ; * ChooseMusic_b6 ; * CHPR_b2 ; * DASC_b2 ; * DETOK_b2 ; * DrawSystemImage_b3 ; * DTS_b2 ; * ex_b2 ; * LoadNormalFont_b3 ; * MVS5_b0 ; * ResetBankA ; * SetupIconBar_b3 ; * SetupViewInNMI_b3 ; * ShowIconBar_b3 ; * ShowScrollText_b6 ; * StartEffect_b6 ; * TT27_b2 ; * TT66_b0 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.firstFreePattern SKIP 1 ; Contains the number of the first free pattern in the ; pattern buffer that we can draw into next (or 0 if ; there are no free patterns) ; ; This variable is typically used to control the drawing ; process - when we need to draw into a new tile when ; drawing the space view, this is the number of the next ; pattern to use for that tile ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * CHPR (Part 3 of 6) ; * CHPR (Part 6 of 6) ; * ClearDrawingPlane (Part 1 of 3) ; * CLYNS ; * CopyNameBuffer0To1 ; * DEATH ; * DrawBigLogo ; * DrawCmdrImage ; * DrawDash ; * DrawMessageInNMI ; * DrawScreenInNMI ; * DrawScrollInNMI ; * DrawSystemImage ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; * LoadHighFont ; * LoadNormalFont ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * PAUSE ; * PIXEL ; * SendBitplaneToPPU ; * SetDrawingBitplane ; * SetDrawPlaneFlags ; * SetLinePatterns ; * SetupSpaceView ; * SetupViewInNMI ; * ShowScrollText ; * UpdateView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattBufferHiDiv8 SKIP 1 ; High byte of the address of the current pattern ; buffer ($60 or $68) divided by 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 6 of 6) ; * DrawHangarWallLine ; * DrawSunRowOfBlocks ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * HAL3 ; * HAS3 ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 6 of 7) ; * LOIN (Part 7 of 7) ; * PIXEL ; * SetPatternBuffer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.SC2 SKIP 2 ; Temporary storage, typically used to store an address ; when writing data to the PPU or into the buffers ; ; [Show more] .SC3 SKIP 2 ; Temporary storage, used to store an address in the ; pattern buffers when drawing horizontal lines ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawVerticalLine (Part 2 of 3) ; * DrawVerticalLine (Part 3 of 3) ; * HLOIN (Part 2 of 5) ; * HLOIN (Part 3 of 5) ; * HLOIN (Part 4 of 5) ; * HLOIN (Part 5 of 5) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.barButtons SKIP 2 ; The address of the list of button numbers in the ; iconBarButtons table for the current icon bar ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarButtons ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.drawingBitplane SKIP 1 ; Flipped manually by calling FlipDrawingPlane, ; controls whether we are showing nametable/palette ; buffer 0 or 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawBoxEdges ; * DrawSpaceViewInNMI ; * FlipDrawingPlane ; * ResetScreen ; * SendBitplaneToPPU ; * SetDrawingBitplane ; * SetDrawPlaneFlags ; * SetupDemoUniverse ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.lastPattern SKIP 1 ; The number of the last pattern entry to send from ; pattern buffer 0 to bitplane 0 of the PPU pattern ; table in the NMI handler ; ; [Show more]
; ; This variable is used by the following: ; ; * CopyNameBuffer0To1 ; * DrawMessageInNMI ; * SendBitplaneToPPU ; * SendBuffersToPPU (Part 2 of 3) ; * SendPatternsToPPU (Part 1 of 6) ; * SetDrawingBitplane ; * SetDrawPlaneFlags ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable 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 ; The number of the last pattern entry to send from ; pattern buffer 1 to bitplane 1 of the PPU pattern ; table in the NMI handler .clearingPattern SKIP 1 ; The number of the first pattern to clear in pattern ; buffer 0 when the NMI handler clears patterns ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 3 of 3) ; * ClearPlaneBuffers (Part 2 of 2) ; * ResetScreen ; * SendBitplaneToPPU ; * SendTilesToPPU ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable 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 ; The number of the first pattern to clear in pattern ; buffer 1 when the NMI handler clears patterns ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .clearingNameTile SKIP 1 ; The number of the first tile to clear in nametable ; buffer 0 when the NMI handler clears tiles, divided ; by 8 ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 2 of 3) ; * ClearPlaneBuffers (Part 1 of 2) ; * ResetScreen ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; The number of the first tile to clear in nametable ; buffer 1 when the NMI handler clears tiles, divided ; by 8 ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .sendingNameTile SKIP 1 ; The number of the most recent tile that was sent to ; the PPU nametable by the NMI handler for bitplane ; 0 (or the number of the first tile to send if none ; have been sent), divided by 8 ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 2 of 3) ; * ClearPlaneBuffers (Part 1 of 2) ; * ResetScreen ; * SendBuffersToPPU (Part 2 of 3) ; * SendNametableToPPU ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; The number of the most recent tile that was sent to ; the PPU nametable by the NMI handler for bitplane ; 1 (or the number of the first tile to send if none ; have been sent), divided by 8 ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .patternCounter SKIP 1 ; Counts patterns as they are written to the PPU pattern ; table in the NMI handler ; ; This variable is used internally by the ; SendPatternsToPPU routine ; ; [Show more]
; ; This variable is used by the following: ; ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendPatternsToPPU (Part 5 of 6) ; * SendPatternsToPPU (Part 6 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
.sendingPattern SKIP 1 ; The number of the most recent pattern that was sent to ; the PPU pattern table by the NMI handler for bitplane ; 0 (or the number of the first pattern to send if none ; have been sent) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 3 of 3) ; * ClearPlaneBuffers (Part 2 of 2) ; * ResetScreen ; * SendBuffersToPPU (Part 2 of 3) ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 6 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; The number of the most recent pattern that was sent to ; the PPU pattern table by the NMI handler for bitplane ; 1 (or the number of the first pattern to send if none ; have been sent) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .firstNameTile SKIP 1 ; The number of the first tile for which we send ; nametable data to the PPU in the NMI handler ; (potentially for both bitplanes, if both are ; configured to be sent) ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * DEATH ; * DrawMessageInNMI ; * DrawScreenInNMI ; * DrawScrollText ; * PAUSE ; * SendBitplaneToPPU ; * SendTilesToPPU ; * SetupSpaceView ; * SetupViewInNMI ; * UpdateView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.lastNameTile SKIP 1 ; The number of the last nametable buffer entry to send ; to the PPU nametable table in the NMI handler for ; bitplane 0, divided by 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawMessageInNMI ; * RES2 ; * SendBuffersToPPU (Part 2 of 3) ; * SendNametableToPPU ; * SetSpaceViewInNMI ; * SetupFullViewInNMI ; * SetupSpaceView ; * SetupViewInNMI ; * UpdateView ; ; This list only includes code that refers to the ; variable 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 ; The number of the last nametable buffer entry to send ; to the PPU nametable table in the NMI handler for ; bitplane 1, divided by 8 .nameTileCounter SKIP 1 ; Counts tiles as they are written to the PPU nametable ; in the NMI handler ; ; Contains the tile number divided by 8, so it counts up ; 4 for every 32 tiles sent ; ; We divide by 8 because there are 1024 entries in each ; nametable, which doesn't fit into one byte, so we ; divide by 8 so the maximum counter value is 128 ; ; This variable is used internally by the ; SendNametableToPPU routine ; ; [Show more]
; ; This variable is used by the following: ; ; * SendNametableToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.cycleCount SKIP 2 ; Counts the number of CPU cycles left in the current ; VBlank in the NMI handler ; ; [Show more]
; ; This variable is used by the following: ; ; * ADD_CYCLES ; * ADD_CYCLES_CLC ; * ClearBuffers ; * ClearDrawingPlane (Part 2 of 3) ; * ClearDrawingPlane (Part 3 of 3) ; * ClearMemory ; * ClearPlaneBuffers (Part 1 of 2) ; * NMI ; * SendDataNowToPPU ; * SendScreenToPPU ; * SUBTRACT_CYCLES ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.firstPattern SKIP 1 ; The number of the first pattern for which we send data ; to the PPU in the NMI handler (potentially for both ; bitplanes, if both are configured to be sent) ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * ClearDrawingPlane (Part 1 of 3) ; * CLYNS ; * DEATH ; * DrawScreenInNMI ; * HALL ; * PAUSE ; * SendBitplaneToPPU ; * SendTilesToPPU ; * SetupSpaceView ; * SetupViewInNMI ; * ShowScrollText ; * UpdateView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.barPatternCounter SKIP 1 ; The number of icon bar nametable and pattern entries ; that need to be sent to the PPU in the NMI handler ; ; * 0 = send the nametable entries and the first four ; patterns in the next NMI call (and update ; barPatternCounter to 4 when done) ; ; * 1-127 = counts the number of pattern bytes already ; sent to the PPU, which get sent in batches ; of four patterns (32 bytes), split across ; multiple NMI calls, until we have send all ; 32 patterns and the value is 128 ; ; * 128 = do not send any tiles ; ; [Show more]
; ; This variable is used by the following: ; ; * SendBarNamesToPPU ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SendBuffersToPPU (Part 1 of 3) ; * SetupSprite0 ; * ShowIconBar ; * UpdateIconBar ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.iconBarRow SKIP 2 ; The row on which the icon bar appears ; ; This is stored as an offset from the start of the ; nametable buffer, so it's the number of the nametable ; entry for the top-left tile of the icon bar ; ; This can have two values: ; ; * 20*32 = icon bar is on row 20 (just above the ; dashboard) ; ; * 27*32 = icon bar is on tow 27 (at the bottom of ; the screen, where there is no dashboard) ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendBarNamesToPPU ; * SetIconBarRow ; * ShowIconBar ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.iconBarImageHi SKIP 1 ; Contains the high byte of the address of the image ; data for the current icon bar, i.e. HI(iconBarImage0) ; through to HI(iconBarImage4) ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SetupSprite0 ; * ShowIconBar ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.skipBarPatternsPPU SKIP 1 ; A flag to control whether to send the icon bar's ; patterns to the PPU, after sending the nametable ; entries (this only applies if barPatternCounter = 0) ; ; * Bit 7 set = do not send patterns ; ; * Bit 7 clear = send patterns ; ; This means that if barPatternCounter is set to zero ; and bit 7 of skipBarPatternsPPU is set, then only the ; nametable entries for the icon bar will be sent to the ; PPU, but if barPatternCounter is set to zero and bit 7 ; of skipBarPatternsPPU is clear, both the nametable ; entries and patterns will be sent ; ; [Show more]
; ; This variable is used by the following: ; ; * SendBarNamesToPPU ; * UpdateIconBar ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.maxNameTileToClear SKIP 1 ; The tile number at which the NMI handler should stop ; clearing tiles in the nametable buffers during its ; clearing cycle ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * ClearDrawingPlane (Part 2 of 3) ; * ClearPlaneBuffers (Part 1 of 2) ; * DEATH ; * DrawScreenInNMI ; * HALL ; * PAUSE ; * SetupSpaceView ; * UpdateView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.asciiToPattern SKIP 1 ; The number to add to an ASCII code to get the pattern ; number in the PPU of the corresponding character image ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * CHPR (Part 5 of 6) ; * LoadNormalFont ; * SendViewToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.updatePaletteInNMI SKIP 1 ; A flag that controls whether to send the palette data ; from XX3 to the PPU during NMI: ; ; * 0 = do not send palette data ; ; * Non-zero = do send palette data ; ; [Show more]
; ; This variable is used by the following: ; ; * FadeToBlack ; * FadeToColour ; * ResetScreen ; * SendScreenToPPU ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.patternBufferLo SKIP 1 ; (patternBufferHi patternBufferLo) contains the address ; of the pattern buffer for the pattern we are sending ; to the PPU from bitplane 0 (i.e. for pattern number ; sendingPattern in bitplane 0) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 6 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; (patternBufferHi patternBufferLo) contains the address ; of the pattern buffer for the pattern we are sending ; to the PPU from bitplane 1 (i.e. for pattern number ; sendingPattern in bitplane 1) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .nameTileBuffLo SKIP 1 ; (nameTileBuffHi nameTileBuffLo) contains the address ; of the nametable buffer for the tile we are sending to ; the PPU from bitplane 0 (i.e. for tile number ; sendingNameTile in bitplane 0) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * SendNametableToPPU ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; (nameTileBuffHi nameTileBuffLo) contains the address ; of the nametable buffer for the tile we are sending to ; the PPU from bitplane 1 (i.e. for tile number ; sendingNameTile in bitplane 1) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .nmiBitplane8 SKIP 1 ; Used when sending patterns to the PPU to calculate the ; address offset of bitplanes 0 and 1 ; ; Gets set to nmiBitplane * 8 to given an offset of 0 ; for bitplane 0 and an offset of 8 for bitplane 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ppuPatternTableHi SKIP 1 ; High byte of the address of the PPU pattern table to ; which we send patterns ; ; This is set to HI(PPU_PATT_1) in ResetScreen and ; doesn't change again, so it always points to pattern ; table 1 in the PPU, as that's the only pattern table ; we use for storing patterns ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattBufferAddr SKIP 2 ; Address of the current pattern buffer: ; ; * pattBuffer0 ($6000) when drawingBitplane = 0 ; * pattBuffer1 ($6800) when drawingBitplane = 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * SetDrawingBitplane ; * SetPatternBuffer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ppuNametableAddr SKIP 2 ; Address of the current PPU nametable: ; ; * PPU_NAME_0 ($2000) when drawingBitplane = 0 ; * PPU_NAME_1 ($2400) when drawingBitplane = 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SendPatternsToPPU (Part 1 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.drawingPlaneDebug SKIP 1 ; This variable is set to 0 whenever the drawing ; bitplane changes, but it is never read, so maybe this ; is part of some debug code that was left behind? ; ; [Show more]
; ; This variable is used by the following: ; ; * SetDrawingBitplane ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nameBufferHi SKIP 1 ; High byte of the address of the current nametable ; buffer ($70 or $74) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 6 of 6) ; * DrawDash ; * DrawHangarWallLine ; * DrawSunRowOfBlocks ; * DrawVerticalLine (Part 1 of 3) ; * HAL3 ; * HAS3 ; * HLOIN (Part 1 of 5) ; * LOIN (Part 3 of 7) ; * LOIN (Part 4 of 7) ; * LOIN (Part 5 of 7) ; * PIXEL ; * SetDrawingBitplane ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.startupDebug SKIP 1 ; This variable is set to 0 in the game's entry routine ; at S%, but it is never read, so maybe this is part of ; some debug code that was left behind? ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.lastToSend SKIP 1 ; The last tile or pattern number to send to the PPU, ; potentially potentially overwritten by the flags ; ; This variable is used internally by the NMI handler, ; and is set according to bit 3 of the bitplane flags ; ; [Show more]
; ; This variable is used by the following: ; ; * SendNametableToPPU ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 3 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
.setupPPUForIconBar SKIP 1 ; Controls whether we force the nametable and pattern ; table to 0 when the PPU starts drawing the icon bar ; ; * Bit 7 clear = do nothing when the PPU starts ; drawing the icon bar ; ; * Bit 7 set = configure the PPU to display nametable ; 0 and pattern table 0 when the PPU ; starts drawing the icon bar ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * ResetVariables ; * SendViewToPPU ; * SetPPUTablesTo0 ; * SETUP_PPU_FOR_ICON_BAR ; * WaitForIconBarPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.showUserInterface SKIP 1 ; Bit 7 set means display the user interface (so we only ; clear it for the game over screen) ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * SendViewToPPU ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.joystickDelta SKIP 0 ; Used to store the amount to change the pitch and roll ; rates when converting controller button presses into ; joystick values ; ; [Show more]
; ; This variable is used by the following: ; ; * DecreaseJoystick ; * IncreaseJoystick ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.addr SKIP 2 ; Temporary storage, used in a number of places to hold ; an address ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendPatternsToPPU (Part 5 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.dataForPPU SKIP 2 ; An address pointing to data that we send to the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * SEND_DATA_TO_PPU ; * SendBarNamesToPPU ; * SendBarPatts2ToPPU ; * SendBarPattsToPPU ; * SendNametableToPPU ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 2 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 4 of 6) ; * SendPatternsToPPU (Part 5 of 6) ; * SendPatternsToPPU (Part 6 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
.clearBlockSize SKIP 2 ; The size of the block of memory to clear, for example ; when clearing the buffers ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearBuffers ; * ClearDrawingPlane (Part 2 of 3) ; * ClearDrawingPlane (Part 3 of 3) ; * ClearMemory ; * ClearPlaneBuffers (Part 1 of 2) ; * ClearPlaneBuffers (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
.clearAddress SKIP 2 ; The address of a block of memory to clear, for example ; when clearing the buffers ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearBuffers ; * ClearDrawingPlane (Part 2 of 3) ; * ClearDrawingPlane (Part 3 of 3) ; * ClearMemory ; * ClearPlaneBuffers (Part 1 of 2) ; * ClearPlaneBuffers (Part 2 of 2) ; * FILL_MEMORY ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.hiddenBitplane SKIP 1 ; The bitplane that is currently hidden from view in the ; space view ; ; * 0 = bitplane 0 is hidden, so: ; * Colour %01 (1) is the hidden colour (black) ; * Colour %10 (2) is the visible colour (cyan) ; ; * 1 = bitplane 1 is hidden, so: ; * Colour %01 (1) is the visible colour (cyan) ; * Colour %10 (2) is the hidden colour (black) ; ; Note that bitplane 0 corresponds to bit 0 of the ; colour number, while bitplane 1 corresponds to bit 1 ; of the colour number (as this is how the NES stores ; pattern data - the first block of eight bytes in each ; pattern controls bit 0 of the colour, while the second ; block controls bit 1) ; ; In other words: ; ; * Bitplane 0 = bit 0 = colour %01 = colour 1 ; ; * Bitplane 1 = bit 1 = colour %10 = colour 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * GetViewPalettes ; * ResetScreen ; * SendBitplaneToPPU ; * SendBuffersToPPU (Part 2 of 3) ; * SendBuffersToPPU (Part 3 of 3) ; * SendOtherBitplane ; * SendViewToPPU ; * SetPaletteForView ; * SetPPURegisters ; * SetupDemoUniverse ; * SetupViewInNMI ; * UpdateHangarView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiBitplane SKIP 1 ; The number of the bitplane (0 or 1) that is currently ; being processed in the NMI handler during VBlank ; ; [Show more]
; ; This variable is used by the following: ; ; * ConsiderSendTiles ; * ResetScreen ; * SendBitplaneToPPU ; * SendBuffersToPPU (Part 2 of 3) ; * SendBuffersToPPU (Part 3 of 3) ; * SendNametableToPPU ; * SendOtherBitplane ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 6 of 6) ; * SendViewToPPU ; * SetupDemoUniverse ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ppuCtrlCopy SKIP 1 ; Contains a copy of PPU_CTRL, so we can check the PPU ; configuration without having to access the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * BEGIN ; * ResetScreen ; * ResetVariables ; * SendBuffersToPPU (Part 2 of 3) ; * SendPatternsToPPU (Part 1 of 6) ; * SendViewToPPU ; * SetPPURegisters ; * SetPPUTablesTo0 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.enableBitplanes SKIP 1 ; A flag to control whether two different bitplanes are ; implemented when drawing the screen, so smooth vector ; graphics can be shown ; ; * 0 = bitplanes are disabled (for the Start screen) ; ; * 1 = bitplanes are enabled (for the main game) ; ; [Show more]
; ; This variable is used by the following: ; ; * RES2 ; * SendBuffersToPPU (Part 2 of 3) ; * SendBuffersToPPU (Part 3 of 3) ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.currentBank SKIP 1 ; Contains the number of the ROM bank (0 to 6) that is ; currently paged into memory at $8000 ; ; [Show more]
; ; This variable is used by the following: ; ; * BEEP_b7 ; * ChangeCmdrName_b6 ; * ChangeToView_b0 ; * CheckForPause_b0 ; * CheckSaveSlots_b6 ; * ChooseLanguage_b6 ; * ChooseMusic_b6 ; * CHPR_b2 ; * CIRCLE2_b1 ; * ClearDashEdge_b6 ; * ClearScreen_b3 ; * CLIP_b1 ; * DASC_b2 ; * DETOK_b2 ; * DIALS_b6 ; * DrawBackground_b3 ; * DrawBigLogo_b4 ; * DrawCmdrImage_b6 ; * DrawDashNames_b3 ; * DrawEquipment_b6 ; * DrawImageFrame_b3 ; * DrawImageNames_b4 ; * DrawLaunchBox_b6 ; * DrawLightning_b6 ; * DrawScreenInNMI_b0 ; * DrawSmallBox_b3 ; * DrawSmallLogo_b4 ; * DrawSpriteImage_b6 ; * DrawSystemImage_b3 ; * DTS_b2 ; * ex_b2 ; * FadeToBlack_b3 ; * FadeToColour_b3 ; * GetCmdrImage_b4 ; * GetDefaultNEWB ; * GetHeadshot_b4 ; * GetHeadshotType_b4 ; * GetShipBlueprint ; * GetSystemBack_b5 ; * GetSystemImage_b5 ; * HALL_b1 ; * HideFromScanner_b1 ; * IncreaseTally ; * InputName_b6 ; * JAMESON_b6 ; * LL164_b6 ; * LL9_b1 ; * LoadHighFont_b3 ; * LoadNormalFont_b3 ; * MakeSounds_b6 ; * MVS5_b0 ; * PAS1_b0 ; * PauseGame_b6 ; * PDESC_b2 ; * PrintCtrlCode_b0 ; * ResetCommander_b6 ; * ResetScanner_b3 ; * ResetScreen_b3 ; * SCAN_b1 ; * SendBitplaneToPPU_b3 ; * SendViewToPPU_b3 ; * SetBank ; * SetDemoAutoPlay_b5 ; * SetKeyLogger_b6 ; * SetLinePatterns_b3 ; * SetNonZeroBank ; * SetupAfterLoad_b0 ; * SetupIconBar_b3 ; * SetupViewInNMI_b3 ; * SetViewAttrs_b3 ; * ShowIconBar_b3 ; * ShowScrollText_b6 ; * SIGHT_b3 ; * STARS_b1 ; * StartEffect_b6 ; * StopSounds_b6 ; * SUN_b1 ; * SVE_b6 ; * TIDY_b1 ; * TT24_b6 ; * TT27_b2 ; * TT66_b0 ; * UpdateIconBar_b3 ; * UpdateView_b0 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.runningSetBank SKIP 1 ; A flag that records whether we are in the process of ; switching ROM banks in the SetBank routine when the ; NMI handler is called ; ; * 0 = we are not in the process of switching ROM ; banks ; ; * Non-zero = we are not in the process of switching ; ROM banks ; ; This is used to control whether the NMI handler calls ; the MakeSounds routine to make the current sounds ; (music and sound effects), as this can only happen if ; we are not in the middle of switching ROM banks (if ; we are, then MakeSounds is only called once the ; bank-switching is done - see the SetBank routine for ; details) ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * SetBank ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.characterEnd SKIP 1 ; The number of the character beyond the end of the ; printable character set for the chosen language ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK2 ; * SetLanguage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.autoPlayKeys SKIP 2 ; The address of the table containing the key presses to ; apply when auto-playing the demo ; ; The address is either that of the chosen language's ; autoPlayKeys1 table (for the first part of the ; auto-play demo, or the autoPlayKeys2 table (for the ; second part) ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * SetDemoAutoPlay ; ; This list only includes code that refers to the ; variable 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 .soundAddr SKIP 2 ; Temporary storage, used in a number of places in the ; sound routines to hold an address ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * ApplyEnvelopeSQ1 ; * ApplyEnvelopeSQ2 ; * ApplyEnvelopeTRI ; * ChooseMusic ; * MakeMusicOnNOISE ; * MakeMusicOnSQ1 ; * MakeMusicOnSQ2 ; * MakeMusicOnTRI ; * MakeSoundOnNOISE ; * MakeSoundOnSQ1 ; * MakeSoundOnSQ2 ; * StartEffectOnNOISE ; * StartEffectOnSQ1 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable 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 "Zero page variables from ", ~ZP, " to ", ~P%
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 * DrawExplosionBurst uses XX3 * FadeColours uses XX3 * GetViewPalettes 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 * SendPalettesToPPU uses XX3 * SetPaletteColours 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 ; * DrawExplosionBurst ; * FadeColours ; * GetViewPalettes ; * LL62 ; * LL9 (Part 2 of 12) ; * LL9 (Part 8 of 12) ; * LL9 (Part 9 of 12) ; * LL9 (Part 10 of 12) ; * SendPalettesToPPU ; * SetPaletteColours ; * 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: Sprite buffer [Show more] Type: Workspace Address: $0200 to $02FF Category: Workspaces Summary: Configuration data for sprites 0 to 63, which gets copied to the PPU to update the screen
Context: See this workspace on its own page References: No direct references to this workspace in this source file

Each sprite has the following data associated with it: * The sprite's screen coordinates in (x, y) * The number of the pattern that is drawn on-screen for this sprite * The sprite's attributes, which are: * Bit 0-1: Palette to use when drawing the sprite (from sprite palettes 0 to 3 at PPU addresses $3F11, $3F15, $3F19 and $3F1D) * Bit 5: Priority (0 = in front of background, 1 = behind background) * Bit 6: Flip horizontally (0 = no flip, 1 = flip) * Bit 7: Flip vertically (0 = no flip, 1 = flip)
ORG $0200 .ySprite0 SKIP 1 ; Screen y-coordinate for sprite 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawCrosshairs ; * DrawPitchRollBars ; * DrawSaveSlotMark ; * DrawSmallLogo ; * DrawSpriteImage ; * HideMoreSprites ; * HideSprites ; * ResetScreen ; * ResetStardust ; * SCAN ; * SetLaserSprite ; * SetupSprite0 ; * 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
.pattSprite0 SKIP 1 ; Pattern number for sprite 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSaveSlotMark ; * DrawSmallLogo ; * DrawSpriteImage ; * ResetScanner ; * ResetScreen ; * ResetStardust ; * SetLaserSprite ; * ShowScrollText ; * 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
.attrSprite0 SKIP 1 ; Attributes for sprite 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSaveSlotMark ; * DrawSmallLogo ; * DrawSpriteImage ; * ResetScanner ; * ResetScreen ; * ResetStardust ; * SCAN ; * SetLaserSprite ; * ShowScrollText ; * 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
.xSprite0 SKIP 1 ; Screen x-coordinate for sprite 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawCrosshairs ; * DrawPitchRollBars ; * DrawSaveSlotMark ; * DrawSmallLogo ; * DrawSpriteImage ; * ResetScreen ; * SCAN ; * SetLaserSprite ; * SetupSprite0 ; * 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
.ySprite1 SKIP 1 ; Screen y-coordinate for sprite 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideIconBarPointer ; * MoveIconBarPointer ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite1 SKIP 1 ; Pattern number for sprite 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * ResetScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite1 SKIP 1 ; Attributes for sprite 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite1 SKIP 1 ; Screen x-coordinate for sprite 1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite2 SKIP 1 ; Screen y-coordinate for sprite 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideIconBarPointer ; * MoveIconBarPointer ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite2 SKIP 1 ; Pattern number for sprite 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * ResetScreen ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite2 SKIP 1 ; Attributes for sprite 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite2 SKIP 1 ; Screen x-coordinate for sprite 2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SCAN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite3 SKIP 1 ; Screen y-coordinate for sprite 3 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideIconBarPointer ; * MoveIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite3 SKIP 1 ; Pattern number for sprite 3 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite3 SKIP 1 ; Attributes for sprite 3 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite3 SKIP 1 ; Screen x-coordinate for sprite 3 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite4 SKIP 1 ; Screen y-coordinate for sprite 4 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideIconBarPointer ; * MoveIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite4 SKIP 1 ; Pattern number for sprite 4 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite4 SKIP 1 ; Attributes for sprite 4 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite4 SKIP 1 ; Screen x-coordinate for sprite 4 ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite5 SKIP 1 ; Screen y-coordinate for sprite 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * HideSightSprites ; * ShowScrollText ; * 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
.pattSprite5 SKIP 1 ; Pattern number for sprite 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * 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
.attrSprite5 SKIP 1 ; Attributes for sprite 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * 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
.xSprite5 SKIP 1 ; Screen x-coordinate for sprite 5 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * 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
.ySprite6 SKIP 1 ; Screen y-coordinate for sprite 6 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideSightSprites ; * ShowScrollText ; * 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
.pattSprite6 SKIP 1 ; Pattern number for sprite 6 ; ; [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
.attrSprite6 SKIP 1 ; Attributes for sprite 6 ; ; [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
.xSprite6 SKIP 1 ; Screen x-coordinate for sprite 6 ; ; [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
.ySprite7 SKIP 1 ; Screen y-coordinate for sprite 7 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideSightSprites ; * ShowScrollText ; * 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
.pattSprite7 SKIP 1 ; Pattern number for sprite 7 ; ; [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
.attrSprite7 SKIP 1 ; Attributes for sprite 7 ; ; [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
.xSprite7 SKIP 1 ; Screen x-coordinate for sprite 7 ; ; [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
.ySprite8 SKIP 1 ; Screen y-coordinate for sprite 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawGlasses ; * HideSightSprites ; * SetIconBarRow ; * ShowScrollText ; * 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
.pattSprite8 SKIP 1 ; Pattern number for sprite 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawGlasses ; * 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
.attrSprite8 SKIP 1 ; Attributes for sprite 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawGlasses ; * 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
.xSprite8 SKIP 1 ; Screen x-coordinate for sprite 8 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawGlasses ; * 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
.ySprite9 SKIP 1 ; Screen y-coordinate for sprite 9 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; * HideSightSprites ; * SetIconBarRow ; * ShowScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite9 SKIP 1 ; Pattern number for sprite 9 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite9 SKIP 1 ; Attributes for sprite 9 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite9 SKIP 1 ; Screen x-coordinate for sprite 9 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite10 SKIP 1 ; Screen y-coordinate for sprite 10 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; * SetIconBarRow ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite10 SKIP 1 ; Pattern number for sprite 10 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite10 SKIP 1 ; Attributes for sprite 10 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite10 SKIP 1 ; Screen x-coordinate for sprite 10 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * DrawGlasses ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite11 SKIP 1 ; Screen y-coordinate for sprite 11 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawRightEarring ; * HideFromScanner ; * SetIconBarRow ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite11 SKIP 1 ; Pattern number for sprite 11 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawRightEarring ; * ResetScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite11 SKIP 1 ; Attributes for sprite 11 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawRightEarring ; * ResetScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite11 SKIP 1 ; Screen x-coordinate for sprite 11 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawRightEarring ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite12 SKIP 1 ; Screen y-coordinate for sprite 12 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawLeftEarring ; * HideFromScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite12 SKIP 1 ; Pattern number for sprite 12 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawLeftEarring ; * ResetScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite12 SKIP 1 ; Attributes for sprite 12 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawLeftEarring ; * ResetScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite12 SKIP 1 ; Screen x-coordinate for sprite 12 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawLeftEarring ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite13 SKIP 1 ; Screen y-coordinate for sprite 13 ; ; [Show more]
; ; This variable is used by the following: ; ; * COMPAS ; * HideFromScanner ; * 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
.pattSprite13 SKIP 1 ; Pattern number for sprite 13 ; ; [Show more]
; ; This variable is used by the following: ; ; * 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
.attrSprite13 SKIP 1 ; Attributes for sprite 13 ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScanner ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite13 SKIP 1 ; Screen x-coordinate for sprite 13 ; ; [Show more]
; ; This variable is used by the following: ; ; * 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
.ySprite14 SKIP 1 ; Screen y-coordinate for sprite 14 .pattSprite14 SKIP 1 ; Pattern number for sprite 14 .attrSprite14 SKIP 1 ; Attributes for sprite 14 .xSprite14 SKIP 1 ; Screen x-coordinate for sprite 14 .ySprite15 SKIP 1 ; Screen y-coordinate for sprite 15 ; ; [Show more]
; ; This variable is used by the following: ; ; * HideCrosshairs ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite15 SKIP 1 ; Pattern number for sprite 15 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawCrosshairs ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite15 SKIP 1 ; Attributes for sprite 15 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawCrosshairs ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite15 SKIP 1 ; Screen x-coordinate for sprite 15 .ySprite16 SKIP 1 ; Screen y-coordinate for sprite 16 .pattSprite16 SKIP 1 ; Pattern number for sprite 16 .attrSprite16 SKIP 1 ; Attributes for sprite 16 .xSprite16 SKIP 1 ; Screen x-coordinate for sprite 16 .ySprite17 SKIP 1 ; Screen y-coordinate for sprite 17 .pattSprite17 SKIP 1 ; Pattern number for sprite 17 .attrSprite17 SKIP 1 ; Attributes for sprite 17 .xSprite17 SKIP 1 ; Screen x-coordinate for sprite 17 .ySprite18 SKIP 1 ; Screen y-coordinate for sprite 18 .pattSprite18 SKIP 1 ; Pattern number for sprite 18 .attrSprite18 SKIP 1 ; Attributes for sprite 18 .xSprite18 SKIP 1 ; Screen x-coordinate for sprite 18 .ySprite19 SKIP 1 ; Screen y-coordinate for sprite 19 .pattSprite19 SKIP 1 ; Pattern number for sprite 19 .attrSprite19 SKIP 1 ; Attributes for sprite 19 .xSprite19 SKIP 1 ; Screen x-coordinate for sprite 19 .ySprite20 SKIP 1 ; Screen y-coordinate for sprite 20 .pattSprite20 SKIP 1 ; Pattern number for sprite 20 .attrSprite20 SKIP 1 ; Attributes for sprite 20 .xSprite20 SKIP 1 ; Screen x-coordinate for sprite 20 .ySprite21 SKIP 1 ; Screen y-coordinate for sprite 21 .pattSprite21 SKIP 1 ; Pattern number for sprite 21 .attrSprite21 SKIP 1 ; Attributes for sprite 21 .xSprite21 SKIP 1 ; Screen x-coordinate for sprite 21 .ySprite22 SKIP 1 ; Screen y-coordinate for sprite 22 .pattSprite22 SKIP 1 ; Pattern number for sprite 22 .attrSprite22 SKIP 1 ; Attributes for sprite 22 .xSprite22 SKIP 1 ; Screen x-coordinate for sprite 22 .ySprite23 SKIP 1 ; Screen y-coordinate for sprite 23 .pattSprite23 SKIP 1 ; Pattern number for sprite 23 .attrSprite23 SKIP 1 ; Attributes for sprite 23 .xSprite23 SKIP 1 ; Screen x-coordinate for sprite 23 .ySprite24 SKIP 1 ; Screen y-coordinate for sprite 24 .pattSprite24 SKIP 1 ; Pattern number for sprite 24 .attrSprite24 SKIP 1 ; Attributes for sprite 24 .xSprite24 SKIP 1 ; Screen x-coordinate for sprite 24 .ySprite25 SKIP 1 ; Screen y-coordinate for sprite 25 .pattSprite25 SKIP 1 ; Pattern number for sprite 25 .attrSprite25 SKIP 1 ; Attributes for sprite 25 .xSprite25 SKIP 1 ; Screen x-coordinate for sprite 25 .ySprite26 SKIP 1 ; Screen y-coordinate for sprite 26 .pattSprite26 SKIP 1 ; Pattern number for sprite 26 .attrSprite26 SKIP 1 ; Attributes for sprite 26 .xSprite26 SKIP 1 ; Screen x-coordinate for sprite 26 .ySprite27 SKIP 1 ; Screen y-coordinate for sprite 27 .pattSprite27 SKIP 1 ; Pattern number for sprite 27 .attrSprite27 SKIP 1 ; Attributes for sprite 27 .xSprite27 SKIP 1 ; Screen x-coordinate for sprite 27 .ySprite28 SKIP 1 ; Screen y-coordinate for sprite 28 .pattSprite28 SKIP 1 ; Pattern number for sprite 28 .attrSprite28 SKIP 1 ; Attributes for sprite 28 .xSprite28 SKIP 1 ; Screen x-coordinate for sprite 28 .ySprite29 SKIP 1 ; Screen y-coordinate for sprite 29 .pattSprite29 SKIP 1 ; Pattern number for sprite 29 .attrSprite29 SKIP 1 ; Attributes for sprite 29 .xSprite29 SKIP 1 ; Screen x-coordinate for sprite 29 .ySprite30 SKIP 1 ; Screen y-coordinate for sprite 30 .pattSprite30 SKIP 1 ; Pattern number for sprite 30 .attrSprite30 SKIP 1 ; Attributes for sprite 30 .xSprite30 SKIP 1 ; Screen x-coordinate for sprite 30 .ySprite31 SKIP 1 ; Screen y-coordinate for sprite 31 .pattSprite31 SKIP 1 ; Pattern number for sprite 31 .attrSprite31 SKIP 1 ; Attributes for sprite 31 .xSprite31 SKIP 1 ; Screen x-coordinate for sprite 31 .ySprite32 SKIP 1 ; Screen y-coordinate for sprite 32 .pattSprite32 SKIP 1 ; Pattern number for sprite 32 .attrSprite32 SKIP 1 ; Attributes for sprite 32 .xSprite32 SKIP 1 ; Screen x-coordinate for sprite 32 .ySprite33 SKIP 1 ; Screen y-coordinate for sprite 33 .pattSprite33 SKIP 1 ; Pattern number for sprite 33 .attrSprite33 SKIP 1 ; Attributes for sprite 33 .xSprite33 SKIP 1 ; Screen x-coordinate for sprite 33 .ySprite34 SKIP 1 ; Screen y-coordinate for sprite 34 .pattSprite34 SKIP 1 ; Pattern number for sprite 34 .attrSprite34 SKIP 1 ; Attributes for sprite 34 .xSprite34 SKIP 1 ; Screen x-coordinate for sprite 34 .ySprite35 SKIP 1 ; Screen y-coordinate for sprite 35 .pattSprite35 SKIP 1 ; Pattern number for sprite 35 .attrSprite35 SKIP 1 ; Attributes for sprite 35 .xSprite35 SKIP 1 ; Screen x-coordinate for sprite 35 .ySprite36 SKIP 1 ; Screen y-coordinate for sprite 36 .pattSprite36 SKIP 1 ; Pattern number for sprite 36 .attrSprite36 SKIP 1 ; Attributes for sprite 36 .xSprite36 SKIP 1 ; Screen x-coordinate for sprite 36 .ySprite37 SKIP 1 ; Screen y-coordinate for sprite 37 ; ; [Show more]
; ; This variable is used by the following: ; ; * PIXEL2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite37 SKIP 1 ; Pattern number for sprite 37 ; ; [Show more]
; ; This variable is used by the following: ; ; * PIXEL2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite37 SKIP 1 ; Attributes for sprite 37 .xSprite37 SKIP 1 ; Screen x-coordinate for sprite 37 ; ; [Show more]
; ; This variable is used by the following: ; ; * PIXEL2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite38 SKIP 1 ; Screen y-coordinate for sprite 38 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawChartSystem ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite38 SKIP 1 ; Pattern number for sprite 38 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawChartSystem ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite38 SKIP 1 ; Attributes for sprite 38 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawChartSystem ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite38 SKIP 1 ; Screen x-coordinate for sprite 38 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawChartSystem ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite39 SKIP 1 ; Screen y-coordinate for sprite 39 .pattSprite39 SKIP 1 ; Pattern number for sprite 39 .attrSprite39 SKIP 1 ; Attributes for sprite 39 .xSprite39 SKIP 1 ; Screen x-coordinate for sprite 39 .ySprite40 SKIP 1 ; Screen y-coordinate for sprite 40 .pattSprite40 SKIP 1 ; Pattern number for sprite 40 .attrSprite40 SKIP 1 ; Attributes for sprite 40 .xSprite40 SKIP 1 ; Screen x-coordinate for sprite 40 .ySprite41 SKIP 1 ; Screen y-coordinate for sprite 41 .pattSprite41 SKIP 1 ; Pattern number for sprite 41 .attrSprite41 SKIP 1 ; Attributes for sprite 41 .xSprite41 SKIP 1 ; Screen x-coordinate for sprite 41 .ySprite42 SKIP 1 ; Screen y-coordinate for sprite 42 .pattSprite42 SKIP 1 ; Pattern number for sprite 42 .attrSprite42 SKIP 1 ; Attributes for sprite 42 .xSprite42 SKIP 1 ; Screen x-coordinate for sprite 42 .ySprite43 SKIP 1 ; Screen y-coordinate for sprite 43 .pattSprite43 SKIP 1 ; Pattern number for sprite 43 .attrSprite43 SKIP 1 ; Attributes for sprite 43 .xSprite43 SKIP 1 ; Screen x-coordinate for sprite 43 .ySprite44 SKIP 1 ; Screen y-coordinate for sprite 44 .pattSprite44 SKIP 1 ; Pattern number for sprite 44 .attrSprite44 SKIP 1 ; Attributes for sprite 44 .xSprite44 SKIP 1 ; Screen x-coordinate for sprite 44 .ySprite45 SKIP 1 ; Screen y-coordinate for sprite 45 .pattSprite45 SKIP 1 ; Pattern number for sprite 45 .attrSprite45 SKIP 1 ; Attributes for sprite 45 .xSprite45 SKIP 1 ; Screen x-coordinate for sprite 45 .ySprite46 SKIP 1 ; Screen y-coordinate for sprite 46 .pattSprite46 SKIP 1 ; Pattern number for sprite 46 .attrSprite46 SKIP 1 ; Attributes for sprite 46 .xSprite46 SKIP 1 ; Screen x-coordinate for sprite 46 .ySprite47 SKIP 1 ; Screen y-coordinate for sprite 47 .pattSprite47 SKIP 1 ; Pattern number for sprite 47 .attrSprite47 SKIP 1 ; Attributes for sprite 47 .xSprite47 SKIP 1 ; Screen x-coordinate for sprite 47 .ySprite48 SKIP 1 ; Screen y-coordinate for sprite 48 .pattSprite48 SKIP 1 ; Pattern number for sprite 48 .attrSprite48 SKIP 1 ; Attributes for sprite 48 .xSprite48 SKIP 1 ; Screen x-coordinate for sprite 48 .ySprite49 SKIP 1 ; Screen y-coordinate for sprite 49 .pattSprite49 SKIP 1 ; Pattern number for sprite 49 .attrSprite49 SKIP 1 ; Attributes for sprite 49 .xSprite49 SKIP 1 ; Screen x-coordinate for sprite 49 .ySprite50 SKIP 1 ; Screen y-coordinate for sprite 50 .pattSprite50 SKIP 1 ; Pattern number for sprite 50 .attrSprite50 SKIP 1 ; Attributes for sprite 50 .xSprite50 SKIP 1 ; Screen x-coordinate for sprite 50 .ySprite51 SKIP 1 ; Screen y-coordinate for sprite 51 .pattSprite51 SKIP 1 ; Pattern number for sprite 51 .attrSprite51 SKIP 1 ; Attributes for sprite 51 .xSprite51 SKIP 1 ; Screen x-coordinate for sprite 51 .ySprite52 SKIP 1 ; Screen y-coordinate for sprite 52 .pattSprite52 SKIP 1 ; Pattern number for sprite 52 .attrSprite52 SKIP 1 ; Attributes for sprite 52 .xSprite52 SKIP 1 ; Screen x-coordinate for sprite 52 .ySprite53 SKIP 1 ; Screen y-coordinate for sprite 53 .pattSprite53 SKIP 1 ; Pattern number for sprite 53 .attrSprite53 SKIP 1 ; Attributes for sprite 53 .xSprite53 SKIP 1 ; Screen x-coordinate for sprite 53 .ySprite54 SKIP 1 ; Screen y-coordinate for sprite 54 .pattSprite54 SKIP 1 ; Pattern number for sprite 54 .attrSprite54 SKIP 1 ; Attributes for sprite 54 .xSprite54 SKIP 1 ; Screen x-coordinate for sprite 54 .ySprite55 SKIP 1 ; Screen y-coordinate for sprite 55 .pattSprite55 SKIP 1 ; Pattern number for sprite 55 .attrSprite55 SKIP 1 ; Attributes for sprite 55 .xSprite55 SKIP 1 ; Screen x-coordinate for sprite 55 .ySprite56 SKIP 1 ; Screen y-coordinate for sprite 56 .pattSprite56 SKIP 1 ; Pattern number for sprite 56 .attrSprite56 SKIP 1 ; Attributes for sprite 56 .xSprite56 SKIP 1 ; Screen x-coordinate for sprite 56 .ySprite57 SKIP 1 ; Screen y-coordinate for sprite 57 .pattSprite57 SKIP 1 ; Pattern number for sprite 57 .attrSprite57 SKIP 1 ; Attributes for sprite 57 .xSprite57 SKIP 1 ; Screen x-coordinate for sprite 57 .ySprite58 SKIP 1 ; Screen y-coordinate for sprite 58 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattSprite58 SKIP 1 ; Pattern number for sprite 58 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrSprite58 SKIP 1 ; Attributes for sprite 58 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xSprite58 SKIP 1 ; Screen x-coordinate for sprite 58 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.ySprite59 SKIP 1 ; Screen y-coordinate for sprite 59 .pattSprite59 SKIP 1 ; Pattern number for sprite 59 .attrSprite59 SKIP 1 ; Attributes for sprite 59 .xSprite59 SKIP 1 ; Screen x-coordinate for sprite 59 .ySprite60 SKIP 1 ; Screen y-coordinate for sprite 60 .pattSprite60 SKIP 1 ; Pattern number for sprite 60 .attrSprite60 SKIP 1 ; Attributes for sprite 60 .xSprite60 SKIP 1 ; Screen x-coordinate for sprite 60 .ySprite61 SKIP 1 ; Screen y-coordinate for sprite 61 .pattSprite61 SKIP 1 ; Pattern number for sprite 61 .attrSprite61 SKIP 1 ; Attributes for sprite 61 .xSprite61 SKIP 1 ; Screen x-coordinate for sprite 61 .ySprite62 SKIP 1 ; Screen y-coordinate for sprite 62 .pattSprite62 SKIP 1 ; Pattern number for sprite 62 .attrSprite62 SKIP 1 ; Attributes for sprite 62 .xSprite62 SKIP 1 ; Screen x-coordinate for sprite 62 .ySprite63 SKIP 1 ; Screen y-coordinate for sprite 63 .pattSprite63 SKIP 1 ; Pattern number for sprite 63 .attrSprite63 SKIP 1 ; Attributes for sprite 63 .xSprite63 SKIP 1 ; Screen x-coordinate for sprite 63
Name: WP [Show more] Type: Workspace Address: $0300 to $05FF Category: Workspaces Summary: Ship slots, variables
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG $0300 .WP SKIP 0 ; The start of the WP workspace .allowInSystemJump SKIP 1 ; Bits 6 and 7 record whether it is safe to perform an ; in-system jump ; ; Bits are set if, for example, hostile ships are in the ; vicinity, or we are too near a station, the planet or ; the sun ; ; We can only do a jump if both bits are clear ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollText ; * Main flight loop (Part 2 of 16) ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 4 of 16) ; * Main game loop (Part 5 of 6) ; * NWSHP ; * PlayDemo ; * RES2 ; * SetupIconBarFlight ; * 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
.enableSound SKIP 1 ; Controls sound effects and music in David Whittaker's ; sound module ; ; * 0 = sound is disabled ; ; * Non-zero = sound is enabled ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * EnableSound ; * MakeMusic ; * MakeSoundOnNOISE ; * MakeSoundOnSQ1 ; * MakeSoundOnSQ2 ; * MakeSounds ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.effectOnSQ1 SKIP 1 ; Records whether a sound effect is being made on the ; SQ1 channel ; ; * 0 = no sound effect is being made on SQ1 ; ; * Non-zero = a sound effect is being made on SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; * MakeSounds ; * NOISE ; * StartEffectOnSQ1 ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.effectOnSQ2 SKIP 1 ; Records whether a sound effect is being made on the ; SQ2 channel ; ; * 0 = no sound effect is being made on SQ2 ; ; * Non-zero = a sound effect is being made on SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; * MakeSounds ; * StartEffectOnSQ2 ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.effectOnNOISE SKIP 1 ; Records whether a sound effect is being made on the ; NOISE channel ; ; * 0 = no sound effect is being made on NOISE ; ; * Non-zero = a sound effect is being made on NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnNOISE ; * MakeSoundOnNOISE ; * MakeSounds ; * StartEffectOnNOISE ; * StopSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuneSpeed SKIP 1 ; The speed of the current tune, which can vary as the ; tune plays ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * DEATH2 ; * MakeMusic ; * MakeMusicOnNOISE ; * MakeMusicOnSQ1 ; * MakeMusicOnSQ2 ; * MakeMusicOnTRI ; * PlayDemo ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuneSpeedCopy SKIP 1 ; The starting speed of the current tune, as stored in ; the tune's data ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnNOISE ; * MakeMusicOnSQ1 ; * MakeMusicOnSQ2 ; * MakeMusicOnTRI ; * PlayDemo ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVibrato SKIP 4 ; The four-byte seeds for adding randomised vibrato to ; the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * Main game loop (Part 2 of 6) ; * MakeSoundOnNOISE ; * MakeSoundOnSQ1 ; * MakeSoundOnSQ2 ; * SetupDemoUniverse ; * ShowStartScreen ; * UpdateVibratoSeeds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuneProgress SKIP 1 ; A variable for keeping track of progress while playing ; the current tune, so we send data to the APU at the ; correct time over multiple iterations of the MakeMusic ; routine, according to the tune speed in tuneSpeed ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusic ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuningAll SKIP 1 ; The tuning value for all channels ; ; Gets added to each note's pitch in the SQ1, SQ2 and ; TRI channels ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ1 ; * MakeMusicOnSQ2 ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.playMusic SKIP 1 ; Controls whether to keep playing the current tune: ; ; * 0 = do not keep playing the current tune ; ; * $FF do keep playing the current tune ; ; The $FE note command stops the current tune and zeroes ; this flag, and the only way to restart the music is ; via the ChooseMusic routine ; ; A value of zero in this flag also prevents the ; EnableSound routine from having any effect ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * EnableSound ; * MakeMusicOnNOISE ; * MakeMusicOnSQ1 ; * MakeMusicOnSQ2 ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionDataSQ1 SKIP 2 ; The address of the note data for channel SQ1 of the ; the current section of the current tune ; ; So if the current tune is tune 0 and we're playing ; section 0, this would point to tune0Data_SQ1_0 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionListSQ1 SKIP 2 ; The address of the section list for channel SQ1 of ; the current tune ; ; So if the current tune is tune 0, this would point to ; tune0Data_SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nextSectionSQ1 SKIP 2 ; The next section for the SQ1 channel of the current ; tune ; ; This is stored as the offset of the address of the ; next section in the current tune for the SQ1 channel ; (so this would be the offset within the tuneData0_SQ1 ; table for tune 0, for example) ; ; Adding 2 moves it on to the next section of the tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuningSQ1 SKIP 1 ; The tuning value for the SQ1 channel ; ; Gets added to each note's pitch in the SQ1 channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.startPauseSQ1 SKIP 1 ; Pause for this many iterations before starting to ; process each batch of note data on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pauseCountSQ1 SKIP 1 ; Pause for this many iterations before continuing to ; process note data on channel SQ1, decrementing the ; value for each paused iteration ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.dutyLoopEnvSQ1 SKIP 1 ; The high nibble to use for SQ1_VOL, when setting the ; following for the SQ1 channel: ; ; * Bits 6-7 = duty pulse length ; ; * Bit 5 set = infinite play ; * Bit 5 clear = one-shot play ; ; * Bit 4 set = constant volume ; * Bit 4 clear = envelope volume ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq1Sweep SKIP 1 ; The value that we are going to send to the APU via ; SQ1_SWEEP for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchIndexSQ1 SKIP 1 ; The index of the entry within the pitch envelope to ; be applied to the current tune on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchEnvelopeSQ1 SKIP 1 ; The number of the pitch envelope to be applied to the ; current tune on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq1LoCopy SKIP 1 ; A copy of the value that we are going to send to the ; APU via SQ1_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeIndexSQ1 SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeRepeatSQ1 SKIP 1 ; The number of repeats to be applied to each byte in ; the volume envelope on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeCounterSQ1 SKIP 1 ; A counter for keeping track of repeated bytes from ; the volume envelope on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeEnvelopeSQ1 SKIP 1 ; The number of the volume envelope to be applied to the ; current tune on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.applyVolumeSQ1 SKIP 1 ; A flag that determines whether to apply the volume ; envelope to the SQ1 channel ; ; * 0 = do not apply volume envelope ; ; * $FF = apply volume envelope ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionDataSQ2 SKIP 2 ; The address of the note data for channel SQ2 of the ; the current section of the current tune ; ; So if the current tune is tune 0 and we're playing ; section 0, this would point to tune0Data_SQ2_0 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionListSQ2 SKIP 2 ; The address of the section list for channel SQ2 of ; the current tune ; ; So if the current tune is tune 0, this would point to ; tune0Data_SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nextSectionSQ2 SKIP 2 ; The next section for the SQ2 channel of the current ; tune ; ; This is stored as the offset of the address of the ; next section in the current tune for the SQ2 channel ; (so this would be the offset within the tuneData0_SQ2 ; table for tune 0, for example) ; ; Adding 2 moves it on to the next section of the tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuningSQ2 SKIP 1 ; The tuning value for the SQ2 channel ; ; Gets added to each note's pitch in the SQ2 channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.startPauseSQ2 SKIP 1 ; Pause for this many iterations before starting to ; process each batch of note data on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pauseCountSQ2 SKIP 1 ; Pause for this many iterations before continuing to ; process note data on channel SQ2, decrementing the ; value for each paused iteration ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.dutyLoopEnvSQ2 SKIP 1 ; The high nibble to use for SQ2_VOL, when setting the ; following for the SQ2 channel: ; ; * Bits 6-7 = duty pulse length ; ; * Bit 5 set = infinite play ; * Bit 5 clear = one-shot play ; ; * Bit 4 set = constant volume ; * Bit 4 clear = envelope volume ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq2Sweep SKIP 1 ; The value that we are going to send to the APU via ; SQ2_SWEEP for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchIndexSQ2 SKIP 1 ; The index of the entry within the pitch envelope to ; be applied to the current tune on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchEnvelopeSQ2 SKIP 1 ; The number of the pitch envelope to be applied to the ; current tune on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq2LoCopy SKIP 1 ; A copy of the value that we are going to send to the ; APU via SQ2_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeIndexSQ2 SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeRepeatSQ2 SKIP 1 ; The number of repeats to be applied to each byte in ; the volume envelope on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeCounterSQ2 SKIP 1 ; A counter for keeping track of repeated bytes from ; the volume envelope on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeEnvelopeSQ2 SKIP 1 ; The number of the volume envelope to be applied to the ; current tune on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.applyVolumeSQ2 SKIP 1 ; A flag that determines whether to apply the volume ; envelope to the SQ2 channel ; ; * 0 = do not apply volume envelope ; ; * $FF = apply volume envelope ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionDataTRI SKIP 2 ; The address of the note data for channel TRI of the ; the current section of the current tune ; ; So if the current tune is tune 0 and we're playing ; section 0, this would point to tune0Data_TRI_0 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionListTRI SKIP 2 ; The address of the section list for channel TRI of ; the current tune ; ; So if the current tune is tune 0, this would point to ; tune0Data_TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nextSectionTRI SKIP 2 ; The next section for the TRI channel of the current ; tune ; ; This is stored as the offset of the address of the ; next section in the current tune for the TRI channel ; (so this would be the offset within the tuneData0_TRI ; table for tune 0, for example) ; ; Adding 2 moves it on to the next section of the tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.tuningTRI SKIP 1 ; The tuning value for the TRI channel ; ; Gets added to each note's pitch in the TRI channel ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.startPauseTRI SKIP 1 ; Pause for this many iterations before starting to ; process each batch of note data on channel TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pauseCountTRI SKIP 1 ; Pause for this many iterations before continuing to ; process note data on channel TRI, decrementing the ; value for each paused iteration ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable 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 .pitchIndexTRI SKIP 1 ; The index of the entry within the pitch envelope to ; be applied to the current tune on channel TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchEnvelopeTRI SKIP 1 ; The number of the pitch envelope to be applied to the ; current tune on channel TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.triLoCopy SKIP 1 ; A copy of the value that we are going to send to the ; APU via TRI_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeCounterTRI SKIP 1 ; A counter for keeping track of repeated bytes from ; the volume envelope on channel TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable 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 .volumeEnvelopeTRI SKIP 1 ; The number of the volume envelope to be applied to the ; current tune on channel TRI ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable 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 .sectionDataNOISE SKIP 2 ; The address of the note data for channel NOISE of the ; the current section of the current tune ; ; So if the current tune is tune 0 and we're playing ; section 0, this would point to tune0Data_NOISE_0 ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sectionListNOISE SKIP 2 ; The address of the section list for channel NOISE of ; the current tune ; ; So if the current tune is tune 0, this would point to ; tune0Data_NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nextSectionNOISE SKIP 2 ; The next section for the NOISE channel of the current ; tune ; ; This is stored as the offset of the address of the ; next section in the current tune for the NOISE channel ; (so this would be the offset within the ; tuneData0_NOISE table for tune 0, for example) ; ; Adding 2 moves it on to the next section of the tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable 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 .startPauseNOISE SKIP 1 ; Pause for this many iterations before starting to ; process each batch of note data on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pauseCountNOISE SKIP 1 ; Pause for this many iterations before continuing to ; process note data on channel NOISE, decrementing the ; value for each paused iteration ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable 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 .pitchIndexNOISE SKIP 1 ; The index of the entry within the pitch envelope to ; be applied to the current tune on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pitchEnvelopeNOISE SKIP 1 ; The number of the pitch envelope to be applied to the ; current tune on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.noiseLoCopy SKIP 1 ; A copy of the value that we are going to send to the ; APU via NOISE_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeIndexNOISE SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeRepeatNOISE SKIP 1 ; The number of repeats to be applied to each byte in ; the volume envelope on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeCounterNOISE SKIP 1 ; A counter for keeping track of repeated bytes from ; the volume envelope on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.volumeEnvelopeNOISE SKIP 1 ; The number of the volume envelope to be applied to the ; current tune on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.applyVolumeNOISE SKIP 1 ; A flag that determines whether to apply the volume ; envelope to the NOISE channel ; ; * 0 = do not apply volume envelope ; ; * $FF = apply volume envelope ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq1Volume SKIP 1 ; The value that we are going to send to the APU via ; SQ1_VOL for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; * MakeSounds ; * StopSounds ; ; This list only includes code that refers to the ; variable 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 .sq1Lo SKIP 1 ; The value that we are going to send to the APU via ; SQ1_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ1 ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq1Hi SKIP 1 ; The value that we are going to send to the APU via ; SQ1_HI for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ1 ; * MakeSoundOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq2Volume SKIP 1 ; The value that we are going to send to the APU via ; SQ2_VOL for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; * MakeSounds ; ; This list only includes code that refers to the ; variable 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 .sq2Lo SKIP 1 ; The value that we are going to send to the APU via ; SQ2_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeSQ2 ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sq2Hi SKIP 1 ; The value that we are going to send to the APU via ; SQ2_HI for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnSQ2 ; * MakeSoundOnSQ2 ; ; This list only includes code that refers to the ; variable 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 .triLo SKIP 1 ; The value that we are going to send to the APU via ; TRI_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeTRI ; * MakeMusicOnTRI ; * MakeSounds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.triHi SKIP 1 ; The value that we are going to send to the APU via ; TRI_HI for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeMusicOnTRI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.noiseVolume SKIP 1 ; The value that we are going to send to the APU via ; NOISE_VOL for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; * MakeSoundOnNOISE ; * MakeSounds ; ; This list only includes code that refers to the ; variable 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 .noiseLo SKIP 1 ; The value that we are going to send to the APU via ; NOISE_LO for the current tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ApplyEnvelopeNOISE ; * MakeMusicOnNOISE ; * MakeSoundOnNOISE ; * MakeSounds ; ; This list only includes code that refers to the ; variable 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 .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 ; there are 9 slots but only 8 are used for ships ; (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: ; ; * autoPlayKeys1_DE ; * autoPlayKeys1_EN ; * autoPlayKeys1_FR ; * autoPlayKeys2 ; * ClearScanner ; * DEATH ; * FlightLoop4To16 ; * FRMIS ; * GetStatusCondition ; * InSystemJump ; * KILLSHP ; * KS2 ; * KS4 ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 4 of 6) ; * NWSHP ; * NWSPS ; * SOLAR ; * WPSHPS ; * 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
.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: ; ; * GetStatusCondition ; * KILLSHP ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 2 of 6) ; * Main game loop (Part 4 of 6) ; * 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
.scannerNumber SKIP 10 ; Details of which scanner numbers are allocated to ; ships on the scanner ; ; Bytes 1 to 8 contain the following: ; ; * $FF indicates that this scanner number (1 to 8) ; is allocated to a ship so that is it shown on ; the scanner (the scanner number is stored in byte ; #33 of the ship's data block) ; ; * 0 indicates that this scanner number (1 to 8) is ; not yet allocated to a ship ; ; Bytes 0 and 9 in the table are unused ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * HideFromScanner ; * 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
.scannerColour SKIP 10 ; The colour of each ship number on the scanner, stored ; as the sprite palette number for that ship's three ; scanner sprites ; ; Bytes 1 to 8 contain palettes for ships with non-zero ; entries in the scannerNumber table (i.e. for ships on ; the scanner) ; ; Bytes 0 and 9 are unused ; ; [Show more]
; ; This variable is used by the following: ; ; * NWSHP ; * SCAN ; ; This list only includes code that refers to the ; variable 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 2 of 16) ; * Main flight loop (Part 9 of 16) ; * Main flight loop (Part 15 of 16) ; * TACTICS (Part 2 of 7) ; * TT102 ; * 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
.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 ; * FlightLoop4To16 ; * 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
.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: ; ; * COMPAS ; * Main flight loop (Part 2 of 16) ; * 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 ; * SetSelectionFlags ; * SetupIconBarFlight ; * TACTICS (Part 1 of 7) ; * TT146 ; * TT151 ; * 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * DIALS ; * 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) ; * TT66 ; ; This list only includes code that refers to the ; variable 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 ; flashing red) ; ; * Non-zero = missile is currently looking for a ; target (indicator is flashing red) ; ; [Show more]
; ; This variable is used by the following: ; ; * ABORT ; * DIALS ; * 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 ; * 4 = generating a new space view ; ; [Show more]
; ; This variable is used by the following: ; ; * LOOK1 ; * Main flight loop (Part 3 of 16) ; * PlayDemo ; * PLUT ; * PrintSpaceViewName ; * RedrawCurrentView ; * SendSpaceViewToPPU ; * SetSpaceViewInNMI ; * SIGHT ; * STARS ; * TT102 ; * TT110 ; * 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 ; ; It gets decremented by 2 on each iteration round the ; main game loop and is set to a non-zero value for ; pulse lasers only ; ; The laser only fires when the value of LASCT hits ; zero, so for pulse lasers with a value of 10, that ; means the laser fires once every four iterations ; round the main game loop (LASCT = 10, 6, 2, 0) ; ; In comparison, beam lasers fire continuously as the ; value of LASCT is always 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * CalculateGridLines ; * ChooseLanguage ; * DEATH ; * DrawScrollText ; * Main flight loop (Part 3 of 16) ; * Main game loop (Part 5 of 6) ; * RunDemoFlightLoop ; * SetChosenLanguage ; ; This list only includes code that refers to the ; variable 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 ; * InSystemJump ; * LASLI ; * Main flight loop (Part 3 of 16) ; * Main game loop (Part 5 of 6) ; * ResetShipStatus ; ; This list only includes code that refers to the ; variable 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 the NES ; has a different hyperspace effect, so this variable is ; not used .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 ; * hyp1 ; * Main game loop (Part 4 of 6) ; * SetupAfterLoad ; * 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 ; * FlightLoop4To16 ; * MESS ; * OUCH ; * PrintMessage ; * TT66 ; ; This list only includes code that refers to the ; variable 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 ; * OUCH ; * StoreMessage ; * TT66 ; * 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
.selectedSystemFlag SKIP 1 ; Flags for the currently selected system ; ; * Bit 6 is set when we can hyperspace to the ; currently selected system, clear otherwise ; ; * Bit 7 is set when there is a currently selected ; system, clear otherwise (such as when we are ; moving the crosshairs between systems) ; ; [Show more]
; ; This variable is used by the following: ; ; * hyp ; * hyp1 ; * RESET ; * SetSelectedSystem ; * SetSelectionFlags ; * SetupIconBarCharts ; * SetupIconBarFlight ; * TT102 ; * TT16 ; ; This list only includes code that refers to the ; variable 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 7 ; The current commander name ; ; The commander name can be up to 7 characters long ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeCmdrName ; * cmn ; * CopyCommanderToBuf ; * ResetCommander ; * SaveLoadCommander ; ; This list only includes code that refers to the ; variable 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 ; ; * Bits 0-6 contains the save count, which gets ; incremented when buying or selling equipment or ; cargo, or launching from a station (at which point ; bit 7 also gets set, so we only increment once ; between each save) ; ; * Bit 7: ; ; * 0 = The save counter can be incremented ; ; * 1 = We have already incremented the save ; counter for this commander but have not ; saved it yet, so do not increment it again ; until the file is saved (at which point we ; clear bit 7 again) ; ; [Show more]
; ; This variable is used by the following: ; ; * CopyCommanderToBuf ; * UpdateSaveCount ; ; This list only includes code that refers to the ; variable 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 ; * 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 ; * HALL ; * 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
.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: ; ; * ChangeCmdrName ; * csh ; * DOENTRY ; * DrawCmdrImage ; * LCASH ; * MCASH ; * PlayDemo ; ; This list only includes code that refers to the ; variable 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 ; * EQSHP ; * ESCAPE ; * fwl ; * Main flight loop (Part 15 of 16) ; * PlayDemo ; * PrintEquipment ; * SetSelectionFlags ; * 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 ; A flag to record whether cheat mode has been applied ; (by renaming the commander file to CHEATER, BETRUG or ; TRICHER) ; ; * Bit 7 clear = cheat mode has not been applied ; ; * Bit 7 set = cheat mode has been applied ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeCmdrName ; * CheckSaveLoadBar ; * DOENTRY ; * SetupIconBarDocked ; ; This list only includes code that refers to the ; variable 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: ; ; * DrawEquipment ; * Main flight loop (Part 3 of 16) ; * PlayDemo ; * refund ; * ShowScrollText ; * 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
.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: ; ; * DrawEquipment ; * 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 ; * BuyAndSellCargo ; * ESCAPE ; * Main flight loop (Part 8 of 16) ; * OUCH ; * PrintNumberInHold ; * SOLAR ; * 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
.ECM SKIP 1 ; E.C.M. system ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawEquipment ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * PlayDemo ; * SetupIconBarCharts ; * SetupIconBarFlight ; * 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: ; ; * DrawEquipment ; * 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: ; ; * DrawEquipment ; * EQSHP ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 5 of 16) ; * Main flight loop (Part 13 of 16) ; * RES2 ; * SetupIconBarFlight ; * 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: ; ; * ChargeShields ; * DEBRIEF2 ; * DrawEquipment ; * EQSHP ; * PlayDemo ; ; This list only includes code that refers to the ; variable 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: ; ; * DrawEquipment ; * EQSHP ; * 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
.GHYP SKIP 1 ; Galactic hyperdrive ; ; * 0 = not fitted ; ; * $FF = fitted ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawEquipment ; * EQSHP ; * Ghy ; * SetupIconBarCharts ; ; This list only includes code that refers to the ; variable 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: ; ; * DrawEquipment ; * EQSHP ; * ESCAPE ; * Main flight loop (Part 3 of 16) ; * SetupIconBarFlight ; * 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
.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) ; * 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: ; ; * IncreaseTally ; ; This list only includes code that refers to the ; variable 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 ; * DIALS ; * DrawEquipment ; * EQSHP ; * FRMIS ; * Main flight loop (Part 3 of 16) ; * msblob ; * SetupIconBarFlight ; ; This list only includes code that refers to the ; variable 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: ; ; * DrawCmdrImage ; * ESCAPE ; * Ghy ; * Main flight loop (Part 12 of 16) ; * Main game loop (Part 3 of 6) ; * PrintLegalStatus ; * SOLAR ; * 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: ; ; * BuyAndSellCargo ; * GVL ; * TT151 ; * 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 ; ; There is also a fractional part of the kill count, ; which is stored in TALLYL ; ; The NES version calculates the combat rank differently ; to the other versions of Elite. The combat status is ; given by the number of kills in TALLY(1 0), as ; follows: ; ; * Harmless when TALLY(1 0) = 0 or 1 ; * Mostly Harmless when TALLY(1 0) = 2 to 7 ; * Poor when TALLY(1 0) = 8 to 23 ; * Average when TALLY(1 0) = 24 to 43 ; * Above Average when TALLY(1 0) = 44 to 129 ; * Competent when TALLY(1 0) = 130 to 511 ; * Dangerous when TALLY(1 0) = 512 to 2559 ; * Deadly when TALLY(1 0) = 2560 to 6399 ; * Elite when TALLY(1 0) = 6400 or more ; ; You can see the rating calculation in the ; PrintCombatRank subroutine ; ; [Show more]
; ; This variable is used by the following: ; ; * DEBRIEF2 ; * DOENTRY ; * EXNO2 ; * GetHeadshotType ; * HALL ; * IncreaseTally ; * KILLSHP ; * PrintCombatRank ; ; This list only includes code that refers to the ; variable 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 .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
.NOSTM SKIP 1 ; The number of stardust particles shown on screen, ; which is 20 (#NOST) for normal space, and 3 for ; witchspace ; ; [Show more]
; ; This variable is used by the following: ; ; * FLIP ; * HideStardust ; * MJP ; * nWq ; * RES2 ; * ShowScrollText ; * 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
.burstSpriteIndex SKIP 1 ; The index into the sprite buffer of the explosion ; burst sprite that is set up in DrawExplosionBurst ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.unusedVariable SKIP 1 ; This variable is zeroed in RES2 but is never read ; ; [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
.chargeDockingFee SKIP 1 ; Records whether we have been charged a docking fee, so ; we don't get charged twice: ; ; * 0 = we have not been charged a docking fee ; ; * Non-zero = we have been charged a docking fee ; ; The docking fee is 5.0 credits ; ; [Show more]
; ; This variable is used by the following: ; ; * RES2 ; * 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
.priceDebug SKIP 1 ; This is only referenced by some disabled test code in ; the prx routine, where it was presumably used for ; testing different equipment prices ; ; [Show more]
; ; This variable is used by the following: ; ; * prx ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DAMP SKIP 1 ; Controller damping configuration setting ; ; * 0 = damping is disabled ; ; * $FF = damping is enabled (default) ; ; [Show more]
; ; This variable is used by the following: ; ; * cntr ; * PauseGame ; * ResetOptions ; * SetupIconBarPause ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.JSTGY SKIP 1 ; Reverse controller y-axis configuration setting ; ; * 0 = standard Y-axis (default) ; ; * $FF = reversed Y-axis ; ; [Show more]
; ; This variable is used by the following: ; ; * PauseGame ; * ResetOptions ; * SetupIconBarPause ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DNOIZ SKIP 1 ; Sound on/off configuration setting ; ; * 0 = sound is off ; ; * $FF = sound is on (default) ; ; [Show more]
; ; This variable is used by the following: ; ; * NOISE ; * PauseGame ; * ResetOptions ; * SetupIconBarPause ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.disableMusic SKIP 1 ; Music on/off configuration setting ; ; * 0 = music is on (default) ; ; * Non-zero = sound is off ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic_b6 ; * PauseGame ; * ResetOptions ; * SetupIconBarPause ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.autoPlayDemo SKIP 1 ; Controls whether to play the demo automatically (which ; happens after it is left idle for a while) ; ; * Bit 7 clear = do not play the demo automatically ; ; * Bit 7 set = play the demo automatically using ; the controller key presses in the ; autoPlayKeys table ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * ChooseLanguage ; * DEATH ; * DEATH2 ; * NMI ; * SetDemoAutoPlay ; * 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
.bitplaneFlags SKIP 1 ; Flags for bitplane 0 that control the sending of data ; for this bitplane to the PPU during VBlank in the NMI ; handler: ; ; * Bit 0 is ignored and is always clear ; ; * Bit 1 is ignored and is always clear ; ; * Bit 2 controls whether to override the number of ; the last tile or pattern to send to the PPU: ; ; * 0 = set the last tile number to lastNameTile or ; the last pattern to lastPattern for this ; bitplane (when sending nametable and pattern ; entries respectively) ; ; * 1 = set the last tile number to 128 (which means ; tile 8 * 128 = 1024) ; ; * Bit 3 controls the clearing of this bitplane's ; buffer in the NMI handler, once it has been sent ; to the PPU: ; ; * 0 = do not clear this bitplane's buffer ; ; * 1 = clear this bitplane's buffer once it has ; been sent to the PPU ; ; * Bit 4 lets us query whether a tile data transfer ; is already in progress for this bitplane: ; ; * 0 = we are not currently in the process of ; sending tile data to the PPU for this ; bitplane ; ; * 1 = we are in the process of sending tile data ; to the PPU for the this bitplane, possibly ; spread across multiple VBlanks ; ; * Bit 5 lets us query whether we have already sent ; all the data to the PPU for this bitplane: ; ; * 0 = we have not already sent all the data to the ; PPU for this bitplane ; ; * 1 = we have already sent all the data to the PPU ; for this bitplane ; ; * Bit 6 determines whether to send nametable data as ; well as pattern data: ; ; * 0 = only send pattern data for this bitplane, ; and stop sending it if the other bitplane is ; ready to be sent ; ; * 1 = send both pattern and nametable data for ; this bitplane ; ; * Bit 7 determines whether we should send data to ; the PPU for this bitplane: ; ; * 0 = do not send data to the PPU ; ; * 1 = send data to the PPU ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 1 of 3) ; * ClearPlaneBuffers (Part 1 of 2) ; * ConsiderSendTiles ; * DrawMessageInNMI ; * DrawScreenInNMI ; * DrawScrollInNMI ; * DrawSpaceViewInNMI ; * ResetScreen ; * SendBuffersToPPU (Part 2 of 3) ; * SendBuffersToPPU (Part 3 of 3) ; * SendDataNowToPPU ; * SendNametableToPPU ; * SendOtherBitplane ; * SendTilesToPPU ; * SetDrawPlaneFlags ; * WaitForPPUToFinish ; ; This list only includes code that refers to the ; variable 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 ; Flags for bitplane 1 (see above) .nmiCounter SKIP 1 ; A counter that increments every VBlank at the start of ; the NMI handler ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDrawingPlane (Part 2 of 3) ; * ClearDrawingPlane (Part 3 of 3) ; * DrawSpaceViewInNMI ; * HALL ; * nWq ; * SendPaletteSprites ; * SetupDemoUniverse ; * ShowScrollText ; * SUN (Part 1 of 2) ; * WaitForNextNMI ; * WaitForNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.screenReset SKIP 1 ; Gets set to 245 when the screen is reset, but this ; value is only read once (in SetupViewInNMI) and the ; value is ignored, so this doesn't have any effect ; ; [Show more]
; ; This variable is used by the following: ; ; * ResetScreen ; * SetupViewInNMI ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DTW6 SKIP 1 ; A flag to denote whether printing in lower case is ; enabled for extended text tokens ; ; * %10000000 = lower case is enabled ; ; * %00000000 = lower case is not enabled ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK2 ; * MT13 ; * MT2 ; * ResetVariables ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DTW2 SKIP 1 ; A flag that indicates whether we are currently ; printing a word ; ; * 0 = we are currently printing a word ; ; * Non-zero = we are not currently printing a word ; ; [Show more]
; ; This variable is used by the following: ; ; * CLYNS ; * DETOK2 ; * MT8 ; * ResetVariables ; * TT26 ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DTW3 SKIP 1 ; A flag for switching between standard and extended ; text tokens ; ; * %00000000 = print extended tokens (i.e. those in ; TKN1 and RUTOK) ; ; * %11111111 = print standard tokens (i.e. those in ; QQ18) ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK2 ; * MT5 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DTW4 SKIP 1 ; Flags that govern how justified extended text tokens ; are printed ; ; * Bit 7: 1 = justify text ; 0 = do not justify text ; ; * Bit 6: 1 = buffer the entire token before ; printing, including carriage returns ; (used for in-flight messages only) ; 0 = print the contents of the buffer ; whenever a carriage return appears ; in the token ; ; [Show more]
; ; This variable is used by the following: ; ; * DisableJustifyText ; * HME2 ; * MESS ; * MT15 ; * PrintMessage ; * 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
.DTW5 SKIP 1 ; The size of the justified text buffer at BUF ; ; [Show more]
; ; This variable is used by the following: ; ; * DisableJustifyText ; * HME2 ; * MESS ; * MT15 ; * MT17 ; * PrintMessage ; * StoreMessage ; * 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
.DTW1 SKIP 1 ; A mask for applying the lower case part of Sentence ; Case to extended text tokens ; ; * %10000000 = apply lower case to the second letter ; of a word onwards ; ; * %00000000 = do not change case to lower case ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK2 ; * MT13 ; * MT2 ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.DTW8 SKIP 1 ; A mask for capitalising the next letter in an extended ; text token ; ; * %00000000 = capitalise the next letter ; ; * %11111111 = do not change case ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * DETOK2 ; * HME2 ; * MT19 ; * ResetVariables ; * 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
.XP SKIP 1 ; The x-coordinate of the current character as we ; construct the lines for the Star Wars scroll text ; ; [Show more]
; ; This variable is used by the following: ; ; * CalculateGridLines ; * GRIDSET ; * GRS1 ; * LAUN ; * LL164 ; * 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
.YP SKIP 1 ; The y-coordinate of the current character as we ; construct the lines for the Star Wars scroll text ; ; [Show more]
; ; This variable is used by the following: ; ; * CalculateGridLines ; * DrawScrollFrame ; * GRIDSET ; * GRS1 ; * LAUN ; * 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
.titleShip SKIP 0 ; Used to store the current ship number in the title ; screen ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawTitleScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.firstBox SKIP 0 ; Used to detect the first iteration of the box-drawing ; loop when drawing the launch tunnel ; ; [Show more]
; ; This variable is used by the following: ; ; * LAUN ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.scrollProgress SKIP 1 ; Keeps track of the progress of the demo scroll text, ; starting from zero and increasing as the text scrolls ; up the screen ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollFrame ; * DrawScrollFrames ; * DrawScrollText ; * GetScrollDivisions ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.decimalPoint SKIP 1 ; The decimal point character for the chosen language ; ; [Show more]
; ; This variable is used by the following: ; ; * BPRNT ; * SetLanguage ; ; This list only includes code that refers to the ; variable 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 .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) ; * 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
.MSTG SKIP 1 ; The current missile lock target ; ; * $FF = no target ; ; * 1-8 = the slot number of the ship that our ; missile is locked onto ; ; [Show more]
; ; This variable is used by the following: ; ; * ABORT2 ; * autoPlayKeys1_DE ; * autoPlayKeys1_EN ; * autoPlayKeys1_FR ; * autoPlayKeys2 ; * DIALS ; * FRMIS ; * FRS1 ; * KILLSHP ; * Main flight loop (Part 3 of 16) ; * Main flight loop (Part 11 of 16) ; * RES2 ; * SetupIconBarFlight ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.scrollTextSpeed SKIP 1 ; Controls the speed of the scroll text in the demo ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollFrames ; * DrawScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KL SKIP 0 ; The following bytes implement a key logger that gets ; updated according to the controller button presses ; ; This enables code from the BBC Micro version to be ; reused without rewriting the key press logic to work ; with the NES controllers, as it's easier just to ; populate the BBC's key logger table, so the code ; thinks that keys are being pressed when they are ; actually controller buttons ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * SetKeyLogger ; * 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
.KY1 SKIP 1 ; One pilot is configured and the down and B buttons are ; both being pressed on controller 1 ; ; Or two pilots are configured and the B button is being ; pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSpaceViewInNMI ; * Main flight loop (Part 3 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY2 SKIP 1 ; One pilot is configured and the up and B buttons are ; both being pressed on controller 1 ; ; Or two pilots are configured and the A button is being ; pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSpaceViewInNMI ; * Main flight loop (Part 3 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY3 SKIP 1 ; One pilot is configured and the left button is being ; pressed on controller 1 (and the B button is not being ; pressed) ; ; Or two pilots are configured and the left button is ; being pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY4 SKIP 1 ; One pilot is configured and the right button is being ; pressed on controller 1 (and the B button is not being ; pressed) ; ; Or two pilots are configured and the right button is ; being pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY5 SKIP 1 ; One pilot is configured and the down button is being ; pressed on controller 1 (and the B button is not being ; pressed) ; ; Or two pilots are configured and the down button is ; being pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY6 SKIP 1 ; One pilot is configured and the up button is being ; pressed on controller 1 (and the B button is not being ; pressed) ; ; Or two pilots are configured and the up button is ; being pressed on controller 2 ; ; * 0 = no ; ; * $FF = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * Main flight loop (Part 2 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.KY7 SKIP 1 ; The A button is being pressed on controller 1 ; ; * 0 = no ; ; * Bit 7 set = yes ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 3 of 16) ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.cloudSize SKIP 1 ; Used to store the explosion cloud size in PTCLS ; ; [Show more]
; ; This variable is used by the following: ; ; * DOEXP ; * DrawExplosionBurst ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundByteSQ1 SKIP 14 ; The 14 sound bytes for the sound effect being made ; on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundLoSQ1 SKIP 1 ; The value that we are going to send to the APU via ; SQ1_LO for the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundHiSQ1 SKIP 1 ; The value that we are going to send to the APU via ; SQ1_HI for the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundPitCountSQ1 SKIP 1 ; Controls how often we send pitch data to the APU for ; the sound effect on channel SQ1 ; ; Specifically, pitch data is sent every ; soundPitCountSQ1 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundPitchEnvSQ1 SKIP 1 ; Controls how often we apply the pitch envelope to the ; sound effect on channel SQ1 ; ; Specifically, we apply the changes in the pitch ; envelope every soundPitchEnvSQ1 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolIndexSQ1 SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to the sound effect on channel ; SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolCountSQ1 SKIP 1 ; Controls how often we apply the volume envelope to the ; sound effect on channel SQ1 ; ; Specifically, one entry from the volume envelope is ; applied every soundVolCountSQ1 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundByteSQ2 SKIP 14 ; The 14 sound bytes for the sound effect being made ; on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundLoSQ2 SKIP 1 ; The value that we are going to send to the APU via ; SQ2_LO for the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundHiSQ2 SKIP 1 ; The value that we are going to send to the APU via ; SQ2_HI for the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundPitCountSQ2 SKIP 1 ; Controls how often we send pitch data to the APU for ; the sound effect on channel SQ2 ; ; Specifically, pitch data is sent every ; soundPitCountSQ2 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundPitchEnvSQ2 SKIP 1 ; Controls how often we apply the pitch envelope to the ; sound effect on channel SQ2 ; ; Specifically, we apply the changes in the pitch ; envelope every soundPitchEnvSQ2 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolIndexSQ2 SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to the sound effect on channel ; SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolCountSQ2 SKIP 1 ; Controls how often we apply the volume envelope to the ; sound effect on channel SQ2 ; ; Specifically, one entry from the volume envelope is ; applied every soundVolCountSQ2 iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundByteNOISE SKIP 14 ; The 14 sound bytes for the sound effect being made ; on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundLoNOISE SKIP 1 ; The value that we are going to send to the APU via ; NOISE_LO for the current sound effect ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundHiNOISE SKIP 1 ; The value that we are going to send to the APU via ; NOISE_HI for the current sound effect .soundPitCountNOISE SKIP 1 ; Controls how often we send pitch data to the APU for ; the sound effect on channel NOISE ; ; Specifically, pitch data is sent every ; soundPitCountNOISE iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundPitchEnvNOISE SKIP 1 ; Controls how often we apply the pitch envelope to the ; sound effect on channel NOISE ; ; Specifically, we apply the changes in the pitch ; envelope every soundPitchEnvNOISE iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolIndexNOISE SKIP 1 ; The index into the volume envelope data of the next ; volume byte to apply to the sound effect on channel ; NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolCountNOISE SKIP 1 ; Controls how often we apply the volume envelope to the ; sound effect on channel NOISE ; ; Specifically, one entry from the volume envelope is ; applied every soundVolCountNOISE iterations ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolumeSQ1 SKIP 2 ; The address of the volume envelope data for the sound ; effect currently being made on channel SQ1 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ1 ; * StartEffectOnSQ1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolumeSQ2 SKIP 2 ; The address of the volume envelope data for the sound ; effect currently being made on channel SQ2 ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnSQ2 ; * StartEffectOnSQ2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.soundVolumeNOISE SKIP 2 ; The address of the volume envelope data for the sound ; effect currently being made on channel NOISE ; ; [Show more]
; ; This variable is used by the following: ; ; * MakeSoundOnNOISE ; * StartEffectOnNOISE ; ; This list only includes code that refers to the ; variable 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 ; * DrawCrosshairs ; * 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
.selectedSystem SKIP 6 ; The three 16-bit seeds for the selected system, i.e. ; the one we most recently snapped the crosshairs to ; in a chart view ; ; [Show more]
; ; This variable is used by the following: ; ; * SetCurrentSystem ; * 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
.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) ; * PLFL ; * PLS22 ; * PLS5 ; * SUN (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
.demoInProgress SKIP 1 ; A flag to determine whether we are playing the demo: ; ; * 0 = we are not playing the demo ; ; * Non-zero = we are initialising or playing the demo ; ; * Bit 7 set = we are initialising the demo ; ; [Show more]
; ; This variable is used by the following: ; ; * FRMIS ; * Main flight loop (Part 12 of 16) ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 2 of 6) ; * Main game loop (Part 5 of 6) ; * NWSTARS ; * PlayDemo ; * RES2 ; * TT66 ; * 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
.newTune SKIP 1 ; The number of the new tune when choosing the ; background music ; ; * Bits 0-6 = the tune number (1-4) ; 0 indicates no tune is selected ; ; * Bit 7 set = we are still in the process of ; changing to this tune ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseMusic_b6 ; * PauseGame ; * ResetMusic ; ; This list only includes code that refers to the ; variable 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 _PAL .pointerTimerB SKIP 1 ; A timer used in the PAL version to detect the B button ; being pressed twice in quick succession (a double-tap) ; ; The MoveIconBarPointer routine sets pointerTimerB to 1 ; and pointerTimer to 40 when it detects a tap on the B ; button ; ; In successive calls to MoveIconBarPointer, while ; pointerTimerB is non-zero, the MoveIconBarPointer ; routine keeps a look-out for a second tap of the B ; button, and if it detects one, it's a double-tap ; ; When the timer in pointerTimer runs down to zero, ; pointerTimerB is also zeroed, so if a second tap is ; detected within 40 VBlanks, it is deemed to be a ; double-tap ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable 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 .showIconBarPointer SKIP 1 ; Controls whether to show the icon bar pointer ; ; * 0 = do not show the icon bar pointer ; ; * $FF = show the icon bar pointer ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeToView ; * DEATH ; * MoveIconBarPointer ; * PauseGame ; * SetupSpaceView ; * ShowScrollText ; * UpdateView ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xIconBarPointer SKIP 1 ; The x-coordinate of the icon bar pointer ; ; Each of the 12 buttons on the bar is positioned at an ; interval of 4, so the buttons have x-coordinates of ; of 0, 4, 8 and so on, up to 44 for the rightmost ; button ; ; This value is multiplied by 5 to get the button's ; pixel coordinate ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.yIconBarPointer SKIP 1 ; The y-coordinate of the icon bar pointer ; ; This is either 148 (when the dashboard is visible) or ; 204 (when there is no dashboard and the icon bar is ; along the bottom of the screen) ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetupSprite0 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.xPointerDelta SKIP 1 ; The direction in which the icon bar pointer is moving, ; expressed as a delta to add to the x-coordinate of the ; pointer sprites ; ; * 0 = pointer is not moving ; ; * 1 = pointer is moving to the right ; ; * -1 = pointer is moving to the left ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pointerMoveCounter SKIP 1 ; The position of the icon bar pointer as it moves ; between icons, counting down from 12 (at the start of ; the move) to 0 (at the end of the move) ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.iconBarType SKIP 1 ; The type of the current icon bar: ; ; * 0 = Docked ; ; * 1 = Flight ; ; * 2 = Charts ; ; * 3 = Pause ; ; * 4 = Title screen copyright message ; ; * $FF = Hide the icon bar on row 27 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawIconBar ; * PauseGame ; * RESET ; * SetIconBarButtons ; * SetIconBarRow ; * SetupIconBar ; * SetupSprite0 ; * ShowIconBar ; * UpdateIconBar ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.iconBarChoice SKIP 1 ; The number of the icon bar button that's just been ; selected ; ; * 0 means no button has been selected ; ; * A button number from the iconBarButtons table ; means that button has been selected by pressing ; Select on that button (or the B button has been ; tapped twice) ; ; * 80 means the Start has been pressed to pause the ; game ; ; This variable is set in the NMI handler, so the ; selection is recorded in the background ; ; [Show more]
; ; This variable is used by the following: ; ; * BuyAndSellCargo ; * ChangeLetter ; * CheckForPause ; * CheckPauseButton ; * CheckSaveLoadBar ; * DrawScrollFrames ; * EQSHP ; * HideIconBarPointer ; * MoveIconBarPointer ; * qv ; * RunDemoFlightLoop ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable 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 .pointerTimer SKIP 1 ; A timer that counts down by 1 on each call to the ; MoveIconBarPointer routine, so that a double-tap ; on the B button can be interpreted as such ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pointerPressedB SKIP 1 ; Controls whether the MoveIconBarPointer routine looks ; for a second tap of the B button when trying to detect ; a double-tap on the B button ; ; * 0 = do not look for a second tap ; ; * Non-zero = do look for a second tap ; ; [Show more]
; ; This variable is used by the following: ; ; * MoveIconBarPointer ; * SetIconBarPointer ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiStoreA SKIP 1 ; Temporary storage for the A register during NMI ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * SendPaletteSprites ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiStoreX SKIP 1 ; Temporary storage for the X register during NMI ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * SendPaletteSprites ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nmiStoreY SKIP 1 ; Temporary storage for the Y register during NMI ; ; [Show more]
; ; This variable is used by the following: ; ; * NMI ; * SendPaletteSprites ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.picturePattern SKIP 1 ; The number of the first free pattern where commander ; and system images can be stored in the buffers ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawCmdrImage ; * DrawSystemImage ; * GetHeadshot ; * GetSystemBack ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sendDashboardToPPU SKIP 1 ; A flag that controls whether we send the dashboard to ; the PPU during the main loop ; ; * 0 = do not send the dashboard ; ; * $FF = do send the dashboard ; ; Flips between 0 or $FF after the screen has been drawn ; in the main loop, but only if drawingBitplane = 0 ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSpaceViewInNMI ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.boxEdge1 SKIP 1 ; The tile number for drawing the left edge of a box ; ; * 0 = no box, for use in the Game Over screen ; ; * 1 = standard box, for use in all other screens ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * DrawBoxEdges ; * 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
.boxEdge2 SKIP 1 ; The tile number for drawing the right edge of a box ; ; * 0 = no box, for use in the Game Over screen ; ; * 2 = standard box, for use in all other screens ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH ; * DrawBoxEdges ; * 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
.chartToShow SKIP 1 ; Controls which chart is shown when choosing the chart ; button on the icon bar (as the Long-range and ; Short-range Charts share the same button) ; ; * Bit 7 clear = show Short-range Chart ; ; * Bit 7 clear = show Long-range Chart ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH2 ; * 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
.previousCondition SKIP 1 ; Used to store the ship's previous status condition ; (i.e. docked, green, yellow or red), so we can tell ; how the situation is changing ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawSpaceViewInNMI ; * GetHeadshotType ; * 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
.statusCondition SKIP 1 ; Used to store the ship's current status condition ; (i.e. docked, green, yellow or red) ; ; [Show more]
; ; This variable is used by the following: ; ; * GetStatusCondition ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.screenFadedToBlack SKIP 1 ; Records whether the screen has been faded to black ; ; * Bit 7 clear = screen is full colour ; ; * Bit 7 set = screen has been faded to black ; ; [Show more]
; ; This variable is used by the following: ; ; * FadeToBlack ; * FadeToColour ; * MoveIconBarPointer ; * ResetScreen ; * SetupViewInNMI ; * UpdateScreen ; ; This list only includes code that refers to the ; variable 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 .numberOfPilots SKIP 1 ; A flag to determine whether the game is configured for ; one or two pilots ; ; * 0 = one pilot (using controller 1) ; ; * 1 = two pilots (where controller 1 controls the ; weaponry and controller 2 steers the ship) ; ; This value is toggled between 0 and 1 by the "one or ; two pilots" configuration icon in the pause menu ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawTitleScreen ; * Main flight loop (Part 2 of 16) ; * MoveIconBarPointer ; * PauseGame ; * ReadControllers ; * SetKeyLogger ; * SetupIconBarPause ; * TITLE ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * DrawPitchRollBars ; * Main flight loop (Part 2 of 16) ; * RES2 ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable 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 ; ; [Show more]
; ; This variable is used by the following: ; ; * DOKEY ; * DrawPitchRollBars ; * Main flight loop (Part 2 of 16) ; * RES2 ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.channelPriority SKIP 3 ; The priority of the sound on the current channel ; (0 to 2) ; ; [Show more]
; ; This variable is used by the following: ; ; * FlushSoundChannel ; * NOISE ; ; This list only includes code that refers to the ; variable 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
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: ; ; * CheckAltitude ; * DIALS ; ; This list only includes code that refers to the ; variable 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 ; * DrawLightning ; * LL145 (Part 1 of 4) ; * LL145 (Part 4 of 4) ; * LOIN (Part 1 of 7) ; * LOIN (Part 2 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
.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
.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 (Part 1 of 6) ; * CHPR (Part 3 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
.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 (Part 1 of 6) ; * CHPR (Part 3 of 6) ; * DrawSaveSlotMark ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.inputNameSize SKIP 1 ; The maximum size of the name to be fetched by the ; InputName routine ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeCmdrName ; * HME2 ; * InputName ; ; This list only includes code that refers to the ; variable 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: ; ; * ChargeShields ; * DIALS ; * OOPS ; * RESET ; * ResetShipStatus ; ; This list only includes code that refers to the ; variable 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: ; ; * ChargeShields ; * DIALS ; * OOPS ; * ResetShipStatus ; ; This list only includes code that refers to the ; variable 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: ; ; * autoPlayKeys2 ; * ChargeShields ; * DENGY ; * DIALS ; * GetStatusCondition ; * Main flight loop (Part 15 of 16) ; * OOPS ; * ResetShipStatus ; * 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
.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: ; ; * BuyAndSellCargo ; * 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
.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 ; * TT151 ; * 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
.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 ; * hyp1 ; * SetupAfterLoad ; * 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: ; ; * BuyAndSellCargo ; * Main flight loop (Part 8 of 16) ; * PrintNumberInHold ; * tnpr ; * tnpr1 ; * TT167 ; * 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
.imageSentToPPU SKIP 1 ; Records when images have been sent to the PPU or ; unpacked into the buffers, so we don't repeat the ; process unnecessarily ; ; * 0 = dashboard image has been sent to the PPU ; ; * 1 = font image has been sent to the PPU ; ; * 2 = Cobra Mk III image has been sent to the PPU ; for the Equip Ship screen ; ; * 3 = the small Elite logo has been sent to the PPU ; for the Save and Load screen ; ; * 245 = the inventory icon image has been sent to ; the PPU for the Market Price screen ; ; * %1000xxxx = the headshot image has been sent to ; the PPU for the Status Mode screen, ; where %xxxx is the headshot number ; (0-13) ; ; * %1100xxxx = the system background image has been ; unpacked into the buffers for the Data ; on System screen, where %xxxx is the ; system image number (0-14) ; ; [Show more]
; ; This variable is used by the following: ; ; * GetCmdrImage ; * GetHeadshot ; * GetSystemBack ; * ResetScreen ; * SendViewToPPU ; * 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
.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 ; * hyp1 ; * Main game loop (Part 4 of 6) ; * SetupAfterLoad ; ; This list only includes code that refers to the ; variable 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 ; * EQSHP ; * hyp1 ; * NWSPS ; * SetupAfterLoad ; * 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
.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 ; * hyp1 ; * SetupAfterLoad ; * 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
.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 ; * hyp1 ; * SetupAfterLoad ; * 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 ; * hyp1 ; * SetupAfterLoad ; * 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 ; * hyp1 ; * SetupAfterLoad ; * 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 ; * PDESC ; * SetSelectionFlags ; * 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
.systemNumber SKIP 1 ; The current system number, as calculated in TT111 when ; finding the nearest system in the galaxy ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * PDESC ; * 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
SKIP 1 ; This byte appears to be unused .systemsOnChart SKIP 1 ; A counter for the number of systems drawn on the ; Short-range Chart, so it gets limited to 24 systems ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawChartSystem ; * 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
.spasto SKIP 2 ; Contains the address of the ship blueprint of the ; space station (which can be a Coriolis or Dodo) ; ; [Show more]
; ; This variable is used by the following: ; ; * Main flight loop (Part 4 of 16) ; * 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
.QQ18Lo SKIP 1 ; Gets set to the low byte of the address of the text ; token table used by the ex routine (QQ18) ; ; [Show more]
; ; This variable is used by the following: ; ; * ex ; * SetLanguage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.QQ18Hi SKIP 1 ; Gets set to the high byte of the address of the text ; token table used by the ex routine (QQ18) ; ; [Show more]
; ; This variable is used by the following: ; ; * ex ; * SetLanguage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TKN1Lo SKIP 1 ; Gets set to the low byte of the address of the text ; token table used by the DETOK routine (TKN1) ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK ; * SetLanguage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.TKN1Hi SKIP 1 ; Gets set to the high byte of the address of the text ; token table used by the DETOK routine (TKN1) ; ; [Show more]
; ; This variable is used by the following: ; ; * DETOK ; * SetLanguage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.languageIndex SKIP 1 ; The language that was chosen on the Start screen as an ; index into the various lookup tables: ; ; * 0 = English ; ; * 1 = German ; ; * 2 = French ; ; [Show more]
; ; This variable is used by the following: ; ; * ChangeCmdrName ; * DETOK3 ; * DrawTitleScreen ; * EQSHP ; * HighlightSaleItem ; * PDESC ; * PrintCash ; * PrintCrTab ; * PrintLaserView ; * PrintMarketItem ; * qv ; * SetDemoAutoPlay ; * SetLanguage ; * SetViewAttrs ; * ShowScrollText ; * STATUS ; * SVE ; * TT167 ; * TT23 ; * TT25 ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.languageNumber SKIP 1 ; The language that was chosen on the Start screen as a ; number: ; ; * 1 = Bit 0 set = English ; ; * 2 = Bit 1 set = German ; ; * 4 = Bit 2 set = French ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawGlasses ; * DrawLeftEarring ; * DrawRightEarring ; * fwl ; * PrintCombatRank ; * PrintCtrlCode ; * PrintEquipment ; * PrintLaserView ; * SetLanguage ; * STATUS ; * TT210 ; * TT25 ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Down SKIP 1 ; A shift register for recording presses of the down ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * BuyAndSellCargo ; * ChangeLetter ; * ChooseLanguage ; * EQSHP ; * Main flight loop (Part 2 of 16) ; * MoveIconBarPointer ; * MoveInMiddleColumn ; * MoveInRightColumn ; * qv ; * ScanButtons ; * SetKeyLogger ; * TT16 ; * TT17 ; * TT18 ; * UpdateJoystick ; * YESNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2Down SKIP 1 ; A shift register for recording presses of the down ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Up SKIP 1 ; A shift register for recording presses of the up ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * BuyAndSellCargo ; * ChangeLetter ; * ChooseLanguage ; * EQSHP ; * Main flight loop (Part 2 of 16) ; * MoveIconBarPointer ; * MoveInMiddleColumn ; * MoveInRightColumn ; * qv ; * ScanButtons ; * SetKeyLogger ; * TT16 ; * TT17 ; * TT18 ; * UpdateJoystick ; * YESNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2Up SKIP 1 ; A shift register for recording presses of the up ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Left SKIP 1 ; A shift register for recording presses of the left ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * BuyAndSellCargo ; * ChooseLanguage ; * Main flight loop (Part 2 of 16) ; * MoveIconBarPointer ; * ScanButtons ; * SetControllerPast ; * SetKeyLogger ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2Left SKIP 1 ; A shift register for recording presses of the left ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Right SKIP 1 ; A shift register for recording presses of the right ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * BuyAndSellCargo ; * ChooseLanguage ; * Main flight loop (Part 2 of 16) ; * MoveIconBarPointer ; * ScanButtons ; * SetControllerPast ; * SetKeyLogger ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2Right SKIP 1 ; A shift register for recording presses of the right ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1A SKIP 1 ; A shift register for recording presses of the A button ; on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * ChangeLetter ; * ChooseLanguage ; * DEATH2 ; * DrawScrollFrames ; * EQSHP ; * PAUSE ; * PAUSE2 ; * qv ; * ScanButtons ; * SetKeyLogger ; * TITLE ; * YESNO ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2A SKIP 1 ; A shift register for recording presses of the A button ; on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; * 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
.controller1B SKIP 1 ; A shift register for recording presses of the B button ; on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * BuyAndSellCargo ; * ChangeLetter ; * ChooseLanguage ; * DEATH2 ; * MoveIconBarPointer ; * PAUSE ; * PAUSE2 ; * ScanButtons ; * SetControllerPast ; * SetKeyLogger ; * TT16 ; * TT17 ; * UpdateJoystick ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller2B SKIP 1 ; A shift register for recording presses of the B button ; on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * SetKeyLogger ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Start SKIP 1 ; A shift register for recording presses of the Start ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * ChooseLanguage ; * DEATH2 ; * HideIconBarPointer ; * MoveIconBarPointer ; * ScanButtons ; * 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
.controller2Start SKIP 1 ; A shift register for recording presses of the Start ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [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
.controller1Select SKIP 1 ; A shift register for recording presses of the Select ; button on controller 1 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * ChooseLanguage ; * DEATH2 ; * MoveIconBarPointer ; * ScanButtons ; * 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
.controller2Select SKIP 1 ; A shift register for recording presses of the Select ; button on controller 2 ; ; The controller is scanned every NMI and the result is ; right-shifted into bit 7, with a 1 indicating a button ; press and a 0 indicating no button press ; ; [Show more]
; ; This variable is used by the following: ; ; * DEATH2 ; * 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
.controller1Left03 SKIP 1 ; Bits 0 to 3 of the left button controller variable ; ; In non-space views, this contains controller1Left but ; shifted left by four places, so the high nibble ; contains bits 0 to 3 of controller1Left, with zeroes ; in the low nibble ; ; So bit 7 is the left button state from four VBlanks ; ago, bit 6 is from five VBlanks ago, and so on ; ; [Show more]
; ; This variable is used by the following: ; ; * BuyAndSellCargo ; * ChangeLetter ; * MoveInLeftColumn ; * MoveInMiddleColumn ; * MoveInRightColumn ; * qv ; * SetControllerPast ; * TT16 ; * TT17 ; * WaitForNoDirection ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.controller1Right03 SKIP 1 ; Bits 0 to 3 of the right button controller variable ; ; In non-space views, this contains controller1Right but ; shifted left by four places, so the high nibble ; contains bits 0 to 3 of controller1Right, with zeroes ; in the low nibble ; ; So bit 7 is the right button state from four VBlanks ; ago, bit 6 is from five VBlanks ago, and so on ; ; [Show more]
; ; This variable is used by the following: ; ; * BuyAndSellCargo ; * ChangeLetter ; * MoveInLeftColumn ; * MoveInMiddleColumn ; * MoveInRightColumn ; * qv ; * SetControllerPast ; * TT16 ; * TT17 ; * WaitForNoDirection ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.autoPlayKey SKIP 1 ; Stores the buttons to be automatically pressed during ; auto-play ; ; The bits are as follows: ; ; * Bit 0 = right button ; * Bit 1 = left button ; * Bit 2 = down button ; * Bit 3 = up button ; * Bit 4 = Select button ; * Bit 5 = B button ; * Bit 6 = A button ; ; Bit 7 is always clear ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * SetDemoAutoPlay ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.autoPlayRepeat SKIP 1 ; Stores the number of times a step should be repeated ; during auto-play ; ; [Show more]
; ; This variable is used by the following: ; ; * AutoPlayDemo ; * SetDemoAutoPlay ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.patternBufferHi SKIP 1 ; (patternBufferHi patternBufferLo) contains the address ; of the pattern buffer for the pattern we are sending ; to the PPU from bitplane 0 (i.e. for pattern number ; sendingPattern in bitplane 0) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * SendPatternsToPPU (Part 1 of 6) ; * SendPatternsToPPU (Part 3 of 6) ; * SendPatternsToPPU (Part 6 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; (patternBufferHi patternBufferLo) contains the address ; of the pattern buffer for the pattern we are sending ; to the PPU from bitplane 1 (i.e. for pattern number ; sendingPattern in bitplane 1) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks .nameTileBuffHi SKIP 1 ; (nameTileBuffHi nameTileBuffLo) contains the address ; of the nametable buffer for the tile we are sending to ; the PPU from bitplane 0 (i.e. for tile number ; sendingNameTile in bitplane 0) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks ; ; [Show more]
; ; This variable is used by the following: ; ; * SendNametableToPPU ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; (nameTileBuffHi nameTileBuffLo) contains the address ; of the nametable buffer for the tile we are sending to ; the PPU from bitplane 1 (i.e. for tile number ; sendingNameTile in bitplane 1) ; ; This variable is saved by the NMI handler so the ; buffers can be cleared across multiple VBlanks SKIP 4 ; These bytes appear to be unused .ppuToBuffNameHi SKIP 1 ; A high byte that we can add to an address in nametable ; buffer 0 to get the corresponding address in the PPU ; nametable ; ; [Show more]
; ; This variable is used by the following: ; ; * SendNametableToPPU ; * SendPatternsToPPU (Part 1 of 6) ; * SendTilesToPPU ; ; This list only includes code that refers to the ; variable 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 ; A high byte that we can add to an address in nametable ; buffer 1 to get the corresponding address in the PPU ; nametable .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 ; * ShowScrollText ; * 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 ; * ShowScrollText ; * 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 ; * ShowScrollText ; * 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
.BUF SKIP 90 ; The line buffer used by DASC to print justified text ; ; [Show more]
; ; This variable is used by the following: ; ; * CopyCommanderToBuf ; * DrawScrollFrame ; * GetScrollDivisions ; * HME2 ; * MT17 ; * PrintCommanderName ; * ResetSaveBuffer ; * SaveLoadCommander ; * StoreMessage ; * 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
.HANGFLAG SKIP 1 ; The number of ships being displayed in the ship hangar ; ; [Show more]
; ; This variable is used by the following: ; ; * HALL ; * HANGER ; ; This list only includes code that refers to the ; variable 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: ; ; * autoPlayKeys1_DE ; * autoPlayKeys1_EN ; * autoPlayKeys1_FR ; * autoPlayKeys2 ; * KILLSHP ; * Main flight loop (Part 15 of 16) ; * Main game loop (Part 3 of 6) ; * Main game loop (Part 4 of 6) ; * NWSHP ; * TACTICS (Part 2 of 7) ; * TACTICS (Part 3 of 7) ; * 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
.SSPR SKIP NTY + 1 - SST ; "Space station present" flag ; ; * Non-zero if we are inside the space station's safe ; zone ; ; * 0 if we aren't (in which case we can show the sun) ; ; 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: ; ; * CheckJumpSafety ; * COMPAS ; * DOCKIT ; * DOKEY ; * FlightLoop4To16 ; * 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) ; * SetupIconBarFlight ; * SOLAR ; * TACTICS (Part 3 of 7) ; * TT102 ; * 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
.messageLength SKIP 1 ; The length of the message stored in the message buffer ; ; [Show more]
; ; This variable is used by the following: ; ; * PrintFlightMessage ; * StoreMessage ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.messageBuffer SKIP 32 ; A buffer for the in-flight message text ; ; [Show more]
; ; This variable is used by the following: ; ; * PrintFlightMessage ; * StoreMessage ; ; This list only includes code that refers to the ; variable 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: ; ; * 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: ; ; * 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: ; ; * nWq ; * 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
.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 ; * SetSelectedSeeds ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.sunWidth0 SKIP 1 ; The half-width of the sun on pixel row 0 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth1 SKIP 1 ; The half-width of the sun on pixel row 1 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth2 SKIP 1 ; The half-width of the sun on pixel row 2 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth3 SKIP 1 ; The half-width of the sun on pixel row 3 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth4 SKIP 1 ; The half-width of the sun on pixel row 4 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth5 SKIP 1 ; The half-width of the sun on pixel row 5 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth6 SKIP 1 ; The half-width of the sun on pixel row 6 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.sunWidth7 SKIP 1 ; The half-width of the sun on pixel row 7 in the tile ; row that is currently being drawn ; ; [Show more]
; ; This variable is used by the following: ; ; * SUN (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
.shipIsAggressive SKIP 1 ; A flag to record just how aggressive the current ship ; is in the TACTICS routine ; ; Bit 7 set indicates the ship in tactics is looking ; for a fight ; ; [Show more]
; ; This variable is used by the following: ; ; * 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
CLEAR BUF+32, P% ; The following tables share space with BUF through to ORG BUF+32 ; K%, which we can do as the scroll text is not shown ; at the same time as ships, stardust and so on .X1TB SKIP 240 ; The x-coordinates of the start points for character ; lines in the scroll text ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollFrame ; * GRS1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.Y1TB SKIP 240 ; The y-coordinates of the start and end points for ; character lines in the scroll text, with the start ; point (Y1) in the low nibble and the end point (Y2) ; in the high nibble ; ; [Show more]
; ; This variable is used by the following: ; ; * CalculateGridLines ; * DrawScrollFrame ; * GRS1 ; * ScrollTextUpScreen ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.X2TB SKIP 240 ; The x-coordinates of the end points for character ; lines in the scroll text ; ; [Show more]
; ; This variable is used by the following: ; ; * DrawScrollFrame ; * GRS1 ; ; This list only includes code that refers to the ; variable 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%
Name: K% [Show more] Type: Workspace Address: $0600 to $07FF Category: Workspaces Summary: Ship data blocks 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% * BEGIN uses K% * CheckJumpSafety uses K% * ChooseLanguage uses K% * DCS1 uses K% * DOEXP uses K% * DrawExplosionBurst uses K% * DrawTitleScreen 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 2 of 6) uses K% * Main game loop (Part 4 of 6) uses K% * MAS2 uses K% * MAS3 uses K% * PlayDemo uses K% * SetupDemoUniverse uses K% * SPS3 uses K% * SPS4 uses K% * TAS4 uses K% * UNIV uses K% * VCSU1 uses K%

Contains ship data for all the ships, planets, suns and space stations in our local bubble of universe. 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.
ORG $0600 .K% CLEAR K%, $0800 ; The ship data blocks share memory with the X1TB, Y1TB ; and X2TB variables (for use in the scroll text), so we ; need to clear this block of memory to prevent BeebAsm ; from complaining ; ; [Show more]
; ; This variable is used by the following: ; ; * ANGRY ; * BEGIN ; * CheckJumpSafety ; * ChooseLanguage ; * DCS1 ; * DOEXP ; * DrawExplosionBurst ; * DrawTitleScreen ; * 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 2 of 6) ; * Main game loop (Part 4 of 6) ; * MAS2 ; * MAS3 ; * PlayDemo ; * SetupDemoUniverse ; * SPS3 ; * SPS4 ; * TAS4 ; * UNIV ; * VCSU1 ; ; This list only includes code that refers to the ; variable 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 NOSH * NIK% ; Ship data blocks
Name: Cartridge WRAM [Show more] Type: Workspace Address: $6000 to $7FFF Category: Workspaces Summary: The 8K of battery-backed RAM in the Elite cartridge, which is used for the graphics buffers and storing saved commanders Deep dive: The pattern and nametable buffers
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG $6000 .pattBuffer0 SKIP 8 * 256 ; The pattern buffer for bitplane 0 (1 bit per pixel) ; that gets sent to the PPU during VBlank ; ; 256 patterns, 8 bytes per pattern (8x8 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 3 of 6) ; * ClearScreen ; * DrawBigLogo ; * DrawDash ; * GetHeadshot ; * GetSystemBack ; * LoadHighFont ; * LoadNormalFont ; * pattBufferHiAddr ; * ResetBuffers ; * SetLinePatterns ; * ShowScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.pattBuffer1 SKIP 8 * 256 ; The pattern buffer for bitplane 1 (1 bit per pixel) ; that gets sent to the PPU during VBlank ; ; 256 patterns, 8 bytes per pattern (8x8 pixels) ; ; [Show more]
; ; This variable is used by the following: ; ; * CHPR (Part 3 of 6) ; * ClearScreen ; * GetHeadshot ; * GetSystemBack ; * LoadHighFont ; * pattBufferHiAddr ; * SetLinePatterns ; * ShowScrollText ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nameBuffer0 SKIP 30 * 32 ; The buffer for nametable 0 that gets sent to the PPU ; during VBlank ; ; 30 rows of 32 tile numbers ; ; [Show more]
; ; This variable is used by the following: ; ; * ChooseLanguage ; * ClearDashEdge ; * ClearScreen ; * CLYNS ; * CopyNameBuffer0To1 ; * DIALS ; * DrawBoxEdges ; * DrawBoxTop ; * DrawDashNames ; * DrawIconBar ; * GetRowNameAddress ; * HideIconBar ; * MSBAR ; * MSBAR_b6 ; * nameBufferHiAddr ; * NLIN2 ; * ResetScanner ; * SendBarNamesToPPU ; * TT66 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrBuffer0 SKIP 8 * 8 ; The buffer for attribute table 0 that gets sent to the ; PPU during VBlank ; ; 8 rows of 8 attribute bytes (each is a 4x4 tile block) ; ; [Show more]
; ; This variable is used by the following: ; ; * SetViewAttrs ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.nameBuffer1 SKIP 30 * 32 ; The buffer for nametable 1 that gets sent to the PPU ; during VBlank ; ; 30 rows of 32 tile numbers ; ; [Show more]
; ; This variable is used by the following: ; ; * ClearDashEdge ; * ClearScreen ; * CLYNS ; * CopyNameBuffer0To1 ; * DrawBoxEdges ; * DrawDashNames ; * DrawIconBar ; * GetRowNameAddress ; * HideIconBar ; * nameBufferHiAddr ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.attrBuffer1 SKIP 8 * 8 ; The buffer for attribute table 0 that gets sent to the ; PPU during VBlank ; ; 8 rows of 8 attribute bytes (each is a 4x4 tile block) .currentSlot SKIP 256 ; The save slot for the currently selected commander ; file ; ; [Show more]
; ; This variable is used by the following: ; ; * CopyCommanderToBuf ; * JAMESON ; * ResetCommander ; * SaveLoadCommander ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart1 SKIP 8 * 73 ; The first part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr1 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart2 SKIP 8 * 73 ; The second part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr2 ; ; This list only includes code that refers to the ; variable by name; there may be other references to ; this memory location that don't use this label, and ; these will not be mentioned above
.saveSlotPart3 SKIP 8 * 73 ; The third part of each of the eight save slots, which ; are split into three for checksum purposes ; ; [Show more]
; ; This variable is used by the following: ; ; * saveSlotAddr3 ; ; This list only includes code that refers to the ; variable 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 40 ; These bytes appear to be unused
Name: SETUP_PPU_FOR_ICON_BAR [Show more] Type: Macro Category: PPU Summary: If the PPU has started drawing the icon bar, configure the PPU to use nametable 0 and pattern table 0 Deep dive: The split-screen mode in NES Elite
Context: See this macro on its own page References: This macro is used as follows: * ABORT2 uses SETUP_PPU_FOR_ICON_BAR * BLINE uses SETUP_PPU_FOR_ICON_BAR * BPRNT uses SETUP_PPU_FOR_ICON_BAR * CalculateGridLines uses SETUP_PPU_FOR_ICON_BAR * ChargeShields uses SETUP_PPU_FOR_ICON_BAR * CheckAltitude uses SETUP_PPU_FOR_ICON_BAR * CHPR (Part 1 of 6) uses SETUP_PPU_FOR_ICON_BAR * CHPR (Part 3 of 6) uses SETUP_PPU_FOR_ICON_BAR * CIRCLE uses SETUP_PPU_FOR_ICON_BAR * ClearDrawingPlane (Part 1 of 3) uses SETUP_PPU_FOR_ICON_BAR * ClearDrawingPlane (Part 2 of 3) uses SETUP_PPU_FOR_ICON_BAR * ClearDrawingPlane (Part 3 of 3) uses SETUP_PPU_FOR_ICON_BAR * ClearScreen uses SETUP_PPU_FOR_ICON_BAR * CopyCommanderToBuf uses SETUP_PPU_FOR_ICON_BAR * cpl uses SETUP_PPU_FOR_ICON_BAR * DETOK uses SETUP_PPU_FOR_ICON_BAR * DETOK2 uses SETUP_PPU_FOR_ICON_BAR * DILX uses SETUP_PPU_FOR_ICON_BAR * DOCKIT uses SETUP_PPU_FOR_ICON_BAR * DOEXP uses SETUP_PPU_FOR_ICON_BAR * Draw4OptionTiles uses SETUP_PPU_FOR_ICON_BAR * DrawBackground uses SETUP_PPU_FOR_ICON_BAR * DrawBlankButton2x2 uses SETUP_PPU_FOR_ICON_BAR * DrawBlankButton3x2 uses SETUP_PPU_FOR_ICON_BAR * DrawBoxEdges uses SETUP_PPU_FOR_ICON_BAR * DrawDash uses SETUP_PPU_FOR_ICON_BAR * DrawDashNames uses SETUP_PPU_FOR_ICON_BAR * DrawExplosionBurst uses SETUP_PPU_FOR_ICON_BAR * DrawHangarWallLine uses SETUP_PPU_FOR_ICON_BAR * DrawIconBar uses SETUP_PPU_FOR_ICON_BAR * DrawScrollFrame uses SETUP_PPU_FOR_ICON_BAR * DrawSmallLogo uses SETUP_PPU_FOR_ICON_BAR * DrawSpriteImage uses SETUP_PPU_FOR_ICON_BAR * DrawSunRowOfBlocks uses SETUP_PPU_FOR_ICON_BAR * DrawVerticalLine (Part 1 of 3) uses SETUP_PPU_FOR_ICON_BAR * DrawVerticalLine (Part 2 of 3) uses SETUP_PPU_FOR_ICON_BAR * DrawVerticalLine (Part 3 of 3) uses SETUP_PPU_FOR_ICON_BAR * DVID3B2 uses SETUP_PPU_FOR_ICON_BAR * EDGES uses SETUP_PPU_FOR_ICON_BAR * EQSHP uses SETUP_PPU_FOR_ICON_BAR * ex uses SETUP_PPU_FOR_ICON_BAR * FAROF2 uses SETUP_PPU_FOR_ICON_BAR * FLIP uses SETUP_PPU_FOR_ICON_BAR * FlushSoundChannel uses SETUP_PPU_FOR_ICON_BAR * GetScrollDivisions uses SETUP_PPU_FOR_ICON_BAR * GRIDSET uses SETUP_PPU_FOR_ICON_BAR * GRS1 uses SETUP_PPU_FOR_ICON_BAR * HAL3 uses SETUP_PPU_FOR_ICON_BAR * HAS3 uses SETUP_PPU_FOR_ICON_BAR * HideFromScanner uses SETUP_PPU_FOR_ICON_BAR * HideMostSprites uses SETUP_PPU_FOR_ICON_BAR * HideStardust uses SETUP_PPU_FOR_ICON_BAR * HLOIN (Part 1 of 5) uses SETUP_PPU_FOR_ICON_BAR * HLOIN (Part 2 of 5) uses SETUP_PPU_FOR_ICON_BAR * HLOIN (Part 3 of 5) uses SETUP_PPU_FOR_ICON_BAR * HLOIN (Part 4 of 5) uses SETUP_PPU_FOR_ICON_BAR * HLOIN (Part 5 of 5) uses SETUP_PPU_FOR_ICON_BAR * HME2 uses SETUP_PPU_FOR_ICON_BAR * IncreaseTally uses SETUP_PPU_FOR_ICON_BAR * KILLSHP uses SETUP_PPU_FOR_ICON_BAR * KS2 uses SETUP_PPU_FOR_ICON_BAR * LAUN uses SETUP_PPU_FOR_ICON_BAR * LL118 uses SETUP_PPU_FOR_ICON_BAR * LL145 (Part 4 of 4) uses SETUP_PPU_FOR_ICON_BAR * LL164 uses SETUP_PPU_FOR_ICON_BAR * LL51 uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 1 of 12) uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 3 of 12) uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 5 of 12) uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 6 of 12) uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 8 of 12) uses SETUP_PPU_FOR_ICON_BAR * LL9 (Part 10 of 12) uses SETUP_PPU_FOR_ICON_BAR * LoadHighFont uses SETUP_PPU_FOR_ICON_BAR * LoadNormalFont uses SETUP_PPU_FOR_ICON_BAR * LOIN (Part 1 of 7) uses SETUP_PPU_FOR_ICON_BAR * LOIN (Part 3 of 7) uses SETUP_PPU_FOR_ICON_BAR * LOIN (Part 4 of 7) uses SETUP_PPU_FOR_ICON_BAR * LOIN (Part 6 of 7) uses SETUP_PPU_FOR_ICON_BAR * LOIN (Part 7 of 7) uses SETUP_PPU_FOR_ICON_BAR * Main flight loop (Part 1 of 16) uses SETUP_PPU_FOR_ICON_BAR * Main flight loop (Part 3 of 16) uses SETUP_PPU_FOR_ICON_BAR * Main flight loop (Part 4 of 16) uses SETUP_PPU_FOR_ICON_BAR * Main flight loop (Part 6 of 16) uses SETUP_PPU_FOR_ICON_BAR * Main flight loop (Part 13 of 16) uses SETUP_PPU_FOR_ICON_BAR * MAS3 uses SETUP_PPU_FOR_ICON_BAR * MCASH uses SETUP_PPU_FOR_ICON_BAR * MESS uses SETUP_PPU_FOR_ICON_BAR * MULT1 uses SETUP_PPU_FOR_ICON_BAR * MULT12 uses SETUP_PPU_FOR_ICON_BAR * MULT3 uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 1 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 2 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 3 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 5 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 6 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVEIT (Part 8 of 9) uses SETUP_PPU_FOR_ICON_BAR * MVS4 uses SETUP_PPU_FOR_ICON_BAR * MVS5 uses SETUP_PPU_FOR_ICON_BAR * NOISE uses SETUP_PPU_FOR_ICON_BAR * NORM uses SETUP_PPU_FOR_ICON_BAR * nWq uses SETUP_PPU_FOR_ICON_BAR * NWSHP uses SETUP_PPU_FOR_ICON_BAR * PIXEL uses SETUP_PPU_FOR_ICON_BAR * PLFL uses SETUP_PPU_FOR_ICON_BAR * PLS22 uses SETUP_PPU_FOR_ICON_BAR * PLS6 uses SETUP_PPU_FOR_ICON_BAR * PrintFlightMessage uses SETUP_PPU_FOR_ICON_BAR * PrintNumberInHold uses SETUP_PPU_FOR_ICON_BAR * ResetScanner uses SETUP_PPU_FOR_ICON_BAR * ResetStardust uses SETUP_PPU_FOR_ICON_BAR * ScrollTextUpScreen uses SETUP_PPU_FOR_ICON_BAR * SetIconBarButtons uses SETUP_PPU_FOR_ICON_BAR * SetKeyLogger uses SETUP_PPU_FOR_ICON_BAR * SetLinePatterns uses SETUP_PPU_FOR_ICON_BAR * SetupIconBar uses SETUP_PPU_FOR_ICON_BAR * SetupPPUForIconBar uses SETUP_PPU_FOR_ICON_BAR * SetupSprite0 uses SETUP_PPU_FOR_ICON_BAR * SFS1 uses SETUP_PPU_FOR_ICON_BAR * ShowIconBar uses SETUP_PPU_FOR_ICON_BAR * ShowScrollText uses SETUP_PPU_FOR_ICON_BAR * SpawnSpaceStation uses SETUP_PPU_FOR_ICON_BAR * STARS1 uses SETUP_PPU_FOR_ICON_BAR * STARS2 uses SETUP_PPU_FOR_ICON_BAR * STARS6 uses SETUP_PPU_FOR_ICON_BAR * StartEffect_b7 uses SETUP_PPU_FOR_ICON_BAR * StartEffectOnNOISE uses SETUP_PPU_FOR_ICON_BAR * StartEffectOnSQ1 uses SETUP_PPU_FOR_ICON_BAR * StartEffectOnSQ2 uses SETUP_PPU_FOR_ICON_BAR * StoreMessage uses SETUP_PPU_FOR_ICON_BAR * SUN (Part 2 of 2) uses SETUP_PPU_FOR_ICON_BAR * TACTICS (Part 4 of 7) uses SETUP_PPU_FOR_ICON_BAR * TACTICS (Part 6 of 7) uses SETUP_PPU_FOR_ICON_BAR * TACTICS (Part 7 of 7) uses SETUP_PPU_FOR_ICON_BAR * TAS1 uses SETUP_PPU_FOR_ICON_BAR * TAS2 uses SETUP_PPU_FOR_ICON_BAR * TIDY uses SETUP_PPU_FOR_ICON_BAR * TITLE uses SETUP_PPU_FOR_ICON_BAR * TT111 uses SETUP_PPU_FOR_ICON_BAR * TT210 uses SETUP_PPU_FOR_ICON_BAR * TT23 uses SETUP_PPU_FOR_ICON_BAR * TT24 uses SETUP_PPU_FOR_ICON_BAR * TT26 uses SETUP_PPU_FOR_ICON_BAR * TT27 uses SETUP_PPU_FOR_ICON_BAR * UnpackToRAM uses SETUP_PPU_FOR_ICON_BAR * UpdateIconBar uses SETUP_PPU_FOR_ICON_BAR * WaitForIconBarPPU uses SETUP_PPU_FOR_ICON_BAR * WaitForNMI uses SETUP_PPU_FOR_ICON_BAR * WaitForPPUToFinish uses SETUP_PPU_FOR_ICON_BAR * WPSHPS uses SETUP_PPU_FOR_ICON_BAR * ZINF uses SETUP_PPU_FOR_ICON_BAR * ZINF_b1 uses SETUP_PPU_FOR_ICON_BAR

The following macro is used to ensure the game switches to the correct PPU nametable and pattern table for drawing the icon bar: SETUP_PPU_FOR_ICON_BAR It checks whether the PPU has started drawing the icon bar (which it does using sprite 0), and if it has it switches the PPU to nametable 0 and pattern table 0, as that's where the icon bar tiles live. If bit 7 of setupPPUForIconBar is set, it also affects the C flag as follows: * If bit 6 of PPU_STATUS is clear (sprite 0 has not been hit) then the C flag is set to bit 7 of PPU_STATUS (which is set if VBlank has started) * If bit 6 of PPU_STATUS is set (sprite 0 has been hit) then the C flag is cleared There are no arguments.
MACRO SETUP_PPU_FOR_ICON_BAR LDA setupPPUForIconBar ; If bit 7 of setupPPUForIconBar is clear then jump to BPL skip ; skip1, so we only update the PPU if bit 7 is set ; ; Bit 7 of setupPPUForIconBar is set when there is an ; on-screen user interface (i.e. an icon bar), and it ; is only clear if we are on the game over screen, which ; doesn't have an icon bar LDA PPU_STATUS ; If bit 6 of PPU_STATUS is clear then jump to skip1, ASL A ; so we only update the PPU if bit 6 is set BPL skip ; ; Bit 6 of PPU_STATUS is the sprite 0 hit flag, which is ; set when a non-transparent pixel in sprite 0 is drawn ; over a non-transparent background pixel ; ; It gets zeroed at the start of each VBlank and set ; when sprite 0 is drawn ; ; Sprite 0 is at the bottom-right corner of the space ; view, at coordinates (248, 163), so this means bit 6 ; of PPU_STATUS gets set when the PPU starts drawing the ; icon bar JSR SetPPUTablesTo0 ; If we get here then both bit 7 of setupPPUForIconBar ; and bit 6 of PPU_STATUS are set, which means there is ; an icon bar on-screen and the PPU has just started ; drawing it, so we call SetPPUTablesTo0 to: ; ; * Zero setupPPUForIconBar to disable this process ; until the next NMI interrupt at the next VBlank ; ; * Clear bits 0 and 4 of PPU_CTRL, to set the base ; nametable address to $2000 (for nametable 0) and ; the pattern table to $0000 (for pattern table 0) ; ; * Clear the C flag .skip ENDMACRO
Name: ITEM [Show more] Type: Macro Category: Market Summary: Macro definition for the market prices table Deep dive: Market item prices and availability
Context: See this macro on its own page References: This macro is used as follows: * QQ23 uses ITEM

The following macro is used to build the market prices table: ITEM price, factor, units, quantity, mask It inserts an item into the market prices table at QQ23. See the deep dive on "Market item prices and availability" for more information on how the market system works.
Arguments: price Base price factor Economic factor units Units: "t", "g" or "k" quantity Base quantity mask Fluctuations mask
MACRO ITEM price, factor, units, quantity, mask IF factor < 0 s = 1 << 7 ELSE s = 0 ENDIF IF units = 't' u = 0 ELIF units = 'k' u = 1 << 5 ELSE u = 1 << 6 ENDIF e = ABS(factor) EQUB price EQUB s + u + e EQUB quantity EQUB mask ENDMACRO
Name: VERTEX [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding vertices to ship blueprints Deep dive: Ship blueprints
The following macro is used to build the ship blueprints: VERTEX x, y, z, face1, face2, face3, face4, visibility See the deep dive on "Ship blueprints" for details of how vertices are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how vertices are used to draw 3D wireframe ships.
Arguments: x The vertex's x-coordinate y The vertex's y-coordinate z The vertex's z-coordinate face1 The number of face 1 associated with this vertex face2 The number of face 2 associated with this vertex face3 The number of face 3 associated with this vertex face4 The number of face 4 associated with this vertex visibility The visibility distance, beyond which the vertex is not shown
MACRO VERTEX x, y, z, face1, face2, face3, face4, visibility IF x < 0 s_x = 1 << 7 ELSE s_x = 0 ENDIF IF y < 0 s_y = 1 << 6 ELSE s_y = 0 ENDIF IF z < 0 s_z = 1 << 5 ELSE s_z = 0 ENDIF s = s_x + s_y + s_z + visibility f1 = face1 + (face2 << 4) f2 = face3 + (face4 << 4) ax = ABS(x) ay = ABS(y) az = ABS(z) EQUB ax, ay, az, s, f1, f2 ENDMACRO
Name: EDGE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding edges to ship blueprints Deep dive: Ship blueprints
The following macro is used to build the ship blueprints: EDGE vertex1, vertex2, face1, face2, visibility See the deep dive on "Ship blueprints" for details of how edges are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how edges are used to draw 3D wireframe ships.
Arguments: vertex1 The number of the vertex at the start of the edge vertex1 The number of the vertex at the end of the edge face1 The number of face 1 associated with this edge face2 The number of face 2 associated with this edge visibility The visibility distance, beyond which the edge is not shown
MACRO EDGE vertex1, vertex2, face1, face2, visibility f = face1 + (face2 << 4) EQUB visibility, f, vertex1 << 2, vertex2 << 2 ENDMACRO
Name: FACE [Show more] Type: Macro Category: Drawing ships Summary: Macro definition for adding faces to ship blueprints Deep dive: Ship blueprints
The following macro is used to build the ship blueprints: FACE normal_x, normal_y, normal_z, visibility See the deep dive on "Ship blueprints" for details of how faces are stored in the ship blueprints, and the deep dive on "Drawing ships" for information on how faces are used to draw 3D wireframe ships.
Arguments: normal_x The face normal's x-coordinate normal_y The face normal's y-coordinate normal_z The face normal's z-coordinate visibility The visibility distance, beyond which the edge is always shown
MACRO FACE normal_x, normal_y, normal_z, visibility IF normal_x < 0 s_x = 1 << 7 ELSE s_x = 0 ENDIF IF normal_y < 0 s_y = 1 << 6 ELSE s_y = 0 ENDIF IF normal_z < 0 s_z = 1 << 5 ELSE s_z = 0 ENDIF s = s_x + s_y + s_z + visibility ax = ABS(normal_x) ay = ABS(normal_y) az = ABS(normal_z) EQUB s, ax, ay, az ENDMACRO
Name: EJMP [Show more] Type: Macro Category: Text Summary: Macro definition for jump tokens in the extended token table Deep dive: Extended text tokens
Context: See this macro on its own page References: This macro is used as follows: * RUTOK uses EJMP * RUTOK_DE uses EJMP * RUTOK_FR uses EJMP * TKN1 uses EJMP * TKN1_DE uses EJMP * TKN1_FR uses EJMP

The following macro is used when building the extended token table: EJMP n Insert a jump to address n in the JMTB table See the deep dive on "Printing extended text tokens" for details on how jump tokens are stored in the extended token table.
Arguments: n The jump number to insert into the table
MACRO EJMP n EQUB n EOR VE ENDMACRO
Name: ECHR [Show more] Type: Macro Category: Text Summary: Macro definition for characters in the extended token table Deep dive: Extended text tokens
Context: See this macro on its own page References: This macro is used as follows: * RUTOK uses ECHR * RUTOK_DE uses ECHR * RUTOK_FR uses ECHR * TKN1 uses ECHR * TKN1_DE uses ECHR * TKN1_FR uses ECHR

The following macro is used when building the extended token table: ECHR 'x' Insert ASCII character "x" To include an apostrophe, use a backtick character, as in ECHR '`'. See the deep dive on "Printing extended text tokens" for details on how characters are stored in the extended token table.
Arguments: 'x' The character to insert into the table
MACRO ECHR x IF x = '`' EQUB 39 EOR VE ELSE EQUB x EOR VE ENDIF ENDMACRO
Name: ETOK [Show more] Type: Macro Category: Text Summary: Macro definition for recursive tokens in the extended token table Deep dive: Extended text tokens
Context: See this macro on its own page References: This macro is used as follows: * RUTOK uses ETOK * RUTOK_DE uses ETOK * RUTOK_FR uses ETOK * TKN1 uses ETOK * TKN1_DE uses ETOK * TKN1_FR uses ETOK

The following macro is used when building the extended token table: ETOK n Insert extended recursive token [n] See the deep dive on "Printing extended text tokens" for details on how recursive tokens are stored in the extended token table.
Arguments: n The number of the recursive token to insert into the table, in the range 129 to 214
MACRO ETOK n EQUB n EOR VE ENDMACRO
Name: ETWO [Show more] Type: Macro Category: Text Summary: Macro definition for two-letter tokens in the extended token table Deep dive: Extended text tokens
Context: See this macro on its own page References: This macro is used as follows: * RUTOK uses ETWO * RUTOK_DE uses ETWO * RUTOK_FR uses ETWO * TKN1 uses ETWO * TKN1_DE uses ETWO * TKN1_FR uses ETWO

The following macro is used when building the extended token table: ETWO 'x', 'y' Insert two-letter token "xy" The newline token can be entered using ETWO '-', '-'. See the deep dive on "Printing extended text tokens" for details on how two-letter tokens are stored in the extended token table.
Arguments: 'x' The first letter of the two-letter token to insert into the table 'y' The second letter of the two-letter token to insert into the table
MACRO ETWO t, k IF t = '-' AND k = '-' : EQUB 215 EOR VE : ENDIF IF t = 'A' AND k = 'B' : EQUB 216 EOR VE : ENDIF IF t = 'O' AND k = 'U' : EQUB 217 EOR VE : ENDIF IF t = 'S' AND k = 'E' : EQUB 218 EOR VE : ENDIF IF t = 'I' AND k = 'T' : EQUB 219 EOR VE : ENDIF IF t = 'I' AND k = 'L' : EQUB 220 EOR VE : ENDIF IF t = 'E' AND k = 'T' : EQUB 221 EOR VE : ENDIF IF t = 'S' AND k = 'T' : EQUB 222 EOR VE : ENDIF IF t = 'O' AND k = 'N' : EQUB 223 EOR VE : ENDIF IF t = 'L' AND k = 'O' : EQUB 224 EOR VE : ENDIF IF t = 'N' AND k = 'U' : EQUB 225 EOR VE : ENDIF IF t = 'T' AND k = 'H' : EQUB 226 EOR VE : ENDIF IF t = 'N' AND k = 'O' : EQUB 227 EOR VE : ENDIF IF t = 'A' AND k = 'L' : EQUB 228 EOR VE : ENDIF IF t = 'L' AND k = 'E' : EQUB 229 EOR VE : ENDIF IF t = 'X' AND k = 'E' : EQUB 230 EOR VE : ENDIF IF t = 'G' AND k = 'E' : EQUB 231 EOR VE : ENDIF IF t = 'Z' AND k = 'A' : EQUB 232 EOR VE : ENDIF IF t = 'C' AND k = 'E' : EQUB 233 EOR VE : ENDIF IF t = 'B' AND k = 'I' : EQUB 234 EOR VE : ENDIF IF t = 'S' AND k = 'O' : EQUB 235 EOR VE : ENDIF IF t = 'U' AND k = 'S' : EQUB 236 EOR VE : ENDIF IF t = 'E' AND k = 'S' : EQUB 237 EOR VE : ENDIF IF t = 'A' AND k = 'R' : EQUB 238 EOR VE : ENDIF IF t = 'M' AND k = 'A' : EQUB 239 EOR VE : ENDIF IF t = 'I' AND k = 'N' : EQUB 240 EOR VE : ENDIF IF t = 'D' AND k = 'I' : EQUB 241 EOR VE : ENDIF IF t = 'R' AND k = 'E' : EQUB 242 EOR VE : ENDIF IF t = 'A' AND k = '?' : EQUB 243 EOR VE : ENDIF IF t = 'E' AND k = 'R' : EQUB 244 EOR VE : ENDIF IF t = 'A' AND k = 'T' : EQUB 245 EOR VE : ENDIF IF t = 'E' AND k = 'N' : EQUB 246 EOR VE : ENDIF IF t = 'B' AND k = 'E' : EQUB 247 EOR VE : ENDIF IF t = 'R' AND k = 'A' : EQUB 248 EOR VE : ENDIF IF t = 'L' AND k = 'A' : EQUB 249 EOR VE : ENDIF IF t = 'V' AND k = 'E' : EQUB 250 EOR VE : ENDIF IF t = 'T' AND k = 'I' : EQUB 251 EOR VE : ENDIF IF t = 'E' AND k = 'D' : EQUB 252 EOR VE : ENDIF IF t = 'O' AND k = 'R' : EQUB 253 EOR VE : ENDIF IF t = 'Q' AND k = 'U' : EQUB 254 EOR VE : ENDIF IF t = 'A' AND k = 'N' : EQUB 255 EOR VE : ENDIF ENDMACRO
Name: ERND [Show more] Type: Macro Category: Text Summary: Macro definition for random tokens in the extended token table Deep dive: Extended text tokens
Context: See this macro on its own page References: This macro is used as follows: * RUTOK uses ERND * RUTOK_DE uses ERND * RUTOK_FR uses ERND * TKN1 uses ERND * TKN1_DE uses ERND * TKN1_FR uses ERND

The following macro is used when building the extended token table: ERND n Insert recursive token [n] * Tokens 0-123 get stored as n + 91 See the deep dive on "Printing extended text tokens" for details on how random tokens are stored in the extended token table.
Arguments: n The number of the random token to insert into the table, in the range 0 to 37
MACRO ERND n EQUB (n + 91) EOR VE ENDMACRO
Name: TOKN [Show more] Type: Macro Category: Text Summary: Macro definition for standard tokens in the extended token table Deep dive: Printing text tokens
Context: See this macro on its own page References: This macro is used as follows: * TKN1 uses TOKN

The following macro is used when building the recursive token table: TOKN n Insert recursive token [n] * Tokens 0-95 get stored as n + 160 * Tokens 128-145 get stored as n - 114 * Tokens 96-127 get stored as n See the deep dive on "Printing text tokens" for details on how recursive tokens are stored in the recursive token table.
Arguments: n The number of the recursive token to insert into the table, in the range 0 to 145
MACRO TOKN n IF n >= 0 AND n <= 95 t = n + 160 ELIF n >= 128 t = n - 114 ELSE t = n ENDIF EQUB t EOR VE ENDMACRO
Name: CHAR [Show more] Type: Macro Category: Text Summary: Macro definition for characters in the recursive token table Deep dive: Printing text tokens
Context: See this macro on its own page References: This macro is used as follows: * QQ18 uses CHAR * QQ18_DE uses CHAR * QQ18_FR uses CHAR

The following macro is used when building the recursive token table: CHAR 'x' Insert ASCII character "x" To include an apostrophe, use a backtick character, as in CHAR '`'. See the deep dive on "Printing text tokens" for details on how characters are stored in the recursive token table.
Arguments: 'x' The character to insert into the table
MACRO CHAR x IF x = '`' EQUB 39 EOR RE ELSE EQUB x EOR RE ENDIF ENDMACRO
Name: TWOK [Show more] Type: Macro Category: Text Summary: Macro definition for two-letter tokens in the token table Deep dive: Printing text tokens
Context: See this macro on its own page References: This macro is used as follows: * QQ18 uses TWOK * QQ18_DE uses TWOK * QQ18_FR uses TWOK

The following macro is used when building the recursive token table: TWOK 'x', 'y' Insert two-letter token "xy" See the deep dive on "Printing text tokens" for details on how two-letter tokens are stored in the recursive token table.
Arguments: 'x' The first letter of the two-letter token to insert into the table 'y' The second letter of the two-letter token to insert into the table
MACRO TWOK t, k IF t = 'A' AND k = 'L' : EQUB 128 EOR RE : ENDIF IF t = 'L' AND k = 'E' : EQUB 129 EOR RE : ENDIF IF t = 'X' AND k = 'E' : EQUB 130 EOR RE : ENDIF IF t = 'G' AND k = 'E' : EQUB 131 EOR RE : ENDIF IF t = 'Z' AND k = 'A' : EQUB 132 EOR RE : ENDIF IF t = 'C' AND k = 'E' : EQUB 133 EOR RE : ENDIF IF t = 'B' AND k = 'I' : EQUB 134 EOR RE : ENDIF IF t = 'S' AND k = 'O' : EQUB 135 EOR RE : ENDIF IF t = 'U' AND k = 'S' : EQUB 136 EOR RE : ENDIF IF t = 'E' AND k = 'S' : EQUB 137 EOR RE : ENDIF IF t = 'A' AND k = 'R' : EQUB 138 EOR RE : ENDIF IF t = 'M' AND k = 'A' : EQUB 139 EOR RE : ENDIF IF t = 'I' AND k = 'N' : EQUB 140 EOR RE : ENDIF IF t = 'D' AND k = 'I' : EQUB 141 EOR RE : ENDIF IF t = 'R' AND k = 'E' : EQUB 142 EOR RE : ENDIF IF t = 'A' AND k = '?' : EQUB 143 EOR RE : ENDIF IF t = 'E' AND k = 'R' : EQUB 144 EOR RE : ENDIF IF t = 'A' AND k = 'T' : EQUB 145 EOR RE : ENDIF IF t = 'E' AND k = 'N' : EQUB 146 EOR RE : ENDIF IF t = 'B' AND k = 'E' : EQUB 147 EOR RE : ENDIF IF t = 'R' AND k = 'A' : EQUB 148 EOR RE : ENDIF IF t = 'L' AND k = 'A' : EQUB 149 EOR RE : ENDIF IF t = 'V' AND k = 'E' : EQUB 150 EOR RE : ENDIF IF t = 'T' AND k = 'I' : EQUB 151 EOR RE : ENDIF IF t = 'E' AND k = 'D' : EQUB 152 EOR RE : ENDIF IF t = 'O' AND k = 'R' : EQUB 153 EOR RE : ENDIF IF t = 'Q' AND k = 'U' : EQUB 154 EOR RE : ENDIF IF t = 'A' AND k = 'N' : EQUB 155 EOR RE : ENDIF IF t = 'T' AND k = 'E' : EQUB 156 EOR RE : ENDIF IF t = 'I' AND k = 'S' : EQUB 157 EOR RE : ENDIF IF t = 'R' AND k = 'I' : EQUB 158 EOR RE : ENDIF IF t = 'O' AND k = 'N' : EQUB 159 EOR RE : ENDIF ENDMACRO
Name: CONT [Show more] Type: Macro Category: Text Summary: Macro definition for control codes in the recursive token table Deep dive: Printing text tokens
Context: See this macro on its own page References: This macro is used as follows: * QQ18 uses CONT * QQ18_DE uses CONT * QQ18_FR uses CONT

The following macro is used when building the recursive token table: CONT n Insert control code token {n} See the deep dive on "Printing text tokens" for details on how characters are stored in the recursive token table.
Arguments: n The control code to insert into the table
MACRO CONT n EQUB n EOR RE ENDMACRO
Name: RTOK [Show more] Type: Macro Category: Text Summary: Macro definition for recursive tokens in the recursive token table Deep dive: Printing text tokens
Context: See this macro on its own page References: This macro is used as follows: * QQ18 uses RTOK * QQ18_DE uses RTOK * QQ18_FR uses RTOK

The following macro is used when building the recursive token table: RTOK n Insert recursive token [n] * Tokens 0-95 get stored as n + 160 * Tokens 128-145 get stored as n - 114 * Tokens 96-127 get stored as n See the deep dive on "Printing text tokens" for details on how recursive tokens are stored in the recursive token table.
Arguments: n The number of the recursive token to insert into the table, in the range 0 to 145
MACRO RTOK n IF n >= 0 AND n <= 95 t = n + 160 ELIF n >= 128 t = n - 114 ELSE t = n ENDIF EQUB t EOR RE ENDMACRO
Name: ADD_CYCLES_CLC [Show more] Type: Macro Category: Drawing the screen Summary: Add a specified number to the cycle count Deep dive: Drawing vector graphics using NES tiles
The following macro is used to add cycles to the cycle count: ADD_CYCLES_CLC cycles The cycle count is stored in the variable cycleCount.
Arguments: cycles The number of cycles to add to the cycle count
MACRO ADD_CYCLES_CLC cycles CLC ; Clear the C flag for the addition below LDA cycleCount ; Add cycles to cycleCount(1 0) ADC #LO(cycles) STA cycleCount LDA cycleCount+1 ADC #HI(cycles) STA cycleCount+1 ENDMACRO
Name: ADD_CYCLES [Show more] Type: Macro Category: Drawing the screen Summary: Add a specified number to the cycle count Deep dive: Drawing vector graphics using NES tiles
The following macro is used to add cycles to the cycle count: ADD_CYCLES cycles The cycle count is stored in the variable cycleCount. This macro assumes that the C flag is clear.
Arguments: cycles The number of cycles to add to the cycle count C flag Must be clear for the addition to work
MACRO ADD_CYCLES cycles LDA cycleCount ; Add cycles to cycleCount(1 0) ADC #LO(cycles) STA cycleCount LDA cycleCount+1 ADC #HI(cycles) STA cycleCount+1 ENDMACRO
Name: SUBTRACT_CYCLES [Show more] Type: Macro Category: Drawing the screen Summary: Subtract a specified number from the cycle count Deep dive: Drawing vector graphics using NES tiles
The following macro is used to subtract cycles from the cycle count: SUBTRACT_CYCLES cycles The cycle count is stored in the variable cycleCount.
Arguments: cycles The number of cycles to subtract from the cycle count
MACRO SUBTRACT_CYCLES cycles SEC ; Subtract cycles from cycleCount(1 0) LDA cycleCount SBC #LO(cycles) STA cycleCount LDA cycleCount+1 SBC #HI(cycles) STA cycleCount+1 ENDMACRO
Name: FILL_MEMORY [Show more] Type: Macro Category: Drawing the screen Summary: Fill memory with the specified number of bytes
Context: See this macro on its own page References: This macro is used as follows: * ClearMemory uses FILL_MEMORY * FillMemory uses FILL_MEMORY * FillMemory32Bytes uses FILL_MEMORY

The following macro is used to fill a block of memory with the same value: FILL_MEMORY byte_count It writes the value A into byte_count bytes, starting at the Y-th byte of the memory block at address clearAddress(1 0). It also updates the index in Y to point to the byte after the block that is filled.
Arguments: byte_count The number of bytes to fill clearAddress(1 0) The base address of the block of memory to fill Y The index into clearAddress(1 0) from which to fill A The value to fill
Returns: Y The index in Y is updated to point to the byte after the filled block
MACRO FILL_MEMORY byte_count FOR I%, 1, byte_count STA (clearAddress),Y ; Write A to the Y-th byte of clearAddress(1 0) INY ; Increment the index in Y ; Repeat the above code so that we run it byte_count ; times, so write a total of byte_count bytes into ; memory NEXT ENDMACRO
Name: SEND_DATA_TO_PPU [Show more] Type: Macro Category: Drawing the screen Summary: Send a specified block of memory to the PPU Deep dive: Drawing vector graphics using NES tiles
Context: See this macro on its own page References: This macro is used as follows: * SendNametableToPPU uses SEND_DATA_TO_PPU * SendPatternsToPPU (Part 3 of 6) uses SEND_DATA_TO_PPU * SendPatternsToPPU (Part 5 of 6) uses SEND_DATA_TO_PPU

The following macro is used to send bytes to the PPU: SEND_DATA_TO_PPU byte_count It sends a block of byte_count bytes from memory to the PPU, starting with the Y-th byte of the data block at address dataForPPU(1 0). It also updates the index in Y to point to the byte after the block that is sent.
Arguments: byte_count The number of bytes to send to the PPU Y The index into dataForPPU(1 0) from which to start sending data
Returns: Y The index in Y is updated to point to the byte after the block that is sent
MACRO SEND_DATA_TO_PPU byte_count FOR I%, 1, byte_count LDA (dataForPPU),Y ; Send the Y-th byte of dataForPPU(1 0) to the PPU STA PPU_DATA INY ; Increment the index in Y ; Repeat the above code so that we run it byte_count ; times, so we send a total of byte_count bytes from ; memory to the PPU NEXT ENDMACRO
Include all ROM banks
INCLUDE "1-source-files/main-sources/elite-source-bank-0.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-1.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-2.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-3.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-4.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-5.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-6.asm" CLEAR CODE%, P% INCLUDE "1-source-files/main-sources/elite-source-bank-7.asm"