Skip to navigation

Elite on the BBC Micro and NES

Workspaces: ZP

[BBC Micro disc version, Docked]

Name: ZP [Show more] Type: Workspace Address: &0000 to &00B0 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 in context in the source code Variations: See code variations for this workspace in the different versions References: No direct references to this workspace in this source file
ORG &0000 .ZP SKIP 0 \ The start of the zero page workspace .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: \ \ * DORND \ * PDESC \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.TRTB% SKIP 2 \ Contains the address of the keyboard translation \ table, which is used to translate internal key \ numbers to ASCII \ \ [Show more]
\ \ This variable is used by the following: \ \ * TT217 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.T1 SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ADD \ * DIALS (Part 1 of 4) \ * DIALS (Part 3 of 4) \ * DIALS (Part 4 of 4) \ * DILX \ * gnum \ * LCASH \ * LL9 (Part 10 of 12) \ * LL9 (Part 11 of 12) \ * MULT1 \ * NWSHP \ * PIXEL \ * PX3 \ * refund \ * TIS1 \ * TT102 \ * TT219 \ * Ze \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.SC SKIP 1 \ Screen address (low byte) \ \ Elite draws on-screen by poking bytes directly into \ screen memory, and SC(1 0) is typically set to the \ address of the character block containing the pixel \ we want to draw (see the deep dives on "Drawing \ monochrome pixels in mode 4" and "Drawing colour \ pixels in mode 5" for more details) \ \ [Show more]
\ \ This variable is used by the following: \ \ * BULB \ * CHPR \ * CLYNS \ * CPIX2 \ * DEEOR \ * DETOK2 \ * DIALS (Part 1 of 4) \ * DIALS (Part 4 of 4) \ * DIL2 \ * DILX \ * HANGER \ * HAS2 \ * HAS3 \ * HLOIN \ * 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) \ * LYN \ * MSBAR \ * PIXEL \ * PX3 \ * TT26 \ * ZES1 \ * ZES2 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.SCH SKIP 1 \ Screen address (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * CPIX2 \ * DEEOR \ * HANGER \ * HLOIN \ * 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) \ * MSBAR \ * PIXEL \ \ This list only includes code that refers to the \ variable 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: \ \ * EXNO \ * LL51 \ * LL9 (Part 3 of 12) \ * LL9 (Part 6 of 12) \ * NO3 \ * NOS1 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.P SKIP 3 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ADD \ * BULB \ * CHKON \ * CHPR \ * DIALS (Part 2 of 4) \ * DIALS (Part 3 of 4) \ * DVID3B2 \ * DVID4 \ * DVIDT \ * FMLTU \ * GC2 \ * HANGER \ * LL9 (Part 6 of 12) \ * LL9 (Part 10 of 12) \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 5 of 7) \ * LOIN (Part 6 of 7) \ * LOIN (Part 7 of 7) \ * MLS2 \ * MLTU2 \ * MLU2 \ * MU1 \ * MU11 \ * MU6 \ * MULT1 \ * MULT12 \ * MUT3 \ * MVS4 \ * MVS5 \ * MVT6 \ * NORM \ * SQUA2 \ * SUN (Part 1 of 4) \ * SUN (Part 3 of 4) \ * TIS3 \ * TT111 \ * TT151 \ * TT210 \ * TT219 \ * TT24 \ * Unused duplicate of MULTU \ \ This list only includes code that refers to the \ variable 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: \ \ * HAS1 \ * LL9 (Part 1 of 12) \ * LL9 (Part 2 of 12) \ * LL9 (Part 4 of 12) \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 9 of 12) \ * LL9 (Part 10 of 12) \ * 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
.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: \ \ * GINF \ * LL9 (Part 1 of 12) \ * NWSHP \ * 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: \ \ * DETOK \ * DETOK2 \ * DETOK3 \ * ex \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 10 of 12) \ * LL9 (Part 11 of 12) \ * SUN (Part 1 of 4) \ * SUN (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.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 \ * SUN (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.YY SKIP 2 \ Temporary storage, typically used for storing a 16-bit \ y-coordinate \ \ [Show more]
\ \ This variable is used by the following: \ \ * EDGES \ * PIX1 \ * SUN (Part 2 of 4) \ * SUN (Part 3 of 4) \ * SUN (Part 4 of 4) \ * WPLS \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.SUNX SKIP 2 \ The 16-bit x-coordinate of the vertical centre axis \ of the sun (which might be off-screen) \ \ [Show more]
\ \ This variable is used by the following: \ \ * SUN (Part 2 of 4) \ * SUN (Part 3 of 4) \ * SUN (Part 4 of 4) \ * WPLS \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.BETA SKIP 1 \ The current pitch angle beta, which is reduced from \ JSTY to a sign-magnitude value between -8 and +8 \ \ This describes how fast we are pitching our ship, and \ determines how fast the universe pitches around us \ \ The sign bit is also stored in BET2, while the \ opposite sign is stored in BET2+1 \ \ [Show more]
\ \ This variable is used by the following: \ \ * DIALS (Part 2 of 4) \ * MVS4 \ * RESET \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.BET1 SKIP 1 \ The magnitude of the pitch angle beta, i.e. |beta|, \ which is a positive value between 0 and 8 \ \ [Show more]
\ \ This variable is used by the following: \ \ * DIALS (Part 2 of 4) \ \ This list only includes code that refers to the \ variable 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: \ \ * BR1 (Part 1 of 2) \ * BRIEF \ * CATS \ * CHPR \ * CLYNS \ * crlf \ * ee3 \ * EQSHP \ * hyp \ * MESS \ * MT8 \ * MT9 \ * plf2 \ * qv \ * STATUS \ * TITLE \ * TT102 \ * TT151 \ * TT163 \ * TT167 \ * TT208 \ * TT210 \ * TT213 \ * TT219 \ * TT22 \ * TT23 \ * TT25 \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.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: \ \ * CHPR \ * CLYNS \ * ee3 \ * EQSHP \ * hyp \ * MESS \ * MT29 \ * NLIN \ * qv \ * TITLE \ * TT102 \ * TT146 \ * TT167 \ * TT219 \ * TT23 \ * TTX66 \ * 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
.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: \ \ * hyp \ * 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: \ \ * ECMOF \ * 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
.ALP1 SKIP 1 \ Magnitude of the roll angle alpha, i.e. |alpha|, \ which is a positive value between 0 and 31 \ \ [Show more]
\ \ This variable is used by the following: \ \ * DIALS (Part 2 of 4) \ * MLS2 \ * MUT3 \ * 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
.ALP2 SKIP 2 \ Bit 7 of ALP2 = sign of the roll angle in ALPHA \ \ Bit 7 of ALP2+1 = opposite sign to ALP2 and ALPHA \ \ [Show more]
\ \ This variable is used by the following: \ \ * DIALS (Part 2 of 4) \ * 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
.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 \ * 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) \ * LL9 (Part 11 of 12) \ * LL9 (Part 12 of 12) \ * NORM \ * TAS2 \ * TAS3 \ * TIDY \ * TT15 \ * TT22 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.X1 SKIP 1 \ Temporary storage, typically used for x-coordinates in \ line-drawing routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * CPIX2 \ * EDGES \ * FLIP \ * HLOIN \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 5 of 7) \ * NLIN2 \ * PIXEL2 \ * SUN (Part 3 of 4) \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.Y1 SKIP 1 \ Temporary storage, typically used for y-coordinates in \ line-drawing routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * CPIX2 \ * CPIX4 \ * FLIP \ * HLOIN \ * HLOIN2 \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 5 of 7) \ * MLU1 \ * NLIN2 \ * PIXEL2 \ * SUN (Part 3 of 4) \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.X2 SKIP 1 \ Temporary storage, typically used for x-coordinates in \ line-drawing routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * EDGES \ * HLOIN \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 5 of 7) \ * NLIN2 \ * SUN (Part 3 of 4) \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.Y2 SKIP 1 \ Temporary storage, typically used for y-coordinates in \ line-drawing routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 5 of 7) \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 2 \ The last two bytes of the XX15 block .XX12 SKIP 6 \ Temporary storage for a block of values, used in a \ number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * DIALS (Part 3 of 4) \ * LL129 \ * LL145 (Part 1 of 4) \ * LL145 (Part 2 of 4) \ * LL145 (Part 3 of 4) \ * LL145 (Part 4 of 4) \ * LL51 \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 7 of 12) \ * LL9 (Part 9 of 12) \ * LL9 (Part 10 of 12) \ * TT23 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.K SKIP 4 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * BPRNT \ * CHKON \ * CIRCLE \ * csh \ * DIALS (Part 1 of 4) \ * DIALS (Part 3 of 4) \ * DIALS (Part 4 of 4) \ * DILX \ * DVID3B2 \ * EQSHP \ * FMLTU2 \ * HFS2 \ * MU5 \ * MVS5 \ * MVT3 \ * SUN (Part 1 of 4) \ * SUN (Part 3 of 4) \ * SVE \ * TT11 \ * TT111 \ * TT14 \ * TT23 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.LAS SKIP 1 \ Contains the laser power of the laser fitted to the \ current space view (or 0 if there is no laser fitted \ to the current view) \ \ This gets set to bits 0-6 of the laser power byte from \ the commander data block, which contains the laser's \ power (bit 7 doesn't denote laser power, just whether \ or not the laser pulses, so that is not stored here) .MSTG SKIP 1 \ The current missile lock target \ \ * &FF = no target \ \ * 1-12 = the slot number of the ship that our \ missile is locked onto \ \ [Show more]
\ \ This variable is used by the following: \ \ * ABORT2 \ * 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
.XX1 SKIP 0 \ This is an alias for INWK that is used in the main \ ship-drawing routine at LL9 \ \ [Show more]
\ \ This variable is used by the following: \ \ * LL9 (Part 1 of 12) \ * LL9 (Part 2 of 12) \ * LL9 (Part 3 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 7 of 12) \ * LL9 (Part 9 of 12) \ * SHPPT \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.INWK SKIP 33 \ The zero-page internal workspace for the current ship \ data block \ \ As operations on zero page locations are faster and \ have smaller opcodes than operations on the rest of \ the addressable memory, Elite tends to store oft-used \ data here. A lot of the routines in Elite need to \ access and manipulate ship data, so to make this an \ efficient exercise, the ship data is first copied from \ the ship data blocks at K% into INWK (or, when new \ ships are spawned, from the blueprints at XX21). See \ the deep dive on "Ship data blocks" for details of \ what each of the bytes in the INWK data block \ represents \ \ [Show more]
\ \ This variable is used by the following: \ \ * BRIEF \ * DELT \ * DOEXP \ * DVID3B2 \ * EXNO \ * GTNMEW \ * HAS1 \ * HME2 \ * Main game loop (Part 2 of 6) \ * MVEIT (Part 1 of 9) \ * MVEIT (Part 8 of 9) \ * MVEIT (Part 9 of 9) \ * MVS4 \ * MVS5 \ * MVT1 \ * MVT3 \ * MVT6 \ * NwS1 \ * NWSHP \ * PAS1 \ * PAUSE \ * QUS1 \ * RLINE \ * TAS3 \ * TIDY \ * TIS3 \ * TITLE \ * TR1 \ * TRNME \ * TT23 \ * WPSHPS \ * Ze \ * ZINF \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX19 SKIP NI% - 34 \ XX19(1 0) shares its location with INWK(34 33), which \ contains the address of the ship line heap \ \ [Show more]
\ \ This variable is used by the following: \ \ * LL9 (Part 1 of 12) \ * LL9 (Part 9 of 12) \ * LL9 (Part 11 of 12) \ * LL9 (Part 12 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
.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" .LSP SKIP 1 \ The ball line heap pointer, which contains the number \ of the first free byte after the end of the LSX2 and \ LSY2 heaps (see the deep dive on "The ball line heap" \ for details) \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * HFS2 \ * TT128 \ * WP1 \ \ This list only includes code that refers to the \ variable 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: \ \ * cpl \ * HME2 \ * hyp1 \ * PDESC \ * TT111 \ * TT22 \ * TT23 \ * TT24 \ * TT25 \ * TT54 \ * TT81 \ * ypl \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.K5 SKIP 0 \ Temporary storage used to store segment coordinates \ across successive calls to BLINE, the ball line \ routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX18 SKIP 0 \ 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
.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 \ * EQSHP \ * hyp \ * MESS \ * MT17 \ * MT6 \ * TITLE \ * TT102 \ * TT167 \ * TT210 \ * TT219 \ * TT23 \ * TT25 \ * TT27 \ * TT41 \ * TT46 \ * TT69 \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.QQ19 SKIP 3 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * cpl \ * SIGHT \ * 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
.K6 SKIP 5 \ Temporary storage, typically used for storing \ coordinates during vector calculations \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * CIRCLE2 \ \ This list only includes code that refers to the \ variable 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: \ \ * 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
.DELTA SKIP 1 \ Our current speed, in the range 1-40 \ \ [Show more]
\ \ This variable is used by the following: \ \ * DIALS (Part 1 of 4) \ * DV41 \ * RES2 \ * 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
.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 .U SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ADD \ * BPRNT \ * csh \ * 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) \ * 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: \ \ * DIALS (Part 3 of 4) \ * DIL2 \ * DILX \ * DV41 \ * DVID3B2 \ * DVID4 \ * DVIDT \ * EQSHP \ * FMLTU \ * FMLTU2 \ * gnum \ * HANGER \ * HAS1 \ * LL120 \ * LL123 \ * LL129 \ * LL145 (Part 3 of 4) \ * LL28 \ * LL38 \ * LL5 \ * LL51 \ * LL61 \ * LL9 (Part 3 of 12) \ * LL9 (Part 5 of 12) \ * LL9 (Part 8 of 12) \ * LL9 (Part 10 of 12) \ * 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) \ * MLTU2 \ * MULT1 \ * MULTU \ * MVS4 \ * MVS5 \ * NORM \ * SUN (Part 3 of 4) \ * TAS3 \ * TIDY \ * TIS1 \ * TIS2 \ * TIS3 \ * TT111 \ * TT210 \ * TT219 \ * TT24 \ * Unused duplicate of MULTU \ \ This list only includes code that refers to the \ variable 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 \ * DIALS (Part 2 of 4) \ * DILX \ * DVID3B2 \ * gnum \ * HAS1 \ * HLOIN \ * LL118 \ * LL120 \ * LL123 \ * LL129 \ * LL145 (Part 4 of 4) \ * LL28 \ * LL38 \ * LL5 \ * LL51 \ * LL61 \ * LL62 \ * LL9 (Part 3 of 12) \ * LL9 (Part 5 of 12) \ * LL9 (Part 8 of 12) \ * 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) \ * MLS2 \ * MULT12 \ * MUT1 \ * MVS4 \ * MVS5 \ * MVT1 \ * NORM \ * SUN (Part 3 of 4) \ * TAS3 \ * TT111 \ * TT210 \ * TT219 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.S SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ADD \ * BPRNT \ * DIALS (Part 2 of 4) \ * DVID3B2 \ * gnum \ * 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 \ * TAS3 \ * 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
.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: \ \ * HANGER \ * HAS1 \ * MVEIT (Part 1 of 9) \ * TT22 \ * WPSHPS \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.YSAV SKIP 1 \ Temporary storage for saving the value of the Y \ register, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * HALL \ * HANGER \ * HLOIN \ * LOIN (Part 1 of 7) \ * LOIN (Part 3 of 7) \ * LOIN (Part 4 of 7) \ * LOIN (Part 6 of 7) \ * LOIN (Part 7 of 7) \ * TT217 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX17 SKIP 1 \ Temporary storage, used in BPRNT to store the number \ of characters to print, and as the edge counter in the \ main ship-drawing routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * BPRNT \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 8 of 12) \ * LL9 (Part 9 of 12) \ * LL9 (Part 10 of 12) \ * LL9 (Part 11 of 12) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.QQ11 SKIP 1 \ The type of the current view: \ \ 0 = Space view \ 1 = Title screen \ Get commander name ("@", save/load commander) \ In-system jump just arrived ("J") \ Data on System screen (red key f6) \ 2 = Buy Cargo screen (red key f1) \ 3 = Mis-jump just arrived (witchspace) \ 4 = Sell Cargo screen (red key f2) \ 6 = Death screen \ 8 = Status Mode screen (red key f8) \ Inventory screen (red key f9) \ 16 = Market Price screen (red key f7) \ 32 = Equip Ship screen (red key f3) \ 64 = Long-range Chart (red key f4) \ 128 = Short-range Chart (red key f5) \ 255 = Launch view \ \ This value is typically set by calling routine TT66 \ \ [Show more]
\ \ This variable is used by the following: \ \ * DFAULT \ * DK4 \ * hyp \ * Main game loop (Part 5 of 6) \ * TITLE \ * TT102 \ * TT103 \ * TT14 \ * TT15 \ * TT210 \ * TT66 \ * TTX66 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.ZZ SKIP 1 \ Temporary storage, typically used for distance values \ \ [Show more]
\ \ This variable is used by the following: \ \ * FLIP \ * PDESC \ * PIXEL \ * refund \ * TT111 \ * TT22 \ * 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
.XX13 SKIP 1 \ Temporary storage, typically used in the line-drawing \ routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * EQSHP \ * LL145 (Part 1 of 4) \ * LL145 (Part 2 of 4) \ * LL145 (Part 4 of 4) \ \ This list only includes code that refers to the \ variable 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 \ * DIALS (Part 3 of 4) \ * Main game loop (Part 2 of 6) \ * MVEIT (Part 1 of 9) \ * PZW \ * RES2 \ * 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
.DL SKIP 1 \ Vertical sync flag \ \ DL gets set to 30 every time we reach vertical sync on \ the video system, which happens 50 times a second \ (50Hz). The WSCAN routine uses this to pause until the \ vertical sync, by setting DL to 0 and then monitoring \ its value until it changes to 30 \ \ [Show more]
\ \ This variable is used by the following: \ \ * WSCAN \ \ This list only includes code that refers to the \ variable 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: \ \ * BRIEF \ * 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
.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: \ \ * MVS4 \ * 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
.QQ12 SKIP 1 \ Our "docked" status \ \ * 0 = we are not docked \ \ * &FF = we are docked \ \ [Show more]
\ \ This variable is used by the following: \ \ * BAY \ * hyp \ * Main game loop (Part 6 of 6) \ * RESET \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.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: \ \ * SUN (Part 1 of 4) \ * SUN (Part 2 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.SWAP SKIP 1 \ Temporary storage, used to store a flag that records \ whether or not we had to swap a line's start and end \ coordinates around when clipping the line in routine \ LL145 (the flag is used in places like BLINE to swap \ them back) \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * LL145 (Part 1 of 4) \ * LL145 (Part 4 of 4) \ * LOIN (Part 1 of 7) \ * LOIN (Part 2 of 7) \ * LOIN (Part 3 of 7) \ * LOIN (Part 4 of 7) \ * LOIN (Part 5 of 7) \ * LOIN (Part 6 of 7) \ * LOIN (Part 7 of 7) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.COL SKIP 1 \ Temporary storage, used to store colour information \ when drawing pixels in the dashboard \ \ [Show more]
\ \ This variable is used by the following: \ \ * CPIX2 \ * DILX \ \ This list only includes code that refers to the \ variable 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 \ \ This list only includes code that refers to the \ variable 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 \ * LL9 (Part 6 of 12) \ * LL9 (Part 8 of 12) \ * STATUS \ * SUN (Part 1 of 4) \ * SUN (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.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: \ \ * HALL \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.STP SKIP 1 \ The step size for drawing circles \ \ Circles in Elite are split up into 64 points, and the \ step size determines how many points to skip with each \ straight-line segment, so the smaller the step size, \ the smoother the circle. The values used are: \ \ * 2 for big planets and the circles on the charts \ * 4 for medium planets and the launch tunnel \ * 8 for small planets and the hyperspace tunnel \ \ As the step size increases we move from smoother \ circles at the top to more polygonal at the bottom. \ See the CIRCLE2 routine for more details \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * CIRCLE \ * HFS2 \ * 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: \ \ * HFS2 \ * LL9 (Part 1 of 12) \ * LL9 (Part 2 of 12) \ * LL9 (Part 4 of 12) \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 10 of 12) \ * STATUS \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX20 SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * HME2 \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 8 of 12) \ * LL9 (Part 9 of 12) \ * LL9 (Part 11 of 12) \ * LL9 (Part 12 of 12) \ * TT23 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX14 SKIP 1 \ This byte appears to be unused .RAT SKIP 1 \ Used to store different signs depending on the current \ space view, for use in calculating stardust movement .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: \ \ * HAS1 \ * MVEIT (Part 8 of 9) \ * MVS5 \ \ This list only includes code that refers to the \ variable 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: \ \ * SUN (Part 1 of 4) \ * SUN (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
ORG &00D1 .T SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ADD \ * BLINE \ * BPRNT \ * BUMP2 \ * CIRCLE2 \ * cpl \ * DKS3 \ * DVID3B2 \ * DVIDT \ * EDGES \ * EXNO \ * gnum \ * HALL \ * HLOIN \ * 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) \ * MSBAR \ * MU11 \ * MULT1 \ * MVS5 \ * MVT1 \ * MVT3 \ * NORM \ * NWSHP \ * PIXEL2 \ * REDU2 \ * SUN (Part 3 of 4) \ * TIS1 \ * TIS2 \ * TT111 \ * TT17 \ * Unused duplicate of MULTU \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.K3 SKIP 0 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * CHKON \ * CHPR \ * CIRCLE2 \ * HFS2 \ * SPS3 \ * SUN (Part 3 of 4) \ * SUN (Part 4 of 4) \ * TAS2 \ * TT128 \ * TT23 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.XX2 SKIP 14 \ Temporary storage, used to store the visibility of the \ ship's faces during the ship-drawing routine at LL9 \ \ [Show more]
\ \ This variable is used by the following: \ \ * LL9 (Part 3 of 12) \ * LL9 (Part 4 of 12) \ * LL9 (Part 5 of 12) \ * LL9 (Part 6 of 12) \ * LL9 (Part 10 of 12) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.K4 SKIP 2 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * BLINE \ * CHKON \ * HFS2 \ * SUN (Part 1 of 4) \ * TT128 \ * TT23 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
PRINT "Zero page variables from ", ~ZP, " to ", ~P%