Skip to navigation

Elite on the BBC Micro

Workspaces: UP [Elite-A, Flight]

Name: UP [Show more] Type: Workspace Address: &0300 to &03CF Category: Workspaces Summary: Ship slots, variables
Context: See this workspace in context in the source code References: No direct references to this workspace in this source file
ORG &0300 .KL SKIP 1 \ The following bytes implement a key logger that \ enables Elite to scan for concurrent key presses of \ the primary flight keys, plus a secondary flight key \ \ See the deep dive on "The key logger" for more details \ \ If a key is being pressed that is not in the keyboard \ table at KYTB, it can be stored here (as seen in \ routine DK4, for example) .KY1 SKIP 1 \ "?" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY2 SKIP 1 \ Space is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY3 SKIP 1 \ "<" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY4 SKIP 1 \ ">" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY5 SKIP 1 \ "X" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY6 SKIP 1 \ "S" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY7 SKIP 1 \ "A" is being pressed \ \ * 0 = no \ \ * Non-zero = yes \ \ This is also set when the joystick fire button has \ been pressed .KY12 SKIP 1 \ TAB is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY13 SKIP 1 \ ESCAPE is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY14 SKIP 1 \ "T" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY15 SKIP 1 \ "U" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY16 SKIP 1 \ "M" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY17 SKIP 1 \ "E" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY18 SKIP 1 \ "J" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY19 SKIP 1 \ "C" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .KY20 SKIP 1 \ "P" is being pressed \ \ * 0 = no \ \ * Non-zero = yes .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 13 slots but only 12 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% .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, so the number of Sidewinders is at \ MANY+1, the number of Mambas is at MANY+2, and so on \ \ See the deep dive on "Ship blueprints" for a list of \ ship types .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" .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 \ \ Junk is the range of ship types from #JL to #JH - 1 .auto SKIP 1 \ Docking computer activation status \ \ * 0 = Docking computer is off \ \ * Non-zero = Docking computer is running .ECMP SKIP 1 \ Our E.C.M. status \ \ * 0 = E.C.M. is off \ \ * Non-zero = E.C.M. is on .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 .CABTMP SKIP 1 \ Cabin temperature \ \ The ambient cabin temperature in deep space is 30, \ which is displayed as one notch on the dashboard bar \ \ We get higher temperatures closer to the sun \ \ CABTMP shares a location with MANY, but that's OK as \ MANY+0 would contain the number of ships of type 0, \ and as there is no ship type 0 (they start at 1), the \ byte at MANY+0 is not used for storing a ship type \ and can be used for the cabin temperature instead .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) .MSAR SKIP 1 \ The targeting state of our leftmost missile \ \ * 0 = missile is not looking for a target, or it \ already has a target lock (indicator is not \ yellow/white) \ \ * Non-zero = missile is currently looking for a \ target (indicator is yellow/white) .VIEW SKIP 1 \ The number of the current space view \ \ * 0 = front \ * 1 = rear \ * 2 = left \ * 3 = right .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 every vertical sync (in the LINSCN \ routine, which is called 50 times a second) 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 10 vertical syncs (or \ 5 times a second) \ \ In comparison, beam lasers fire continuously as the \ value of LASCT is always 0 .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 .HFX SKIP 1 \ A flag that toggles the hyperspace colour effect \ \ * 0 = no colour effect \ \ * Non-zero = hyperspace colour effect enabled \ \ When HFX is set to 1, the mode 4 screen that makes \ up the top part of the display is temporarily switched \ to mode 5 (the same screen mode as the dashboard), \ which has the effect of blurring and colouring the \ hyperspace rings in the top part of the screen. The \ code to do this is in the LINSCN routine, which is \ called as part of the screen mode routine at IRQ1. \ It's in LINSCN that HFX is checked, and if it is \ non-zero, the top part of the screen is not switched \ to mode 4, thus leaving the top part of the screen in \ the more colourful mode 5 .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 .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 .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 .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 from 1 to 255 with 128 as the \ centre point, so 1 means roll is decreasing at the \ maximum rate, 128 means roll is not changing, and \ 255 means roll is increasing at the maximum rate \ \ This value is updated by "<" and ">" key presses, or \ if joysticks are enabled, from the joystick. If \ keyboard damping is enabled (which it is by default), \ the value is slowly moved towards the centre value of \ 128 (no roll) if there are no key presses or joystick \ movement .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 from 1 to 255 with 128 as the \ centre point, so 1 means pitch is decreasing at the \ maximum rate, 128 means pitch is not changing, and \ 255 means pitch is increasing at the maximum rate \ \ This value is updated by "S" and "X" key presses, or \ if joysticks are enabled, from the joystick. If \ keyboard damping is enabled (which it is by default), \ the value is slowly moved towards the centre value of \ 128 (no pitch) if there are no key presses or joystick \ movement .XSAV2 SKIP 1 \ Temporary storage, used for storing the value of the X \ register in the TT26 routine .YSAV2 SKIP 1 \ Temporary storage, used for storing the value of the Y \ register in the TT26 routine .NAME SKIP 8 \ The current commander name \ \ The commander name can be up to 7 characters (the DFS \ limit for filenames), and is terminated by a carriage \ return .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 .QQ0 SKIP 1 \ The current system's galactic x-coordinate (0-256) .QQ1 SKIP 1 \ The current system's galactic y-coordinate (0-256) .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 .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) .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 .COK SKIP 1 \ Flags used to generate the competition code \ \ See the deep dive on "The competition code" for \ details of these flags and how they are used in \ generating and decoding the competition code .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 round to \ the start after eight galaxies .LASER SKIP 4 \ The specifications of the lasers fitted to each of the \ four space views: \ \ * Byte #0 = front view (red key f0) \ * Byte #1 = rear view (red key f1) \ * Byte #2 = left view (red key f2) \ * Byte #3 = right view (red key f3) \ \ 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) \ --- Mod: Original Acornsoft code removed: -----------> \ SKIP 2 \ These bytes appear to be unused (they were originally \ \ used for up/down lasers, but they were dropped) \ --- And replaced by: --------------------------------> SKIP 1 \ This byte appears to be unused .cmdr_type SKIP 1 \ The type of our current ship \ --- End of replacement ------------------------------> .CRGO SKIP 1 \ I.F.F. system \ \ * 0 = not fitted \ \ * &FF = fitted \ \ Elite-A doesn't sell the large cargo bay as you can \ buy different ships with different capacities, so we \ reuse the CRGO variable to determine whether an I.F.F. \ system is fitted .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 .ECM SKIP 1 \ E.C.M. system \ \ * 0 = not fitted \ \ * &FF = fitted .BST SKIP 1 \ Fuel scoops (BST stands for "barrel status") \ \ * 0 = not fitted \ \ * &FF = fitted .BOMB SKIP 1 \ Hyperspace unit \ \ * 0 = not fitted \ \ * &FF = fitted \ \ Elite-A replaces the energy bomb with the hyperspace \ unit, reusing the BOMB variable to determine whether \ one is fitted .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) \ \ In Elite-A, the value of ENGY depends on the ship type \ so some ships recharge faster than others .DKCMP SKIP 1 \ Docking computer \ \ * 0 = not fitted \ \ * &FF = fitted .GHYP SKIP 1 \ Galactic hyperdrive \ \ * 0 = not fitted \ \ * &FF = fitted .ESCP SKIP 1 \ Escape pod \ \ * 0 = not fitted \ \ * &FF = fitted \ --- Mod: Original Acornsoft code removed: -----------> \ SKIP 4 \ These bytes appear to be unused \ --- And replaced by: --------------------------------> .cmdr_cour SKIP 2 \ The mission reward for the current special cargo \ delivery destination \ \ While doing a special cargo delivery, the reward is \ halved on every visit to a station (and again if we \ choose to pay a docking fee), and if it runs down to \ zero, the mission is lost .cmdr_courx SKIP 1 \ The galactic x-coordinate for the current special \ cargo delivery destination .cmdr_coury SKIP 1 \ The galactic y-coordinate for the current special \ cargo delivery destination \ --- End of replacement ------------------------------> .NOMSL SKIP 1 \ The number of missiles we have fitted (0-4) .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 .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 .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") .TALLY SKIP 2 \ Our combat rank \ \ The combat rank is stored as the number of kills, in a \ 16-bit number TALLY(1 0) - so the high byte is in \ TALLY+1 and the low byte in TALLY \ \ If the high byte in TALLY+1 is 0 then we have between \ 0 and 255 kills, so our rank is Harmless, Mostly \ Harmless, Poor, Average or Above Average, according to \ the value of the low byte in TALLY: \ \ Harmless = %00000000 to %00000011 = 0 to 3 \ Mostly Harmless = %00000100 to %00000111 = 4 to 7 \ Poor = %00001000 to %00001111 = 8 to 15 \ Average = %00010000 to %00011111 = 16 to 31 \ Above Average = %00100000 to %11111111 = 32 to 255 \ \ If the high byte in TALLY+1 is non-zero then we are \ Competent, Dangerous, Deadly or Elite, according to \ the high byte in TALLY+1: \ \ Competent = 1 = 256 to 511 kills \ Dangerous = 2 to 9 = 512 to 2559 kills \ Deadly = 10 to 24 = 2560 to 6399 kills \ Elite = 25 and up = 6400 kills and up \ \ You can see the rating calculation in STATUS .SVC SKIP 1 \ The save count \ \ When a new commander is created, the save count gets \ set to 128. This value gets halved each time the \ commander file is saved, but it is otherwise unused. \ It is presumably part of the security system for the \ competition, possibly another flag to catch out \ entries with manually altered commander files SKIP 2 \ The commander file checksum \ \ These two bytes are reserved for the commander file \ checksum, so when the current commander block is \ copied from here to the last saved commander block at \ NA%, CHK and CHK2 get overwritten NT% = SVC + 2 - TP \ This sets the variable NT% to the size of the current \ commander data block, which starts at TP and ends at \ SVC+2 (inclusive) .MCH SKIP 1 \ The text token number of the in-flight message that is \ currently being shown, and which will be removed by \ the me2 routine when the counter in DLY reaches zero .FSH SKIP 1 \ Forward shield status \ \ * 0 = empty \ \ * &FF = full .ASH SKIP 1 \ Aft shield status \ \ * 0 = empty \ \ * &FF = full .ENERGY SKIP 1 \ Energy bank status \ \ * 0 = empty \ \ * &FF = full .COMX SKIP 1 \ The x-coordinate of the compass dot .COMY SKIP 1 \ The y-coordinate of the compass dot .QQ24 SKIP 1 \ Temporary storage, used to store the current market \ item's price in routine TT151 .QQ25 SKIP 1 \ Temporary storage, used to store the current market \ item's availability in routine TT151 .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 .QQ29 SKIP 1 \ Temporary storage, used in a number of places .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 .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 .SLSP SKIP 2 \ The address of the bottom of the ship line heap \ \ The ship line heap is a descending block of memory \ that starts at WP and descends down to SLSP. It can be \ extended downwards by the NWSHP routine when adding \ new ships (and their associated ship line heaps), in \ which case SLSP is lowered to provide more heap space, \ assuming there is enough free memory to do so .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 .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 .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 .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 .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 .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 .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 sysyem 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 .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) .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) .NOSTM SKIP 1 \ The number of stardust particles shown on screen, \ which is 18 (#NOST) for normal space, and 3 for \ witchspace SKIP 1 \ This byte appears to be unused .COMC SKIP 1 \ The colour of the dot on the compass \ \ * &F0 = the object in the compass is in front of us, \ so the dot is yellow/white \ \ * &FF = the object in the compass is behind us, so \ the dot is green/cyan .DNOIZ SKIP 1 \ Sound on/off configuration setting \ \ * 0 = sound is on (default) \ \ * Non-zero = sound is off \ \ Toggled by pressing "S" when paused, see the DK4 \ routine for details .DAMP SKIP 1 \ Keyboard damping configuration setting \ \ * 0 = damping is enabled (default) \ \ * &FF = damping is disabled \ \ Toggled by pressing CAPS LOCK when paused, see the \ DKS3 routine for details .DJD SKIP 1 \ Keyboard auto-recentre configuration setting \ \ * 0 = auto-recentre is enabled (default) \ \ * &FF = auto-recentre is disabled \ \ Toggled by pressing "A" when paused, see the DKS3 \ routine for details .PATG SKIP 1 \ Configuration setting to show the author names on the \ start-up screen and enable manual hyperspace mis-jumps \ \ * 0 = no author names or manual mis-jumps (default) \ \ * &FF = show author names and allow manual mis-jumps \ \ Toggled by pressing "X" when paused, see the DKS3 \ routine for details \ \ This needs to be turned on for manual mis-jumps to be \ possible. To do a manual mis-jump, first toggle the \ author display by pausing the game (COPY) and pressing \ "X", and during the next hyperspace, hold down CTRL to \ force a mis-jump. See routine ee5 for the "AND PATG" \ instruction that implements this logic .FLH SKIP 1 \ Flashing console bars configuration setting \ \ * 0 = static bars (default) \ \ * &FF = flashing bars \ \ Toggled by pressing "F" when paused, see the DKS3 \ routine for details .JSTGY SKIP 1 \ Reverse joystick Y-channel configuration setting \ \ * 0 = standard Y-channel (default) \ \ * &FF = reversed Y-channel \ \ Toggled by pressing "Y" when paused, see the DKS3 \ routine for details .JSTE SKIP 1 \ Reverse both joystick channels configuration setting \ \ * 0 = standard channels (default) \ \ * &FF = reversed channels \ \ Toggled by pressing "J" when paused, see the DKS3 \ routine for details .JSTK SKIP 1 \ Keyboard or joystick configuration setting \ \ * 0 = keyboard (default) \ \ * &FF = joystick \ \ Toggled by pressing "K" when paused, see the DKS3 \ routine for details .BSTK SKIP 1 \ Delta 14b joystick configuration setting \ \ * 127 = keyboard \ \ * 128 = Delta 14b joystick \ \ Elite-A doesn't support the Bitstik, but instead it \ supports the multi-button Volmace Delta 14b joystick, \ reusing the BSTK variable to determine whether it is \ configured .CATF SKIP 1 \ The disc catalogue flag \ \ Determines whether a disc catalogue is currently in \ progress, so the TT26 print routine can format the \ output correctly: \ \ * 0 = disc is not currently being catalogued \ \ * 1 = disc is currently being catalogued \ \ Specifically, when CATF is non-zero, TT26 will omit \ column 17 from the catalogue so that it will fit \ on-screen (column 17 is blank column in the middle \ of the catalogue, between the two lists of filenames, \ so it can be dropped without affecting the layout) \ --- Mod: Code added for Elite-A: --------------------> .new_pulse SKIP 1 \ The power level of pulse lasers when fitted to our \ current ship type \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_beam SKIP 1 \ The power level of beam lasers when fitted to our \ current ship type \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_military SKIP 1 \ The power level of military lasers when fitted to our \ current ship type \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_mining SKIP 1 \ The power level of mining lasers when fitted to our \ current ship type \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_mounts SKIP 1 \ The available laser mounts in our current ship \ \ * 1 = Front only \ * 2 = Front and rear \ * 4 = Front, rear, left and right \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_missiles SKIP 1 \ The maximum number of missiles that can be fitted to \ our current ship \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_shields SKIP 1 \ Our current ship's shield level \ \ If our ship is damaged and the level of damage is less \ than our shield level, then the ship emerges unscathed \ \ If the damage level is greater than the shield level, \ then the damage level is reduced by the shield level \ before being applied to the ship (i.e. the shields \ absorb the amount of damage given in new_shields) \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_energy SKIP 1 \ Our current ship's ship energy refresh rate when \ fitted with an energy unit \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_speed SKIP 1 \ Our current ship's maximum speed \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_hold SKIP 1 \ The amount of free space in our current ship's hold \ \ The value is actually the amount of free space plus 1, \ as this makes the maths slightly easier in the tnpr \ routine \ \ In Elite-A, hold space is taken up by both equipment \ and cargo \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_range SKIP 1 \ Our current ship's hyperspace range (i.e. the size of \ the fuel tank) \ \ The range is stored as the number of light years \ multiplied by 10, so a value of 1 represents 0.1 light \ years, while 70 represents 7.0 light years \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_costs SKIP 1 \ The price table offset for our current ship \ \ In Elite-A the PRXS table (which contains equipment \ prices) has multiple sections, for the different types \ of ship we can buy, and the offset into this table for \ our current ship is held here \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_max SKIP 1 \ Our current ship's maximum pitch/roll rate \ \ When we buy a new ship, this is set to the relevant \ value from the ship's flight characteristics table \ at new_details .new_min SKIP 1 \ Our current ship's minimum pitch/roll rate \ \ This is always equal to 255 - new_max, so when we buy \ a new ship, the correct value is calculated rather \ than being fetched from the new_details table (there \ are default values for this in the new_details table, \ though these are commented out) .new_space SKIP 1 \ This byte appears to be unused \ \ It does have a label in the original source, and there \ are default values for it in the new_details table, \ though these are commented out \ --- End of added code ------------------------------->