This page contains a map of all the routines, variables and macros in the BBC Micro disc version of Elite. The source files are structured like this:
- The three loader sources, Loader 1, Loader 2 and Loader 3, which display the loading screen, implement the copy protection and set things up for the main game
- The sideways RAM loader, which replaces the three original loaders in the sideways RAM variant
- The Text tokens and Missile ship blueprint, which are bundled as part of Loader 3 and get unpacked during the loading process
- The main game source for when we are docked, which consists of Workspaces, Elite A, Elite B, Elite C, Elite D, Elite E, Elite F, Elite G, Elite H and Ship hangar blueprints
- The main game source for flight, which consists of Workspaces, Elite A, Elite B, Elite C, Elite D, Elite E, Elite F, Elite G and Elite H
- The 16 ship blueprint files, one of which gets loaded on launching from the station: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O and P.
You can click on the links above to jump to the relevant part of the map.
Loader 1
--------
Category | Details |
---|---|
Workspaces | Important variables used by the loader |
Copy protection | Decrypt the loader code using a rolling EOR that uses the decryption routine itself to seed the decryption |
Loader | Subroutine: Elite loader (Loader 1) Reset vectors, change to mode 7, and load and run the ELITE3 loader |
Loader | The OS command string for loading the ELITE3 binary |
Copy protection | Load a hidden file from disc (not used in this version as disc protection is disabled) |
Drawing the screen | VDU commands for switching to a mode 7 screen |
Copy protection | OSWORD parameter block for loading the ELITE3 loader file (not used in this version as disc protection is disabled) |
Copy protection | OSWORD parameter block for accessing a specific track on the disc (not used in this version as disc protection is disabled) |
Copy protection | OSWORD parameter block for accessing a specific track on the disc (not used in this version as disc protection is disabled) |
Loader | The OS command string for switching to the disc filing system |
Copy protection | These bytes are copied and decrypted by the loader routine (not used in this version as disc protection is disabled) |
Loader 2
--------
Category | Details |
---|---|
Workspaces | Important variables used by the loader |
Loader | Subroutine: Elite loader (Part 1 of 2) (Loader 2) Various copy protection checks, and make sure there is no Tube |
Loader | Subroutine: Elite loader (Part 2 of 2) (Loader 2) Load and run the ELITE4 loader |
Loader | The OS command string for loading the ELITE4 loader |
Utility routines | Move two pages of memory from LOADcode to LOAD and jump to ENTRY2 |
Copy protection | Subroutine: LOADcode (Loader 2) LOAD routine, bundled up in the loader so it can be moved to &0400 to be run |
Copy protection | This code accesses the disc directly (not used in this version as disc protection is disabled) |
Loader | Character definitions for the Electron to mimic the graphics characters of the BBC Micro's mode 7 teletext screen |
Loader | Tables containing the Acornsoft logo for the BBC Micro and Acorn Electron |
Loader | Various copy protection shenanigans in preparation for showing the Acornsoft loading screen |
Loader | Subroutine: LOADSCR (Loader 2) Show the mode 7 Acornsoft loading screen |
Loader | Print a large Acornsoft logo as part of the loading screen |
Loader | Print the NOP-terminated string immediately following the JSR instruction that called the routine |
Copy protection | Subroutine: Unused copy protection routine (Loader 2) This code doesn't appear to be run in this version |
Text tokens
-----------
Category | Details |
---|---|
Text | Macro definition for characters in the recursive token table |
Text | Macro definition for two-letter tokens in the token table |
Text | Macro definition for control codes in the recursive token table |
Text | Macro definition for recursive tokens in the recursive token table |
Text | The recursive token table for tokens 0-148 |
Maths (Geometry) | Sine/cosine table |
Maths (Geometry) | Arctan table |
Missile ship blueprint
----------------------
Category | Details |
---|---|
Drawing ships | Macro: VERTEX (Missile ship blueprint) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Missile ship blueprint) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Missile ship blueprint) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_MISSILE (Missile ship blueprint) Ship blueprint for a missile |
Drawing the screen | Variable: VEC (Missile ship blueprint) The original value of the IRQ1 vector |
Loader 3
--------
Category | Details |
---|---|
Workspaces | Important variables used by the loader |
Drawing the screen | VDU commands for setting the square mode 4 screen |
Sound | Sound envelope definitions |
Sound | Macro definition for defining a sound envelope |
Loader | Subroutine: Elite loader (Part 1 of 3) (Loader 3) Set up the split screen mode, move code around, set up the sound envelopes and configure the system |
Copy protection | Calculate a checksum from two 256-byte portions of the loader code |
Loader | Subroutine: LOADcode (Loader 3) Encrypted LOAD routine, bundled up in the loader so it can be moved to &0B00 to be run |
Loader | Load the main docked code, set up various vectors, run a checksum and start the game |
Save and load | Subroutine: CATDcode (Loader 3) The CATD routine, bundled up in the loader so it can be moved to &0D7A to be run |
Save and load | Load disc sectors 0 and 1 to &0E00 and &0F00 respectively |
Copy protection | Part of the CHKSM copy protection checksum calculation |
Drawing planets | Subroutine: PLL1 (Part 1 of 3) (Loader 3) Draw Saturn on the loading screen (draw the planet) |
Drawing planets | Subroutine: PLL1 (Part 2 of 3) (Loader 3) Draw Saturn on the loading screen (draw the stars) |
Drawing planets | Subroutine: PLL1 (Part 3 of 3) (Loader 3) Draw Saturn on the loading screen (draw the rings) |
Maths (Arithmetic) | Generate random numbers |
Drawing planets | The random number seed used for drawing Saturn |
Maths (Arithmetic) | Calculate (A P) = A * A |
Drawing pixels | Draw a single pixel at a specific coordinate |
Drawing pixels | Ready-made single-pixel character row bytes for mode 4 |
Copy protection | Part of the CHKSM copy protection checksum calculation |
Drawing planets | A counter for use in drawing Saturn's planetary body |
Drawing planets | A counter for use in drawing Saturn's background stars |
Drawing planets | A counter for use in drawing Saturn's rings |
Copy protection | Part of the CHKSM copy protection checksum calculation |
Maths (Arithmetic) | Calculate ZP = SQRT(ZP(1 0)) |
Utility routines | A convenience routine for calling OSBYTE with Y = 0 |
Utility routines | Decrypt and move a page of memory |
Utility routines | Decrypt and move a multi-page block of memory |
Loader | The OS command string for changing the disc directory to E |
Loader | Subroutine: Elite loader (Part 2 of 3) (Loader 3) Include binaries for recursive tokens, Missile blueprint and images |
Copy protection | Calculate a checksum on &0F00 to &0FFF (the test is disabled in this version) |
Loader | Subroutine: TVT1code (Loader 3) Code block at &1100-&11E2 that remains resident in both docked and flight mode (palettes, screen mode routine and commander data) |
Drawing the screen | Palette data for space and the two dashboard colour schemes |
Drawing the screen | The main screen-mode interrupt handler (IRQ1V points here) |
Save and load | The drive and directory number used when saving or loading a commander file |
Save and load | The data block for the last saved commander |
Save and load | Second checksum byte for the saved commander data file |
Save and load | First checksum byte for the saved commander data file |
Loader | Loader break handler: print a newline and the error message, and then hang the computer |
Loader | Subroutine: Elite loader (Part 3 of 3) (Loader 3) Include binaries for the loading screen images |
Loader | Fetch the address of the keyboard translation table before carrying on with the copy protection |
Sideways RAM Loader
-------------------
Category | Details |
---|---|
Workspaces | Workspace: ZP (Sideways RAM Loader) Important variables used by the sideways RAM loader |
Loader | Variable: sram% (Sideways RAM Loader) A table for storing the status of each ROM bank |
Loader | Variable: used% (Sideways RAM Loader) A table for storing the status of each ROM bank |
Loader | Variable: dupl% (Sideways RAM Loader) A table for storing the status of each ROM bank |
Loader | Variable: eliterom% (Sideways RAM Loader) The number of the bank containing the Elite ROM |
Loader | Variable: proflag% (Sideways RAM Loader) A flag to record whether we are running this on a co-processor |
Loader | Subroutine: testbbc% (Sideways RAM Loader) Entry point for the ROM-testing routine |
Loader | Subroutine: testpro% (Sideways RAM Loader) Entry point for the co-processor detection routine |
Loader | Subroutine: loadrom% (Sideways RAM Loader) Entry point for the ROM-loading routine |
Loader | Subroutine: makerom% (Sideways RAM Loader) Entry point for the routine to create the Elite ROM image in sideways RAM |
Loader | Subroutine: LoadRom (Sideways RAM Loader) Copy a pre-generated ship blueprints ROM image from address &3400 into sideways RAM |
Loader | Subroutine: MakeRom (Sideways RAM Loader) Create a ROM image in sideways RAM that contains all the ship blueprint files |
Loader | Subroutine: LoadShipFiles (Sideways RAM Loader) Load all the ship blueprint files into sideways RAM |
Loader | Subroutine: ProcessBlueprint (Sideways RAM Loader) Process a blueprint entry from the loaded blueprint file, copying the blueprint into sideways RAM if it hasn't already been copied |
Loader | Subroutine: SetEdgesOffset (Sideways RAM Loader) Calculate the edges offset within sideways RAM for the blueprint we are processing and set it in bytes #3 and #16 of the blueprint |
Loader | Subroutine: TestBBC (Sideways RAM Loader) Fetch details on all the ROMs in the BBC Micro (i.e. the host) and populate the sram%, used%, dupl% and eliterom% variables |
Loader | Subroutine: TestPro (Sideways RAM Loader) Test whether we are running this on a co-processor |
Loader | Variable: titleMatch (Sideways RAM Loader) The title of the Elite ROM, used to check whether the ROM is already installed in a ROM bank |
Loader | Variable: copyMatch (Sideways RAM Loader) The start of the copyright string from a valid ROM bank, used to check whether a ROM bank contains a ROM image |
Loader | Variable: osfileBlock (Sideways RAM Loader) OSFILE configuration block for loading a ship blueprint file |
Loader | Variable: shipFilename (Sideways RAM Loader) The filename of the ship blueprint file to load with OSFILE |
Loader | Variable: eliteRomHeader (Sideways RAM Loader) The ROM header code that gets copied to &8000 to create a sideways RAM image containing the ship blueprint files |
Loader | Variable: ROM (Sideways RAM Loader) The ROM header code that forms the first part of the sideways RAM image containing the ship blueprint files |
Loader | Subroutine: FileHandler (Sideways RAM Loader) The custom file handler that checks whether OSFILE is loading a ship blueprint file and if so, redirects the load to sideways RAM |
Loader | Variable: filenamePattern (Sideways RAM Loader) The filename pattern for which we intercept OSFILE to return the ship blueprints from sideways RAM |
Loader | Variable: coriolisStation (Sideways RAM Loader) The address in sideways RAM of the ship blueprint for the Coriolis space station |
Workspaces (Docked)
-------------------
Category | Details |
---|---|
Workspaces | Lots of important variables are stored in the zero page workspace as it is quicker and more space-efficient to access memory here |
Workspaces | Temporary storage space for complex calculations |
Workspaces | Ship slots, variables |
Workspaces | Ship data blocks and ship line heaps |
Workspaces | Variables |
Elite A (Docked)
----------------
Category | Details |
---|---|
Workspaces | Entry points and vector addresses in the main docked code |
Loader | An unused routine that is never run |
Loader | Decrypt the main docked code, initialise the configuration variables and start the game |
Loader | Decrypt the main docked code between &1300 and &5FFF and the main game loop |
Flight | Dock at the space station, show the ship hangar and work out any mission progression |
Loader | Decrypt the main docked code, reset the flight variables and start the game |
Save and load | Set the standard BRKV handler for the game |
Text | Print the captain's name during mission briefings |
Text | Print the location hint during the mission 1 briefing |
Text | Print an extended recursive token from the RUTOK token table |
Text | Print an extended recursive token from the TKN1 token table |
Text | Print an extended text token (1-255) |
Text | Switch to ALL CAPS when printing extended tokens |
Text | Switch to Sentence Case when printing extended tokens |
Text | Tab to column 6 and start a new word when printing extended tokens |
Text | Clear the screen and set the current view type to 1 |
Text | Switch to lower case when printing extended tokens |
Text | Switch to standard tokens in Sentence Case |
Text | Switch to extended tokens |
Text | Switch to justified text when printing extended tokens |
Text | Switch to left-aligned text when printing extended tokens |
Text | Print the selected system's adjective, e.g. Lavian for Lave |
Text | Print a random 1-8 letter word in Sentence Case |
Text | Capitalise the next letter |
Text | Test whether a character is a vowel |
Text | The extended token table for jump tokens 1-32 (DETOK) |
Text | The extended two-letter token lookup table |
Text | The two-letter token lookup table |
Moving | Subroutine: MVEIT (Part 1 of 9) (Docked) Move current ship: Tidy the orientation vectors |
Moving | Subroutine: MVEIT (Part 7 of 9) (Docked) Move current ship: Rotate ship's orientation vectors by pitch/roll |
Moving | Subroutine: MVEIT (Part 8 of 9) (Docked) Move current ship: Rotate ship about itself by its own pitch/roll |
Moving | Subroutine: MVEIT (Part 9 of 9) (Docked) Move current ship: Redraw on scanner, if it hasn't been destroyed |
Moving | Calculate (x_sign x_hi x_lo) = (x_sign x_hi x_lo) + (A R) |
Moving | Calculate K(3 2 1) = (x_sign x_hi x_lo) + K(3 2 1) |
Moving | Apply pitch and roll to an orientation vector |
Moving | Apply a 3.6 degree pitch or roll to an orientation vector |
Moving | Calculate (A P+2 P+1) = (x_sign x_hi x_lo) + (A P+2 P+1) |
Universe | Table of pointers to the local universe's ship data blocks |
Elite B (Docked)
----------------
Category | Details |
---|---|
Drawing pixels | Ready-made single-pixel character row bytes for mode 4 |
Drawing pixels | Ready-made double-pixel character row bytes for mode 4 |
Drawing pixels | Ready-made single-pixel character row bytes for mode 5 |
Drawing lines | Subroutine: LOIN (Part 1 of 7) (Docked) Draw a line: Calculate the line gradient in the form of deltas |
Drawing lines | Subroutine: LOIN (Part 2 of 7) (Docked) Draw a line: Line has a shallow gradient, step right along x-axis |
Drawing lines | Subroutine: LOIN (Part 3 of 7) (Docked) Draw a shallow line going right and up or left and down |
Drawing lines | Subroutine: LOIN (Part 4 of 7) (Docked) Draw a shallow line going right and down or left and up |
Drawing lines | Subroutine: LOIN (Part 5 of 7) (Docked) Draw a line: Line has a steep gradient, step up along y-axis |
Drawing lines | Subroutine: LOIN (Part 6 of 7) (Docked) Draw a steep line going up and left or down and right |
Drawing lines | Subroutine: LOIN (Part 7 of 7) (Docked) Draw a steep line going up and right or down and left |
Keyboard | Flush the keyboard buffer |
Drawing lines | Print a title and draw a horizontal line at row 19 to box it in |
Drawing lines | Draw a horizontal line at pixel row 19 to box in a title |
Drawing lines | Draw a horizontal line at pixel row 23 to box in a title |
Drawing lines | Draw a screen-wide horizontal line at the pixel row in A |
Drawing lines | Remove a line from the sun line heap and draw it on-screen |
Drawing lines | Draw a horizontal line from (X1, Y1) to (X2, Y1) |
Drawing lines | Ready-made character rows for the left end of a horizontal line in mode 4 |
Drawing lines | Ready-made character rows for the right end of a horizontal line in mode 4 |
Drawing pixels | Plot a single pixel at (X, Y) within a character block |
Maths (Arithmetic) | Calculate (YY+1 SYL+Y) = (A P) + (S R) and draw stardust particle |
Drawing pixels | Draw a stardust particle relative to the screen centre |
Drawing pixels | Draw a 1-pixel dot, 2-pixel dash or 4-pixel square |
Drawing circles | Draw a circle segment and add it to the ball line heap |
Stardust | Reflect the stardust particles in the screen diagonal and redraw the stardust field |
Equipment | Equipment prices |
Status | Show the Status Mode screen (red key f8) |
Text | Print text followed by a newline and indent of 6 characters |
Text | A constant used when printing large numbers in BPRNT |
Text | Print an 8-bit number, left-padded to 3 digits, and optional point |
Text | Print a 16-bit number, left-padded to n digits, and optional point |
Text | Print a 32-bit number, left-padded to a specific number of digits, with an optional decimal point |
Text | A mask for applying the lower case part of Sentence Case to extended text tokens |
Text | A flag that indicates whether we are currently printing a word |
Text | A flag for switching between standard and extended text tokens |
Text | Flags that govern how justified extended text tokens are printed |
Text | The size of the justified text buffer at BUF |
Text | A flag to denote whether printing in lower case is enabled for extended text tokens |
Text | A mask for capitalising the next letter in an extended text token |
Text | Print a newline |
Text | Print the character in variable DTW7 |
Text | Print a character at the text cursor, with support for verified text in extended tokens |
Sound | Make a standard system beep |
Text | Print a character at the text cursor by poking into screen memory |
Dashboard | Subroutine: DIALS (Part 1 of 4) (Docked) Update the dashboard: speed indicator |
Dashboard | Subroutine: DIALS (Part 2 of 4) (Docked) Update the dashboard: pitch and roll indicators |
Dashboard | Subroutine: DIALS (Part 3 of 4) (Docked) Update the dashboard: four energy banks |
Dashboard | Subroutine: DIALS (Part 4 of 4) (Docked) Update the dashboard: shields, fuel, laser & cabin temp, altitude |
Dashboard | Fetch the current dashboard colours, to support flashing |
Dashboard | Update a bar-based indicator on the dashboard |
Dashboard | Update the roll or pitch indicator on the dashboard |
Charts | Search the galaxy for a system |
Elite C (Docked)
----------------
Category | Details |
---|---|
Ship hangar | Ship hangar group table |
Ship hangar | Draw the ships in the ship hangar, then draw the hangar |
Ship hangar | Display the ship hangar |
Ship hangar | Draw a ship in the ship hangar |
Ship hangar | Draw a hangar background line from left to right |
Ship hangar | Draw a hangar background line from right to left |
Ship hangar | Switch the main line-drawing routine between EOR and OR logic |
Drawing circles | Make the hyperspace sound and draw the hyperspace tunnel |
Drawing circles | Make the launch sound and draw the launch tunnel |
Drawing circles | Draw the launch or hyperspace tunnel |
Utility routines | Variable: Unused block (Docked) These bytes appear to be unused (the same block appears in both the flight and docked code) |
Maths (Arithmetic) | Set K(3 2 1 0) = (A A A A) and clear the C flag |
Maths (Arithmetic) | Calculate (S R) = XX(1 0) and (A P) = A * ALP1 |
Maths (Arithmetic) | Clear bit 7 of A and calculate (A P) = A * A |
Maths (Arithmetic) | Calculate (A P) = A * A |
Maths (Arithmetic) | Copy X into P and A, and clear the C flag |
Maths (Arithmetic) | Calculate Y1 = y_hi and (A P) = |y_hi| * Q for Y-th stardust |
Maths (Arithmetic) | Calculate (A P) = |A| * Q |
Maths (Arithmetic) | Calculate (A P) = P * Q |
Maths (Arithmetic) | Calculate (A P) = P * X |
Maths (Arithmetic) | Set P(1 0) = (A A) |
Maths (Arithmetic) | Calculate A = K * sin(A) |
Maths (Arithmetic) | Calculate A = A * Q / 256 |
Maths (Arithmetic) | Subroutine: Unused duplicate of MULTU (Docked) An unused duplicate of the MULTU routine |
Maths (Arithmetic) | Calculate (A P+1 P) = (A ~P) * Q |
Maths (Arithmetic) | An unused routine that does the same as MUT2 |
Maths (Arithmetic) | Calculate (S R) = XX(1 0) and (A P) = Q * A |
Maths (Arithmetic) | Calculate R = XX and (A P) = Q * A |
Maths (Arithmetic) | Calculate (A P) = Q * A |
Maths (Arithmetic) | Calculate (S R) = Q * A |
Maths (Geometry) | Calculate the dot product of XX15 and an orientation vector |
Maths (Arithmetic) | Calculate (A X) = Q * A + (S R) |
Maths (Arithmetic) | Calculate (A X) = (A P) + (S R) |
Maths (Arithmetic) | Calculate (A ?) = (-X * A + (S R)) / 96 |
Maths (Arithmetic) | Calculate (P R) = 256 * DELTA / z_hi |
Maths (Arithmetic) | Calculate (P R) = 256 * DELTA / A |
Maths (Arithmetic) | Calculate (P R) = 256 * A / Q |
Maths (Arithmetic) | Calculate K(3 2 1 0) = (A P+1 P) / (z_sign z_hi z_lo) |
Dashboard | Apply damping to the pitch or roll dashboard indicator |
Dashboard | Bump up the value of the pitch or roll dashboard indicator |
Dashboard | Reduce the value of the pitch or roll dashboard indicator |
Universe | Print the system's extended description or a mission 1 directive |
Missions | Start mission 2 |
Missions | Print an extended token and show the Status Mode screen |
Missions | Receive the briefing and plans for mission 2 |
Missions | Finish mission 2 |
Missions | Finish mission 1 |
Missions | Start mission 1 and show the mission briefing |
Missions | Clear the screen, display "INCOMING MESSAGE" and wait for 2 seconds |
Missions | Display a rotating ship, waiting until a key is pressed, then remove the ship from the screen |
Text | Move to row 10, switch to white text, and switch to lower case when printing extended tokens |
Text | Move to row 6, switch to white text, and switch to lower case when printing extended tokens |
Missions | Display a rotating ship at space coordinates (0, 112, 256) and scan the keyboard |
Keyboard | Wait until a key is pressed, ignoring any existing key press |
Flight | Draw the laser crosshairs |
Drawing the screen | Clear the screen and set the current view type |
Drawing the screen | Clear the top part of the screen and draw a white border |
Utility routines | Wait for a specified time, in 1/50s of a second |
Drawing the screen | Clear the bottom three text rows of the mode 4 screen |
Drawing the screen | Clear most of a row of pixels |
Drawing pixels | Draw a double-height dot on the dashboard |
Drawing pixels | Draw a single-height dash on the dashboard |
Drawing the screen | Wait for the vertical sync |
Elite D (Docked)
----------------
Category | Details |
---|---|
Market | Work out if we have space for a specific amount of cargo |
Universe | Twist the selected system's seeds four times |
Universe | Twist the selected system's seeds |
Universe | Print the distance to the selected system in light years |
Text | Print a text token and a paragraph break |
Text | Print a paragraph break |
Text | Set Sentence Case and print a newline |
Text | Print a newline |
Universe | Display "MAINLY " and jump to TT72 |
Text | Print a text token followed by a space |
Universe | Show the Data on System screen (red key f6) |
Universe | Calculate system data from the system seeds |
Charts | Show the Long-range Chart (red key f4) |
Drawing lines | Draw a set of crosshairs |
Drawing circles | Draw a circle with crosshairs on a chart |
Drawing circles | Draw a circle on a chart |
Market | Show the Buy Cargo screen (red key f1) |
Market | Get a number from the keyboard |
Market | Print an "ITEM?" error, make a beep and rejoin the TT210 routine |
Market | Show the Sell Cargo screen (red key f2) |
Market | Show a list of current cargo in our hold, optionally to sell |
Market | Show the Inventory screen (red key f9) |
Keyboard | Ask a question with a "Y/N?" prompt and return the response |
Charts | Move the crosshairs on a chart |
Charts | Draw a small set of crosshairs on a chart |
Charts | Move galactic coordinates by a signed delta |
Charts | Draw crosshairs on the Short-range Chart, with clipping |
Charts | Show the Short-range Chart (red key f5) |
Universe | Set the selected system's seeds to those of system 0 |
Universe | Set the current system to the nearest system to a point |
Flight | Start the hyperspace process |
Flight | Start a hyperspace countdown |
Flight | Set the current system to the nearest system and return to hyp |
Flight | Perform a galactic hyperspace jump |
Universe | Set the current system to the selected system |
Flight | Print the hyperspace countdown in the top-left of the screen |
Text | Print 16-bit number, left-padded to 5 digits, no point |
Text | Print a 16-bit number, left-padded to 5 digits, and optional point |
Flight | Print an error when a system is out of hyperspace range |
Text | Print a text token followed by a question mark |
Market | Print the name, price and availability of a market item |
Market | Print the unit ("t", "kg" or "g") for a market item |
Text | Print a space |
Market | Print "t" (for tonne) and a space |
Market | Print "kg" (for kilograms) |
Market | Print "g" (for grams) |
Market | Print the headers for the table of market prices |
Market | Show the Market Price screen (red key f7) |
Market | Calculate QQ19+3 = economy * |economic_factor| |
Universe | Process a jump to the system closest to (QQ9, QQ10) |
Flight | Launch from a station or show the front space view |
Maths (Arithmetic) | Subtract an amount of cash from the cash pot |
Maths (Arithmetic) | Add an amount of cash to the cash pot |
Maths (Arithmetic) | Calculate (Y X) = P * Q * 4 |
Maths (Arithmetic) | Calculate (Y X) = (A P) * 4 |
Loader | The OS command string for running the flight code in file D.CODE |
Equipment | Show the Equip Ship screen (red key f3) |
Market | Print the amount of money we have left in the cash pot, then make a short, high beep and delay for 1 second |
Text | Make a short, high beep and delay for 1 second |
Equipment | Subtract the price of equipment from the cash pot |
Equipment | Return the price of a piece of equipment |
Equipment | Print a menu of the four space views, for buying lasers |
Charts | Select the closest system and redraw the chart crosshairs |
Equipment | Install a new laser, processing a refund if applicable |
Elite E (Docked)
----------------
Category | Details |
---|---|
Universe | Print the selected system name |
Status | Print the commander's name |
Universe | Print the current system name |
Universe | Print the current galaxy number |
Status | Print fuel and cash levels |
Status | Print the current amount of cash |
Text | Print a text token followed by a newline |
Text | Print a text token followed by a colon |
Text | Print a colon |
Text | Print a text token |
Text | Print a letter in lower case |
Text | Print a letter according to Sentence Case |
Text | Print a recursive token in the range 128-145 |
Text | Tab to column 21 and print a colon |
Text | Print a letter in lower case |
Text | Print a character and switch to capitals |
Text | Print a character |
Text | Print a two-letter token or recursive token 0-95 |
Text | Print a recursive token |
Drawing ships | Draw an exploding ship |
Dashboard | Clear the scanner, reset the ball line and sun line heaps |
Drawing suns | Reset the sun line heap |
Drawing the screen | Show or hide the dashboard (for when we die) |
Flight | Charge a shield and drain some energy from the energy banks |
Flight | Drain some energy from the energy banks |
Maths (Geometry) | Copy a space coordinate from the K% block into K3 |
Universe | Fetch the address of a ship's data block into INF |
Universe | Add a new ship to our local bubble of universe |
Universe | Flip the sign and double an INWK byte |
Dashboard | Disarm missiles and update the dashboard indicators |
Dashboard | Set/unset the lock target for a missile and update the dashboard |
Dashboard | Light up the space station indicator ("S") on the dashboard |
Dashboard | Draw an indicator bulb on the dashboard |
Dashboard | The bitmap definition for the space station indicator bulb |
Dashboard | Draw a specific indicator in the dashboard's missile bar |
Drawing suns | Subroutine: SUN (Part 1 of 4) (Docked) Draw the sun: Set up all the variables needed to draw the sun |
Drawing suns | Subroutine: SUN (Part 2 of 4) (Docked) Draw the sun: Start from the bottom of the screen and erase the old sun line by line |
Drawing suns | Subroutine: SUN (Part 3 of 4) (Docked) Draw the sun: Continue to move up the screen, drawing the new sun line by line |
Drawing suns | Subroutine: SUN (Part 4 of 4) (Docked) Draw the sun: Continue to the top of the screen, erasing the old sun line by line |
Drawing circles | Draw a circle for the planet |
Drawing circles | Draw a circle (for the planet or chart) |
Drawing planets | Reset the ball line heap |
Drawing suns | Remove the sun from the screen |
Drawing lines | Draw a horizontal line given a centre and a half-width |
Drawing planets | Return from a planet/sun-drawing routine with a failure flag |
Drawing circles | Check whether any part of a circle appears on the extended screen |
Keyboard | Scan the keyboard for cursor key or joystick movement |
Universe | Set the selected system to the current system |
Elite F (Docked)
----------------
Category | Details |
---|---|
Sound | Sound data |
Start and end | Reset most variables |
Start and end | Reset a number of flight variables and workspaces |
Universe | Reset the INWK workspace and orientation vectors |
Dashboard | Display the dashboard's missile indicators in green |
Flight | Remove an in-flight message from the space view |
Universe | Initialise the INWK workspace to a hostile ship |
Maths (Arithmetic) | Generate random numbers |
Main loop | Subroutine: Main game loop (Part 2 of 6) (Docked) Potentially spawn a trader, an asteroid, or a cargo canister (though this has no effect when docked) |
Main loop | Subroutine: Main game loop (Part 5 of 6) (Docked) Cool down lasers, make calls to update the dashboard |
Main loop | Subroutine: Main game loop (Part 6 of 6) (Docked) Process non-flight key presses (red function keys, docked keys) |
Keyboard | Process function key, save key, hyperspace and chart key presses |
Status | Calculate how bad we have been |
Utility routines | The brkd counter for error handling |
Utility routines | The standard BRKV handler for the game |
Start and end | Reset most of the game and restart from the title screen |
Loader | Initialise the configuration variables and start the game |
Start and end | Main entry point for the Elite game code |
Start and end | Subroutine: BR1 (Part 1 of 2) (Docked) Show the "Load New Commander (Y/N)?" screen and start the game |
Start and end | Subroutine: BR1 (Part 2 of 2) (Docked) Show the "Press Fire or Space, Commander" screen and start the game |
Status | Go to the docking bay (i.e. show the Status Mode screen) |
Start and end | Reset the current commander data block to the last saved commander |
Start and end | Display a title screen with a rotating ship and prompt |
Save and load | Calculate the checksum for the last saved commander data block |
Save and load | Copy the last saved commander's name from INWK to NA% |
Save and load | Copy the last saved commander's name from NA% to INWK |
Save and load | Fetch the name of a commander file to save or load |
Text | Fetch a line of text from the keyboard |
Text | The OSWORD configuration block used to fetch a line of text from the keyboard |
Utility routines | Reset the local bubble of universe and ship status |
Utility routines | Zero-fill pages &B and &C |
Utility routines | Zero-fill the page whose number is in X |
Utility routines | Zero-fill a specific page |
Save and load | The OS command string for cataloguing a disc |
Save and load | The OS command string for deleting a file |
Save and load | Ask for a disc drive number and print a catalogue of that drive |
Save and load | Catalogue a disc, ask for a filename to delete, and delete the file |
Save and load | Temporary storage for the stack pointer when switching the BRKV handler between BRBR and MEBRK |
Save and load | The BRKV handler for disc access operations |
Save and load | Catalogue a disc, wait for a key press and display the disc access menu |
Save and load | Scan the keyboard until a key is pressed and display the disc access menu |
Save and load | Save the commander file |
Save and load | Save or load the commander file |
Save and load | Get an ASCII disc drive number from the keyboard |
Save and load | Load a commander file |
Utility routines | Set the behaviour of the ESCAPE and BREAK keys |
Utility routines | An unused routine that fetches the name of a commander file |
Maths (Geometry) | Calculate the vector to the planet and store it in XX15 |
Maths (Geometry) | Normalise the three-coordinate vector in K3 |
Maths (Geometry) | Normalise the three-coordinate vector in XX15 |
Keyboard | Scan the keyboard for key presses |
Sound | Switch off the E.C.M. |
Sound | Make an explosion sound |
Sound | Make a short, high beep |
Status | Process us making a kill |
Sound | Make the sound of a laser strike or ship explosion |
Sound | Make the sound whose number is in A |
Sound | Make a sound from a prepared sound block |
Sound | Prepare a sound block |
Keyboard | Scan the keyboard to see if CTRL is currently pressed |
Keyboard | Scan the keyboard to see if a specific key is being pressed |
Keyboard | Read the joystick position |
Keyboard | Toggle a configuration setting and emit a beep |
Keyboard | Read joystick and flight controls |
Keyboard | Scan for the joystick |
Keyboard | Scan for pause, configuration and secondary flight keys |
Keyboard | Scan the keyboard until a key is pressed |
Flight | Erase an old in-flight message and display a new one |
Flight | Display an in-flight message |
Flight | Print a text token, possibly followed by " DESTROYED" |
Market | Macro definition for the market prices table |
Market | Market prices table |
Maths (Geometry) | Orthonormalise the orientation vectors for a ship |
Maths (Arithmetic) | Calculate A = A / Q |
Maths (Arithmetic) | Calculate -(nosev_1 * roofv_1 + nosev_2 * roofv_2) / nosev_3 |
Maths (Arithmetic) | Calculate (P+1 A) = (A P) / Q |
Elite G (Docked)
----------------
Category | Details |
---|---|
Drawing ships | Draw a distant ship as a point in the middle of the screen |
Maths (Arithmetic) | Calculate Q = SQRT(R Q) |
Maths (Arithmetic) | Calculate R = 256 * A / Q |
Maths (Arithmetic) | Calculate (S A) = (S R) + (A Q) |
Maths (Geometry) | Calculate the dot product of XX15 and XX16 |
Drawing ships | Subroutine: LL9 (Part 1 of 12) (Docked) Draw ship: Check if ship is exploding, check if ship is in front |
Drawing ships | Subroutine: LL9 (Part 2 of 12) (Docked) Draw ship: Check if ship is in field of view, close enough to draw |
Drawing ships | Subroutine: LL9 (Part 3 of 12) (Docked) Draw ship: Set up orientation vector, ship coordinate variables |
Drawing ships | Subroutine: LL9 (Part 4 of 12) (Docked) Draw ship: Set visibility for exploding ship (all faces visible) |
Drawing ships | Subroutine: LL9 (Part 5 of 12) (Docked) Draw ship: Calculate the visibility of each of the ship's faces |
Drawing ships | Subroutine: LL9 (Part 6 of 12) (Docked) Draw ship: Calculate the visibility of each of the ship's vertices |
Maths (Arithmetic) | Calculate (U R) = 256 * A / Q |
Maths (Arithmetic) | Calculate 128 - (U R) |
Drawing ships | Subroutine: LL9 (Part 7 of 12) (Docked) Draw ship: Calculate the visibility of each of the ship's vertices |
Drawing ships | Subroutine: LL9 (Part 8 of 12) (Docked) Draw ship: Calculate the screen coordinates of visible vertices |
Drawing ships | Subroutine: LL9 (Part 9 of 12) (Docked) Draw ship: Draw laser beams if the ship is firing its laser at us |
Drawing ships | Subroutine: LL9 (Part 10 of 12) (Docked) Draw ship: Calculate the visibility of each of the ship's edges |
Drawing lines | Subroutine: LL145 (Part 1 of 4) (Docked) Clip line: Work out which end-points are on-screen, if any |
Drawing lines | Subroutine: LL145 (Part 2 of 4) (Docked) Clip line: Work out if any part of the line is on-screen |
Drawing lines | Subroutine: LL145 (Part 3 of 4) (Docked) Clip line: Calculate the line's gradient |
Drawing lines | Subroutine: LL145 (Part 4 of 4) (Docked) Clip line: Call the routine in LL188 to do the actual clipping |
Drawing ships | Subroutine: LL9 (Part 11 of 12) (Docked) Draw ship: Add all visible edges to the ship line heap |
Drawing ships | Subroutine: LL9 (Part 12 of 12) (Docked) Draw ship: Draw all the visible edges from the ship line heap |
Drawing lines | Move a point along a line until it is on-screen |
Maths (Arithmetic) | Calculate (Y X) = (S x1_lo) * XX12+2 or (S x1_lo) / XX12+2 |
Maths (Arithmetic) | Calculate (Y X) = (S R) / XX12+2 or (S R) * XX12+2 |
Maths (Arithmetic) | Calculate Q = XX12+2, A = S EOR XX12+3 and (S R) = |S R| |
Elite H (Docked)
----------------
Category | Details |
---|---|
Text | Macro definition for jump tokens in the extended token table |
Text | Macro definition for characters in the extended token table |
Text | Macro definition for recursive tokens in the extended token table |
Text | Macro definition for two-letter tokens in the extended token table |
Text | Macro definition for random tokens in the extended token table |
Text | Macro definition for standard tokens in the extended token table |
Text | The first extended token table for recursive tokens 0-255 (DETOK) |
Text | System numbers that have extended description overrides |
Text | The criteria for systems with extended description overrides |
Text | The second extended token table for recursive tokens 0-26 (DETOK3) |
Text | Lookup table for random tokens in the extended token table (0-37) |
Copy protection | Contains a checksum at &55FF that is checked by the loader |
Ship hangar blueprints
----------------------
Category | Details |
---|---|
Drawing ships | Ship blueprints lookup table for the ship hangar |
Drawing ships | Ship blueprints default NEWB flags for the ship hangar |
Drawing ships | Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro definition for adding edges to ship blueprints |
Drawing ships | Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CANISTER (Docked) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_SHUTTLE (Docked) Ship blueprint for a Shuttle |
Drawing ships | Variable: SHIP_TRANSPORTER (Docked) Ship blueprint for a Transporter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Docked) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_PYTHON (Docked) Ship blueprint for a Python |
Drawing ships | Ship blueprint for a Viper |
Drawing ships | Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_CONSTRICTOR (Docked) Ship blueprint for a Constrictor |
Workspaces (Flight)
-------------------
Category | Details |
---|---|
Workspaces | Lots of important variables are stored in the zero page workspace as it is quicker and more space-efficient to access memory here |
Workspaces | Temporary storage space for complex calculations |
Workspaces | Ship slots, variables |
Workspaces | Ship data blocks and ship line heaps |
Workspaces | Variables |
Elite A (Flight)
----------------
Category | Details |
---|---|
Workspaces | Entry points and vector addresses in the main flight code |
Loader | Load and run the main docked code in T.CODE |
Loader | The OS command string for loading the docked code in file T.CODE |
Loader | Decrypt the main flight code between &1300 and &55FF and jump into the main game loop |
Dashboard | Set the correct colour on the scanner for the current ship type |
Loader | Load and run the docked code |
Start and end | Reset most of the game and restart from the title screen |
Main loop | Subroutine: Main flight loop (Part 1 of 16) (Flight) Seed the random number generator |
Main loop | Subroutine: Main flight loop (Part 2 of 16) (Flight) Calculate the alpha and beta angles from the current pitch and roll of our ship |
Main loop | Subroutine: Main flight loop (Part 3 of 16) (Flight) Scan for flight keys and process the results |
Main loop | Subroutine: Main flight loop (Part 4 of 16) (Flight) For each nearby ship: Copy the ship's data block from K% to the zero-page workspace at INWK |
Main loop | Subroutine: Main flight loop (Part 5 of 16) (Flight) For each nearby ship: If an energy bomb has been set off, potentially kill this ship |
Main loop | Subroutine: Main flight loop (Part 6 of 16) (Flight) For each nearby ship: Move the ship in space and copy the updated INWK data block back to K% |
Main loop | Subroutine: Main flight loop (Part 7 of 16) (Flight) For each nearby ship: Check whether we are docking, scooping or colliding with it |
Main loop | Subroutine: Main flight loop (Part 8 of 16) (Flight) For each nearby ship: Process us potentially scooping this item |
Main loop | Subroutine: Main flight loop (Part 9 of 16) (Flight) For each nearby ship: If it is a space station, check whether we are successfully docking with it |
Main loop | Subroutine: Main flight loop (Part 10 of 16) (Flight) For each nearby ship: Remove if scooped, or process collisions |
Main loop | Subroutine: Main flight loop (Part 11 of 16) (Flight) For each nearby ship: Process missile lock and firing our laser |
Main loop | Subroutine: Main flight loop (Part 12 of 16) (Flight) For each nearby ship: Draw the ship, remove if killed, loop back |
Main loop | Subroutine: Main flight loop (Part 13 of 16) (Flight) Show energy bomb effect, charge shields and energy banks |
Main loop | Subroutine: Main flight loop (Part 14 of 16) (Flight) Spawn a space station if we are close enough to the planet |
Main loop | Subroutine: Main flight loop (Part 15 of 16) (Flight) Perform altitude checks with the planet and sun and process fuel scooping if appropriate |
Main loop | Subroutine: Main flight loop (Part 16 of 16) (Flight) Process laser pulsing, E.C.M. energy drain, call stardust routine |
Universe | Randomly spawn cargo from a destroyed ship |
Elite B (Flight)
----------------
Category | Details |
---|---|
Universe | Table of pointers to the local universe's ship data blocks |
Drawing pixels | Ready-made single-pixel character row bytes for mode 4 |
Drawing pixels | Ready-made double-pixel character row bytes for mode 4 |
Drawing pixels | Ready-made single-pixel character row bytes for mode 5 |
Drawing lines | Subroutine: LOIN (Part 1 of 7) (Flight) Draw a line: Calculate the line gradient in the form of deltas |
Drawing lines | Subroutine: LOIN (Part 2 of 7) (Flight) Draw a line: Line has a shallow gradient, step right along x-axis |
Drawing lines | Subroutine: LOIN (Part 3 of 7) (Flight) Draw a shallow line going right and up or left and down |
Drawing lines | Subroutine: LOIN (Part 4 of 7) (Flight) Draw a shallow line going right and down or left and up |
Drawing lines | Subroutine: LOIN (Part 5 of 7) (Flight) Draw a line: Line has a steep gradient, step up along y-axis |
Drawing lines | Subroutine: LOIN (Part 6 of 7) (Flight) Draw a steep line going up and left or down and right |
Drawing lines | Subroutine: LOIN (Part 7 of 7) (Flight) Draw a steep line going up and right or down and left |
Keyboard | Flush the keyboard buffer |
Drawing lines | Print a title and draw a horizontal line at row 19 to box it in |
Drawing lines | Draw a horizontal line at pixel row 19 to box in a title |
Drawing lines | Draw a horizontal line at pixel row 23 to box in a title |
Drawing lines | Draw a screen-wide horizontal line at the pixel row in A |
Drawing lines | Remove a line from the sun line heap and draw it on-screen |
Drawing lines | Draw a horizontal line from (X1, Y1) to (X2, Y1) |
Drawing lines | Ready-made character rows for the left end of a horizontal line in mode 4 |
Drawing lines | Ready-made character rows for the right end of a horizontal line in mode 4 |
Drawing pixels | Plot a single pixel at (X, Y) within a character block |
Maths (Arithmetic) | Calculate (YY+1 SYL+Y) = (A P) + (S R) and draw stardust particle |
Drawing pixels | Draw a stardust particle relative to the screen centre |
Drawing pixels | Draw a 1-pixel dot, 2-pixel dash or 4-pixel square |
Drawing circles | Draw a circle segment and add it to the ball line heap |
Stardust | Reflect the stardust particles in the screen diagonal and redraw the stardust field |
Stardust | The main routine for processing the stardust |
Stardust | Process the stardust for the front view |
Stardust | Process the stardust for the rear view |
Maths (Geometry) | Add an orientation vector coordinate to an INWK coordinate |
Maths (Geometry) | Calculate a cap on the maximum distance to the planet or sun |
Maths (Arithmetic) | Calculate A = x_hi^2 + y_hi^2 + z_hi^2 in the K% block |
Status | Show the Status Mode screen (red key f8) |
Text | Print text followed by a newline and indent of 6 characters |
Moving | Calculate K(3 2 1) = (x_sign x_hi x_lo) + K(3 2 1) |
Moving | Apply a 3.6 degree pitch or roll to an orientation vector |
Text | A constant used when printing large numbers in BPRNT |
Text | Print an 8-bit number, left-padded to 3 digits, and optional point |
Text | Print a 16-bit number, left-padded to n digits, and optional point |
Text | Print a 32-bit number, left-padded to a specific number of digits, with an optional decimal point |
Sound | Make a standard system beep |
Text | Print a character at the text cursor by poking into screen memory |
Dashboard | Subroutine: DIALS (Part 1 of 4) (Flight) Update the dashboard: speed indicator |
Dashboard | Subroutine: DIALS (Part 2 of 4) (Flight) Update the dashboard: pitch and roll indicators |
Dashboard | Subroutine: DIALS (Part 3 of 4) (Flight) Update the dashboard: four energy banks |
Dashboard | Subroutine: DIALS (Part 4 of 4) (Flight) Update the dashboard: shields, fuel, laser & cabin temp, altitude |
Dashboard | Fetch the current dashboard colours, to support flashing |
Dashboard | Update a bar-based indicator on the dashboard |
Dashboard | Update the roll or pitch indicator on the dashboard |
Flight | Launch our escape pod |
Elite C (Flight)
----------------
Category | Details |
---|---|
Tactics | Subroutine: TACTICS (Part 1 of 7) (Flight) Apply tactics: Process missiles, both enemy missiles and our own |
Tactics | Subroutine: TACTICS (Part 2 of 7) (Flight) Apply tactics: Escape pod, station, lone Thargon, safe-zone pirate |
Tactics | Subroutine: TACTICS (Part 3 of 7) (Flight) Apply tactics: Calculate dot product to determine ship's aim |
Tactics | Subroutine: TACTICS (Part 4 of 7) (Flight) Apply tactics: Check energy levels, maybe launch escape pod if low |
Tactics | Subroutine: TACTICS (Part 5 of 7) (Flight) Apply tactics: Consider whether to launch a missile at us |
Tactics | Subroutine: TACTICS (Part 6 of 7) (Flight) Apply tactics: Consider firing a laser at us, if aim is true |
Tactics | Subroutine: TACTICS (Part 7 of 7) (Flight) Apply tactics: Set pitch, roll, and acceleration |
Flight | Apply docking manoeuvres to the ship in INWK |
Maths (Arithmetic) | Calculate vector K3(8 0) = [x y z] - coordinates of the sun or space station |
Maths (Arithmetic) | Calculate vector K3(8 0) = [x y z] - coordinates in (A V) |
Maths (Arithmetic) | Calculate K3 = (x_sign x_hi x_lo) - V(1 0) |
Maths (Geometry) | Calculate the dot product of XX15 and one of the space station's orientation vectors |
Maths (Geometry) | Negate the vector in XX15 so it points in the opposite direction |
Flight | Calculate the vector from the ideal docking position to the ship |
Tactics | Work out if the ship in INWK is in our crosshairs |
Tactics | Launch a ship straight ahead of us, below the laser sights |
Tactics | Fire a missile from our ship |
Tactics | Make a ship hostile |
Tactics | Display the "missile jammed" message |
Flight | Spawn an escape pod from the current (parent) ship |
Universe | Spawn a child ship from the current (parent) ship |
Moving | Move a ship in space along one of the coordinate axes |
Drawing circles | Make the hyperspace sound and draw the hyperspace tunnel |
Drawing circles | Make the launch sound and draw the launch tunnel |
Drawing circles | Draw the launch or hyperspace tunnel |
Stardust | Process the stardust for the left or right view |
Maths (Arithmetic) | Set K(3 2 1 0) = (A A A A) and clear the C flag |
Maths (Arithmetic) | Calculate K(3 2 1 0) = (A P+1 P) * Q |
Maths (Arithmetic) | Calculate (S R) = XX(1 0) and (A P) = A * ALP1 |
Maths (Arithmetic) | Calculate (A P) = ALP1 * A |
Maths (Arithmetic) | Clear bit 7 of A and calculate (A P) = A * A |
Maths (Arithmetic) | Calculate (A P) = A * A |
Maths (Arithmetic) | Copy X into P and A, and clear the C flag |
Maths (Arithmetic) | Calculate Y1 = y_hi and (A P) = |y_hi| * Q for Y-th stardust |
Maths (Arithmetic) | Calculate (A P) = |A| * Q |
Maths (Arithmetic) | Calculate (A P) = P * Q |
Maths (Arithmetic) | Calculate (A P) = P * X |
Maths (Arithmetic) | Set P(1 0) = (A A) |
Maths (Arithmetic) | Calculate A = K * sin(A) |
Maths (Arithmetic) | Calculate A = A * Q / 256 |
Maths (Arithmetic) | Subroutine: Unused duplicate of MULTU (Flight) An unused duplicate of the MULTU routine |
Maths (Arithmetic) | Calculate (A P+1 P) = (A ~P) * Q |
Maths (Arithmetic) | An unused routine that does the same as MUT2 |
Maths (Arithmetic) | Calculate (S R) = XX(1 0) and (A P) = Q * A |
Maths (Arithmetic) | Calculate R = XX and (A P) = Q * A |
Maths (Arithmetic) | Calculate (A P) = Q * A |
Maths (Arithmetic) | Calculate (S R) = Q * A |
Maths (Geometry) | Calculate the dot product of XX15 and an orientation vector |
Maths (Arithmetic) | Calculate (A X) = Q * A + (S R) |
Maths (Arithmetic) | Calculate (A X) = (A P) + (S R) |
Maths (Arithmetic) | Calculate (A ?) = (-X * A + (S R)) / 96 |
Maths (Arithmetic) | Calculate (P R) = 256 * DELTA / z_hi |
Maths (Arithmetic) | Calculate (P R) = 256 * DELTA / A |
Maths (Arithmetic) | Calculate (P R) = 256 * A / Q |
Maths (Arithmetic) | Calculate K(3 2 1 0) = (A P+1 P) / (z_sign z_hi z_lo) |
Dashboard | Apply damping to the pitch or roll dashboard indicator |
Dashboard | Bump up the value of the pitch or roll dashboard indicator |
Dashboard | Reduce the value of the pitch or roll dashboard indicator |
Maths (Geometry) | Calculate A = arctan(P / Q) |
Drawing lines | Draw the laser lines for when we fire our lasers |
Utility routines | Variable: Unused block (Flight) These bytes appear to be unused (the same block appears in both the flight and docked code) |
Elite D (Flight)
----------------
Category | Details |
---|---|
Market | Work out if we have space for one tonne of cargo |
Market | Work out if we have space for a specific amount of cargo |
Universe | Twist the selected system's seeds four times |
Universe | Twist the selected system's seeds |
Universe | Print the distance to the selected system in light years |
Text | Print a text token and a paragraph break |
Text | Print a paragraph break |
Text | Set Sentence Case and print a newline |
Text | Print a newline |
Universe | Display "MAINLY " and jump to TT72 |
Text | Print a text token followed by a space |
Universe | Show the Data on System screen (red key f6) |
Universe | Calculate system data from the system seeds |
Charts | Show the Long-range Chart (red key f4) |
Drawing lines | Draw a set of crosshairs |
Drawing circles | Draw a circle with crosshairs on a chart |
Drawing circles | Draw a circle on a chart |
Market | Show a list of current cargo in our hold, optionally to sell |
Market | Show the Inventory screen (red key f9) |
Charts | Move the crosshairs on a chart |
Charts | Draw a small set of crosshairs on a chart |
Charts | Move galactic coordinates by a signed delta |
Charts | Draw crosshairs on the Short-range Chart, with clipping |
Charts | Show the Short-range Chart (red key f5) |
Universe | Set the selected system's seeds to those of system 0 |
Universe | Set the current system to the nearest system to a point |
Flight | Start the hyperspace process |
Flight | Start a hyperspace countdown |
Flight | Perform a galactic hyperspace jump |
Universe | Set the current system to the selected system |
Flight | Print the hyperspace countdown in the top-left of the screen |
Text | Print 16-bit number, left-padded to 5 digits, no point |
Text | Print a 16-bit number, left-padded to 5 digits, and optional point |
Flight | Print an error when a system is out of hyperspace range |
Text | Print a text token followed by a question mark |
Flight | Set the current system to the nearest system and return to hyp |
Market | Print the name, price and availability of a market item |
Market | Print the unit ("t", "kg" or "g") for a market item |
Text | Print a space |
Market | Print "t" (for tonne) and a space |
Market | Print "kg" (for kilograms) |
Market | Print "g" (for grams) |
Market | Print the headers for the table of market prices |
Market | Show the Market Price screen (red key f7) |
Market | Calculate QQ19+3 = economy * |economic_factor| |
Universe | Process a jump to the system closest to (QQ9, QQ10) |
Universe | Calculate the availability of market items |
Universe | Spawn a Thargoid ship and a Thargon companion |
Flight | Process a mis-jump into witchspace |
Flight | Try to initiate a jump into hyperspace |
Flight | Launch from a station or show the front space view |
Charts | Display either the Long-range or Short-range Chart |
Maths (Arithmetic) | Add an amount of cash to the cash pot |
Maths (Arithmetic) | Calculate (Y X) = P * Q * 4 |
Maths (Arithmetic) | Calculate (Y X) = (A P) * 4 |
Charts | Select the closest system and redraw the chart crosshairs |
Elite E (Flight)
----------------
Category | Details |
---|---|
Universe | Print the selected system name |
Status | Print the commander's name |
Universe | Print the current system name |
Universe | Print the current galaxy number |
Status | Print fuel and cash levels |
Status | Print the current amount of cash |
Text | Print a text token followed by a newline |
Text | Print a text token followed by a colon |
Text | Print a colon |
Text | Print a text token |
Text | Print a letter in lower case |
Text | Print a letter according to Sentence Case |
Text | Print a recursive token in the range 128-145 |
Text | Tab to column 21 and print a colon |
Text | Print a letter in lower case |
Text | Print a character and switch to capitals |
Text | Print a character |
Text | Print a two-letter token or recursive token 0-95 |
Text | Print a recursive token |
Drawing ships | Draw an exploding ship |
Universe | Update the missile indicators, set up the planet data block |
Universe | Set up various aspects of arriving in a new system |
Stardust | Initialise the stardust field |
Stardust | Create a random cloud of stardust |
Dashboard | Clear the scanner, reset the ball line and sun line heaps |
Drawing suns | Reset the sun line heap |
Drawing the screen | Show or hide the dashboard (for when we die) |
Flight | Charge a shield and drain some energy from the energy banks |
Flight | Drain some energy from the energy banks |
Dashboard | Update the compass |
Maths (Arithmetic) | Calculate (Y X) = A / 10 |
Maths (Geometry) | Calculate the vector to the space station |
Dashboard | Draw the space station on the compass |
Dashboard | Draw a dot on the compass, given the planet/station vector |
Dashboard | Draw a dash on the compass |
Drawing pixels | Draw a double-height dot on the dashboard |
Drawing pixels | Draw a single-height dash on the dashboard |
Flight | Take some damage |
Maths (Geometry) | Copy a space coordinate from the K% block into K3 |
Universe | Fetch the address of a ship's data block into INF |
Universe | Add a new space station to our local bubble of universe |
Universe | Add a new ship to our local bubble of universe |
Universe | Flip the sign and double an INWK byte |
Dashboard | Disarm missiles and update the dashboard indicators |
Dashboard | Set/unset the lock target for a missile and update the dashboard |
Dashboard | Start up the E.C.M. (light up the indicator, start the countdown and make the E.C.M. sound) |
Dashboard | Light up the E.C.M. indicator bulb ("E") on the dashboard |
Dashboard | Light up the space station indicator ("S") on the dashboard |
Dashboard | Draw an indicator bulb on the dashboard |
Dashboard | The character bitmap for the E.C.M. indicator bulb |
Dashboard | The bitmap definition for the space station indicator bulb |
Dashboard | Draw a specific indicator in the dashboard's missile bar |
Maths (Geometry) | Project the current ship or planet onto the screen |
Drawing planets | Remove the planet or sun from the screen |
Drawing planets | Draw the planet or sun |
Drawing planets | Subroutine: PL9 (Part 1 of 3) (Flight) Draw the planet, with either an equator and meridian, or a crater |
Drawing planets | Subroutine: PL9 (Part 2 of 3) (Flight) Draw the planet's equator and meridian |
Drawing planets | Subroutine: PL9 (Part 3 of 3) (Flight) Draw the planet's crater |
Drawing planets | Calculate (Y A) = nosev_x / z |
Drawing planets | Draw a half-ellipse |
Drawing planets | Draw an ellipse or half-ellipse |
Drawing suns | Subroutine: SUN (Part 1 of 4) (Flight) Draw the sun: Set up all the variables needed to draw the sun |
Drawing suns | Subroutine: SUN (Part 2 of 4) (Flight) Draw the sun: Start from the bottom of the screen and erase the old sun line by line |
Drawing suns | Subroutine: SUN (Part 3 of 4) (Flight) Draw the sun: Continue to move up the screen, drawing the new sun line by line |
Drawing suns | Subroutine: SUN (Part 4 of 4) (Flight) Draw the sun: Continue to the top of the screen, erasing the old sun line by line |
Drawing circles | Draw a circle for the planet |
Drawing circles | Draw a circle (for the planet or chart) |
Drawing planets | Remove the planet from the screen |
Drawing planets | Reset the ball line heap |
Drawing suns | Remove the sun from the screen |
Drawing lines | Draw a horizontal line given a centre and a half-width |
Drawing circles | Check whether any part of a circle appears on the extended screen |
Drawing planets | Return from a planet/sun-drawing routine with a failure flag |
Drawing planets | Calculate (Y A P) = 222 * roofv_x / z |
Drawing planets | Calculate CNT2 = arctan(P / A) / 4 |
Drawing planets | Calculate roofv_x / z and roofv_y / z |
Drawing planets | Calculate (X K) = (A P) / (z_sign z_hi z_lo) |
Keyboard | Scan the keyboard for cursor key or joystick movement |
Universe | Set the selected system to the current system |
Universe | Set the SLSP ship line heap pointer after shuffling ship slots |
Universe | Remove the current ship from our local bubble of universe |
Universe | Remove the space station and replace it with the sun |
Universe | Check the local bubble for missiles with target lock |
Universe | Remove a ship from our local bubble of universe |
Elite F (Flight)
----------------
Category | Details |
---|---|
Sound | Sound data |
Missions | Check whether we are in the Constrictor's system in mission 1 |
Start and end | Reset most variables |
Start and end | Reset a number of flight variables and workspaces |
Universe | Reset the INWK workspace and orientation vectors |
Dashboard | Display the dashboard's missile indicators in green |
Flight | Remove an in-flight message from the space view |
Universe | Initialise the INWK workspace to a hostile ship |
Maths (Arithmetic) | Generate random numbers |
Main loop | Subroutine: Main game loop (Part 1 of 6) (Flight) Spawn a trader (a Cobra Mk III, Python, Boa or Anaconda) |
Main loop | Subroutine: Main game loop (Part 2 of 6) (Flight) Call the main flight loop, and potentially spawn a trader, an asteroid, or a cargo canister |
Main loop | Subroutine: Main game loop (Part 3 of 6) (Flight) Potentially spawn a cop, particularly if we've been bad |
Main loop | Subroutine: Main game loop (Part 4 of 6) (Flight) Potentially spawn a lone bounty hunter or up to four pirates |
Main loop | Subroutine: Main game loop (Part 5 of 6) (Flight) Cool down lasers, make calls to update the dashboard |
Main loop | Subroutine: Main game loop (Part 6 of 6) (Flight) Process non-flight key presses (red function keys, docked keys) |
Keyboard | Process function key, save key, hyperspace and chart key presses and update the hyperspace counter |
Status | Calculate how bad we have been |
Maths (Geometry) | Compare x_hi, y_hi and z_hi with 224 |
Maths (Geometry) | Compare x_hi, y_hi and z_hi with A |
Maths (Geometry) | Calculate a cap on the maximum distance to a ship |
Start and end | Display the death screen |
Loader | Launch from the station, load a new set of ship blueprints and jump into the main game loop |
Loader | Load a new ship blueprints file |
Loader | The OS command string for loading a ship blueprints file |
Utility routines | Reset the local bubble of universe and ship status |
Utility routines | Zero-fill the page whose number is in X |
Utility routines | Zero-fill a specific page |
Maths (Geometry) | Calculate the vector to the planet and store it in XX15 |
Maths (Geometry) | Normalise the three-coordinate vector in K3 |
Maths (Geometry) | Normalise the three-coordinate vector in XX15 |
Keyboard | Scan the keyboard for key presses |
Flight | Perform an in-system jump |
Sound | Switch off the E.C.M. |
Sound | Make an explosion sound |
Sound | Make a short, high beep |
Tactics | Add an enemy missile to our local bubble of universe |
Status | Process us making a kill |
Sound | Make the sound of a laser strike or ship explosion |
Sound | Make the sound whose number is in A |
Sound | Make a sound from a prepared sound block |
Sound | Prepare a sound block |
Keyboard | Lookup table for in-flight keyboard controls |
Keyboard | Scan the keyboard for a flight key |
Keyboard | Scan the keyboard to see if CTRL is currently pressed |
Keyboard | Scan the keyboard to see if a specific key is being pressed |
Keyboard | Read the joystick position |
Keyboard | Toggle a configuration setting and emit a beep |
Keyboard | Read joystick and flight controls |
Keyboard | Clear the key logger |
Keyboard | Scan for the seven primary flight controls and apply the docking computer manoeuvring code |
Keyboard | Scan for pause, configuration and secondary flight keys |
Flight | Erase an old in-flight message and display a new one |
Flight | Display "E.C.M.SYSTEM DESTROYED" as an in-flight message |
Flight | Display "FUEL SCOOPS DESTROYED" as an in-flight message |
Flight | Display an in-flight message |
Flight | Print a text token, possibly followed by " DESTROYED" |
Flight | Potentially lose cargo or equipment following damage |
Market | Macro definition for the market prices table |
Market | Market prices table |
Maths (Geometry) | Orthonormalise the orientation vectors for a ship |
Maths (Arithmetic) | Calculate A = A / Q |
Maths (Arithmetic) | Calculate -(nosev_1 * roofv_1 + nosev_2 * roofv_2) / nosev_3 |
Maths (Arithmetic) | Calculate (P+1 A) = (A P) / Q |
Elite G (Flight)
----------------
Category | Details |
---|---|
Drawing ships | Draw a distant ship as a point rather than a full wireframe |
Maths (Arithmetic) | Calculate Q = SQRT(R Q) |
Maths (Arithmetic) | Calculate R = 256 * A / Q |
Maths (Arithmetic) | Calculate (S A) = (S R) + (A Q) |
Maths (Geometry) | Calculate the dot product of XX15 and XX16 |
Drawing ships | Subroutine: LL9 (Part 1 of 12) (Flight) Draw ship: Check if ship is exploding, check if ship is in front |
Drawing ships | Subroutine: LL9 (Part 2 of 12) (Flight) Draw ship: Check if ship is in field of view, close enough to draw |
Drawing ships | Subroutine: LL9 (Part 3 of 12) (Flight) Draw ship: Set up orientation vector, ship coordinate variables |
Drawing ships | Subroutine: LL9 (Part 4 of 12) (Flight) Draw ship: Set visibility for exploding ship (all faces visible) |
Drawing ships | Subroutine: LL9 (Part 5 of 12) (Flight) Draw ship: Calculate the visibility of each of the ship's faces |
Drawing ships | Subroutine: LL9 (Part 6 of 12) (Flight) Draw ship: Calculate the visibility of each of the ship's vertices |
Maths (Arithmetic) | Calculate (U R) = 256 * A / Q |
Maths (Arithmetic) | Calculate 128 - (U R) |
Drawing ships | Subroutine: LL9 (Part 7 of 12) (Flight) Draw ship: Calculate the visibility of each of the ship's vertices |
Drawing ships | Subroutine: LL9 (Part 8 of 12) (Flight) Draw ship: Calculate the screen coordinates of visible vertices |
Drawing ships | Subroutine: LL9 (Part 9 of 12) (Flight) Draw ship: Draw laser beams if the ship is firing its laser at us |
Drawing ships | Subroutine: LL9 (Part 10 of 12) (Flight) Draw ship: Calculate the visibility of each of the ship's edges |
Drawing lines | Subroutine: LL145 (Part 1 of 4) (Flight) Clip line: Work out which end-points are on-screen, if any |
Drawing lines | Subroutine: LL145 (Part 2 of 4) (Flight) Clip line: Work out if any part of the line is on-screen |
Drawing lines | Subroutine: LL145 (Part 3 of 4) (Flight) Clip line: Calculate the line's gradient |
Drawing lines | Subroutine: LL145 (Part 4 of 4) (Flight) Clip line: Call the routine in LL188 to do the actual clipping |
Drawing ships | Subroutine: LL9 (Part 11 of 12) (Flight) Draw ship: Add all visible edges to the ship line heap |
Drawing ships | Subroutine: LL9 (Part 12 of 12) (Flight) Draw ship: Draw all the visible edges from the ship line heap |
Drawing lines | Move a point along a line until it is on-screen |
Maths (Arithmetic) | Calculate (Y X) = (S x1_lo) * XX12+2 or (S x1_lo) / XX12+2 |
Maths (Arithmetic) | Calculate (Y X) = (S R) / XX12+2 or (S R) * XX12+2 |
Maths (Arithmetic) | Calculate Q = XX12+2, A = S EOR XX12+3 and (S R) = |S R| |
Elite H (Flight)
----------------
Category | Details |
---|---|
Moving | Subroutine: MVEIT (Part 1 of 9) (Flight) Move current ship: Tidy the orientation vectors |
Moving | Subroutine: MVEIT (Part 2 of 9) (Flight) Move current ship: Call tactics routine, remove ship from scanner |
Moving | Subroutine: MVEIT (Part 3 of 9) (Flight) Move current ship: Move ship forward according to its speed |
Moving | Subroutine: MVEIT (Part 4 of 9) (Flight) Move current ship: Apply acceleration to ship's speed as a one-off |
Moving | Subroutine: MVEIT (Part 5 of 9) (Flight) Move current ship: Rotate ship's location by our pitch and roll |
Moving | Subroutine: MVEIT (Part 6 of 9) (Flight) Move current ship: Move the ship in space according to our speed |
Moving | Subroutine: MVEIT (Part 7 of 9) (Flight) Move current ship: Rotate ship's orientation vectors by pitch/roll |
Moving | Subroutine: MVEIT (Part 8 of 9) (Flight) Move current ship: Rotate ship about itself by its own pitch/roll |
Moving | Subroutine: MVEIT (Part 9 of 9) (Flight) Move current ship: Redraw on scanner, if it hasn't been destroyed |
Moving | Calculate (x_sign x_hi x_lo) = (x_sign x_hi x_lo) + (A R) |
Moving | Apply pitch and roll to an orientation vector |
Moving | Calculate (A P+2 P+1) = (x_sign x_hi x_lo) + (A P+2 P+1) |
Moving | Rotate the planet or sun's location in space by the amount of pitch and roll of our ship |
Flight | Flip the coordinate axes for the four different views |
Flight | Initialise the space view |
Flight | Draw the laser crosshairs |
Drawing the screen | Clear the screen and set the current view type |
Drawing the screen | Clear the top part of the screen and draw a white border |
Utility routines | Wait for a specified time, in 1/50s of a second |
Drawing the screen | Clear the bottom three text rows of the mode 4 screen |
Drawing the screen | Clear most of a row of pixels |
Dashboard | Display the current ship on the scanner |
Drawing the screen | Wait for the vertical sync |
Ship blueprints A
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints A) Ship blueprints lookup table for the D.MOA file |
Drawing ships | Variable: E% (Ship blueprints A) Ship blueprints default NEWB flags for the D.MOA file |
Drawing ships | Macro: VERTEX (Ship blueprints A) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints A) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints A) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints A) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints A) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints A) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints A) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_PYTHON (Ship blueprints A) Ship blueprint for a Python |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints A) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints A) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints A) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints A) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_COBRA_MK_3_P (Ship blueprints A) Ship blueprint for a Cobra Mk III (pirate) |
Drawing ships | Variable: SHIP_FER_DE_LANCE (Ship blueprints A) Ship blueprint for a Fer-de-Lance |
Ship blueprints B
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints B) Ship blueprints lookup table for the D.MOB file |
Drawing ships | Variable: E% (Ship blueprints B) Ship blueprints default NEWB flags for the D.MOB file |
Drawing ships | Macro: VERTEX (Ship blueprints B) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints B) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints B) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints B) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints B) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints B) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints B) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_BOULDER (Ship blueprints B) Ship blueprint for a boulder |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints B) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints B) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints B) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints B) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_ADDER (Ship blueprints B) Ship blueprint for an Adder |
Drawing ships | Variable: SHIP_WORM (Ship blueprints B) Ship blueprint for a Worm |
Ship blueprints C
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints C) Ship blueprints lookup table for the D.MOC file |
Drawing ships | Variable: E% (Ship blueprints C) Ship blueprints default NEWB flags for the D.MOC file |
Drawing ships | Macro: VERTEX (Ship blueprints C) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints C) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints C) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints C) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints C) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints C) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints C) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints C) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints C) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_BOA (Ship blueprints C) Ship blueprint for a Boa |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints C) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints C) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints C) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_THARGOID (Ship blueprints C) Ship blueprint for a Thargoid mothership |
Drawing ships | Variable: SHIP_THARGON (Ship blueprints C) Ship blueprint for a Thargon |
Ship blueprints D
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints D) Ship blueprints lookup table for the D.MOD file |
Drawing ships | Variable: E% (Ship blueprints D) Ship blueprints default NEWB flags for the D.MOD file |
Drawing ships | Macro: VERTEX (Ship blueprints D) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints D) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints D) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints D) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints D) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints D) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints D) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints D) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints D) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints D) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints D) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints D) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints D) Ship blueprint for a Cobra Mk I |
Drawing ships | Variable: SHIP_THARGOID (Ship blueprints D) Ship blueprint for a Thargoid mothership |
Drawing ships | Variable: SHIP_THARGON (Ship blueprints D) Ship blueprint for a Thargon |
Ship blueprints E
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints E) Ship blueprints lookup table for the D.MOE file |
Drawing ships | Variable: E% (Ship blueprints E) Ship blueprints default NEWB flags for the D.MOE file |
Drawing ships | Macro: VERTEX (Ship blueprints E) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints E) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints E) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints E) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints E) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints E) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints E) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_BOULDER (Ship blueprints E) Ship blueprint for a boulder |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints E) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints E) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints E) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints E) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints E) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints E) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints E) Ship blueprint for a Cobra Mk I |
Ship blueprints F
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints F) Ship blueprints lookup table for the D.MOF file |
Drawing ships | Variable: E% (Ship blueprints F) Ship blueprints default NEWB flags for the D.MOF file |
Drawing ships | Macro: VERTEX (Ship blueprints F) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints F) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints F) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints F) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints F) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints F) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_BOULDER (Ship blueprints F) Ship blueprint for a boulder |
Drawing ships | Variable: SHIP_TRANSPORTER (Ship blueprints F) Ship blueprint for a Transporter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints F) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_BOA (Ship blueprints F) Ship blueprint for a Boa |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints F) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints F) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints F) Ship blueprint for a Gecko |
Ship blueprints G
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints G) Ship blueprints lookup table for the D.MOG file |
Drawing ships | Variable: E% (Ship blueprints G) Ship blueprints default NEWB flags for the D.MOG file |
Drawing ships | Macro: VERTEX (Ship blueprints G) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints G) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints G) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints G) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints G) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints G) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints G) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_BOULDER (Ship blueprints G) Ship blueprint for a boulder |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints G) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints G) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints G) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints G) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_ADDER (Ship blueprints G) Ship blueprint for an Adder |
Drawing ships | Variable: SHIP_CONSTRICTOR (Ship blueprints G) Ship blueprint for a Constrictor |
Ship blueprints H
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints H) Ship blueprints lookup table for the D.MOH file |
Drawing ships | Variable: E% (Ship blueprints H) Ship blueprints default NEWB flags for the D.MOH file |
Drawing ships | Macro: VERTEX (Ship blueprints H) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints H) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints H) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints H) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints H) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints H) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints H) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints H) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_SHUTTLE (Ship blueprints H) Ship blueprint for a Shuttle |
Drawing ships | Variable: SHIP_PYTHON (Ship blueprints H) Ship blueprint for a Python |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints H) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints H) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints H) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_COBRA_MK_3_P (Ship blueprints H) Ship blueprint for a Cobra Mk III (pirate) |
Ship blueprints I
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints I) Ship blueprints lookup table for the D.MOI file |
Drawing ships | Variable: E% (Ship blueprints I) Ship blueprints default NEWB flags for the D.MOI file |
Drawing ships | Macro: VERTEX (Ship blueprints I) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints I) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints I) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints I) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints I) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints I) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints I) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints I) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints I) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints I) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints I) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_ADDER (Ship blueprints I) Ship blueprint for an Adder |
Drawing ships | Variable: SHIP_COBRA_MK_3_P (Ship blueprints I) Ship blueprint for a Cobra Mk III (pirate) |
Drawing ships | Variable: SHIP_PYTHON_P (Ship blueprints I) Ship blueprint for a Python (pirate) |
Ship blueprints J
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints J) Ship blueprints lookup table for the D.MOJ file |
Drawing ships | Variable: E% (Ship blueprints J) Ship blueprints default NEWB flags for the D.MOJ file |
Drawing ships | Macro: VERTEX (Ship blueprints J) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints J) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints J) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints J) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints J) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints J) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints J) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints J) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints J) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints J) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints J) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints J) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints J) Ship blueprint for a Cobra Mk I |
Drawing ships | Variable: SHIP_COBRA_MK_3_P (Ship blueprints J) Ship blueprint for a Cobra Mk III (pirate) |
Ship blueprints K
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints K) Ship blueprints lookup table for the D.MOK file |
Drawing ships | Variable: E% (Ship blueprints K) Ship blueprints default NEWB flags for the D.MOK file |
Drawing ships | Macro: VERTEX (Ship blueprints K) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints K) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints K) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints K) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints K) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints K) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints K) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints K) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints K) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_PYTHON (Ship blueprints K) Ship blueprint for a Python |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints K) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints K) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints K) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints K) Ship blueprint for a Cobra Mk I |
Drawing ships | Variable: SHIP_MORAY (Ship blueprints K) Ship blueprint for a Moray |
Ship blueprints L
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints L) Ship blueprints lookup table for the D.MOL file |
Drawing ships | Variable: E% (Ship blueprints L) Ship blueprints default NEWB flags for the D.MOL file |
Drawing ships | Macro: VERTEX (Ship blueprints L) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints L) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints L) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints L) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints L) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints L) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints L) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_ANACONDA (Ship blueprints L) Ship blueprint for an Anaconda |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints L) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints L) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints L) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_WORM (Ship blueprints L) Ship blueprint for a Worm |
Drawing ships | Variable: SHIP_FER_DE_LANCE (Ship blueprints L) Ship blueprint for a Fer-de-Lance |
Ship blueprints M
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints M) Ship blueprints lookup table for the D.MOM file |
Drawing ships | Variable: E% (Ship blueprints M) Ship blueprints default NEWB flags for the D.MOM file |
Drawing ships | Macro: VERTEX (Ship blueprints M) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints M) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints M) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints M) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints M) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints M) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints M) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints M) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints M) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_ADDER (Ship blueprints M) Ship blueprint for an Adder |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints M) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints M) Ship blueprint for a Cobra Mk I |
Drawing ships | Variable: SHIP_COBRA_MK_3_P (Ship blueprints M) Ship blueprint for a Cobra Mk III (pirate) |
Ship blueprints N
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints N) Ship blueprints lookup table for the D.MON file |
Drawing ships | Variable: E% (Ship blueprints N) Ship blueprints default NEWB flags for the D.MON file |
Drawing ships | Macro: VERTEX (Ship blueprints N) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints N) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints N) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints N) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints N) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints N) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints N) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints N) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints N) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints N) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints N) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints N) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_GECKO (Ship blueprints N) Ship blueprint for a Gecko |
Drawing ships | Variable: SHIP_ASP_MK_2 (Ship blueprints N) Ship blueprint for an Asp Mk II |
Ship blueprints O
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints O) Ship blueprints lookup table for the D.MOO file |
Drawing ships | Variable: E% (Ship blueprints O) Ship blueprints default NEWB flags for the D.MOO file |
Drawing ships | Macro: VERTEX (Ship blueprints O) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints O) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints O) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_CORIOLIS (Ship blueprints O) Ship blueprint for a Coriolis space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints O) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints O) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints O) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints O) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints O) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints O) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints O) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_MAMBA (Ship blueprints O) Ship blueprint for a Mamba |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints O) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_COBRA_MK_1 (Ship blueprints O) Ship blueprint for a Cobra Mk I |
Drawing ships | Variable: SHIP_PYTHON_P (Ship blueprints O) Ship blueprint for a Python (pirate) |
Ship blueprints P
-----------------
Category | Details |
---|---|
Drawing ships | Variable: XX21 (Ship blueprints P) Ship blueprints lookup table for the D.MOP file |
Drawing ships | Variable: E% (Ship blueprints P) Ship blueprints default NEWB flags for the D.MOP file |
Drawing ships | Macro: VERTEX (Ship blueprints P) Macro definition for adding vertices to ship blueprints |
Drawing ships | Macro: EDGE (Ship blueprints P) Macro definition for adding edges to ship blueprints |
Drawing ships | Macro: FACE (Ship blueprints P) Macro definition for adding faces to ship blueprints |
Drawing ships | Variable: SHIP_DODO (Ship blueprints P) Ship blueprint for a Dodecahedron ("Dodo") space station |
Drawing ships | Variable: SHIP_ESCAPE_POD (Ship blueprints P) Ship blueprint for an escape pod |
Drawing ships | Variable: SHIP_PLATE (Ship blueprints P) Ship blueprint for an alloy plate |
Drawing ships | Variable: SHIP_CANISTER (Ship blueprints P) Ship blueprint for a cargo canister |
Drawing ships | Variable: SHIP_BOULDER (Ship blueprints P) Ship blueprint for a boulder |
Drawing ships | Variable: SHIP_ASTEROID (Ship blueprints P) Ship blueprint for an asteroid |
Drawing ships | Variable: SHIP_SPLINTER (Ship blueprints P) Ship blueprint for a splinter |
Drawing ships | Variable: SHIP_COBRA_MK_3 (Ship blueprints P) Ship blueprint for a Cobra Mk III |
Drawing ships | Variable: SHIP_VIPER (Ship blueprints P) Ship blueprint for a Viper |
Drawing ships | Variable: SHIP_SIDEWINDER (Ship blueprints P) Ship blueprint for a Sidewinder |
Drawing ships | Variable: SHIP_KRAIT (Ship blueprints P) Ship blueprint for a Krait |
Drawing ships | Variable: SHIP_ASP_MK_2 (Ship blueprints P) Ship blueprint for an Asp Mk II |