From Rev_2001/F002

                   HEWLETT-PACKARD SOFTWARE CENTER
               CONTRIBUTED PROGRAM DOCUMENTATION FORM 
  
  
  
 1.0  IDENTIFICATION
      --------------
  
 1.1  PROGRAM TITLE 
      ------------
  
      *****   STAR   *****   -   STARTREK/STAR VERSION D
  
 1.2  PROGRAM LANGUAGE(S) 
      ------------------- 
  
      [ ]  FORTRAN II       [X]  RELOCATABLE ASSEMBLY LANGUAGE
      [X]  FORTRAN IV       [ ]  ABSOLUTE ASSEMBLY LANGUAGE 
      [ ]  ALGOL            [ ]  MICROPROCESSOR ASSEMBLY LANGUAGE 
  
 1.3  PROGRAM TYPE
      ------------
  
      [X]  PROGRAM          [ ]  SUBROUTINE 
      [ ]  DRIVER           [ ]  FUNCTION 
      [ ]  OTHER
                 -----------------------
  
  
 2.0  PROGRAM DESCRIPTION 
      ------------------
  
    THIS IS THE CLASSIC GAME OF STARTREK.  IT IS INTENDED TO SIMULATE 
 THE POPULAR TELEVISION PROGRAM HAVING THE SAME NAME.  THE OPERATOR 
 IS CONSIDERED THE CAPTAIN OF THE STARSHIP ENTERPRISE.  THE MISSION IS
 TO RID THE GALAXY OF INVADING KLINGONS.  THE PROGRAM PROMPTS THE 
 OPERATOR FOR THE MINIMUM AND MAXIMUM NUMBER OF KLINGONS AND THEN 
 DESIGNS A SCENARIO -- THE NUMBER OF KLINGONS YOU MUST DESTROY ON A 
 GIVEN NUMBER OF STARDATES.  THE COMPUTER MAINTAINS A DISPLAY OF THE
 KLINGONS, THEIR LOCATIONS, AND THE STAR BASES, AND THEIR LOCATIONS.
 THE PROGRAM MAKES USE OF A RANDOM NUMBER GENERATOR TO CREATE A TRUCE,
 STORMS, DAMAGE, AND THE LOCATIONS OF STARS, KLINGONS, STAR BASES, AND
 THE STARSHIP ENTERPRISE. 
  
    IF ANY KLINGONS REMAIN AFTER THE ALOTTED NUMBER OF STARDATES, 
 OR IF THE ENTEPRISE RUNS OUT OF FUEL, YOU WILL HAVE LOST, AND THE
 COMPUTER WILL DISPLAY AN APPROPRIATE MESSAGE.  IF YOU WIN (YOU HAVE
 DESTROYED THE KLINGONS), THE COMPUTER WILL GIVE AN UNBIASED SCORE
 ON YOUR PERFORMANCE AS CAPTAIN OF THE STARSHIP ENTERPRISE. 
  
    OPTIONS AVAILABLE TO THE OPERATOR INCLUDE:
  
         (1)  THE ABILITY TO WARP TO A SECTOR OR QUADRANT 
         (2)  FIRE TORPEDOES TO A SECTOR LOCATION 
         (3)  FIRE PHASERS WITHIN A QUADRANT
         (4)  INVOKE AN AIMING AID
         (5)  REPAIR DAMAGE 
         (6)  MISCELLANEOUS MAINTENANCE FUNCTIONS 
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (2)
  
  
  
 3.0  ENVIRONMENT DESCRIPTION 
      ----------------------- 
  
 3.1  SUPPORTED SOFTWARE REQUIREMENTS - OPERATING SYSTEM
      --------------------------------------------------
  
      [ ]  DOS-M          [ ]  SIO SYSTEM 
      [ ]  BCS            [ ]  HP BASIC VERSION:
      [ ]  MTS            [ ]  SELF-CONTAINED 
      [X]  RTE            [ ]  OTHER
                                     -------------------
  
 3.2  CONTRIBUTED SOFTWARE REQUIREMENTS 
      --------------------------------- 
  
      NAME AND ORDER NUMBER OF OTHER CONTRIBUTED PACKAGES REQUIRED: 
  
         NONE 
  
 3.3  HARDWARE REQUIREMENTS 
      --------------------- 
  
         APPROXIMATELY 11K DECIMAL OF BACKGROUND CORE IS REQUIRED.
  
         ONE OF THE FOLLOWING TYPE CRT TERMINALS: 
  
             HP2600 
             HP2615 
             HP2616 (USES VIDEO CONTROL AND CURSOR ADDRESS FUNCTIONS) 
             HP2640 (IF VIDEO CONTROL FUNCTIONS AND CURSOR MOVEMENT 
                     FUNCTION CODES ARE THE SAME AS THE HP2616) 
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (3)
  
  
  
 4.0  USER PROCEDURES 
      --------------- 
  
 4.1  TAPE IDENTIFICATION 
      ------------------- 
  
      ACCOUNT FOR ALL PHYSICAL TAPES INCLUDED IN THIS PACKAGE.
  
      *************************************************************** 
      *        *             CONTENTS               *    CONTROL    * 
      *  TAPE  * PROGRAMS, TESTS, DATA, ETC., IN    *   STATEMENT   * 
      * NUMBER * ORDER, OUTSIDE TO INSIDE OF TAPE   *   (IF ANY)    * 
      *************************************************************** 
      *        *                                    *               * 
      *   1    * PROGRAM DOCUMENTATION (DUMP TO LP  *   NONE        * 
      *        * WITH RTE FMGR)                     *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *   2    * MAIN PROGRAM NAME "STAR"           *   FTN         * 
      *        *      REQ SUBROUTINES OF STAR       *               * 
      *        *      LESS ASMB ROUTINES            *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *   3    * MORE FTN4 SUBROUTINES FOR MAIN     *               * 
      *        * ASMB SUBROUTINES REQUIRED BY MAIN  *               * 
      *        *      SUBROUTINE "RAND"             *   ASMB,R      * 
      *        *      SUBROUTINE "LINK"             *   ASMB,R      * 
      *        * SEGMENT 1 PROGRAM NAME "STAR1"     *   FTN         * 
      *        *           REQ SUBROUTINES OF STAR1 *               * 
      *        * SEGMENT 2 PROGRAM NAME "STAR2"     *   FTN         * 
      *        *                                    *               * 
      *        *                                    *               * 
      *   4    * SEGMENT 3 PROGRAM NAME "STAR3"     *   FTN         * 
      *        * SEGMENT 4 PROGRAM NAME "STAR4"     *   FTN         * 
      *        *                                    *               * 
      *        *                                    *               * 
      *   5    * SEGMENT 5 PROGRAM NAME "STR5"      *   FTN         * 
      *        *           REQ SUBROUTINES OF STAR5 *               * 
      *        * SEGMENT 6 PROGRAM NAME "STAR6"     *   FTN         * 
      *        *           REQ SUBROUTINES OF STAR6 *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *        *                                    *               * 
      *************************************************************** 
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (4)
  
  
  
 4.0  USER PROCEDURES (CONT.) 
      --------------- 
  
 4.2  LOAD AND RUN INSTRUCTIONS 
      ------------------------- 
  
      (1)  COMPILE THE MAIN PROGRAM INTO THE RTE LOAD-AND-GO AREA USING 
           THE FTN4 COMPILER. 
  
      (2)  ASSEMBLE THE TWO ASMB ROUTINES INTO THE LG AREA. 
  
      (3)  COMPILE SEGMENTS 1-6 INTO THE LG AREA. 
  
      (4)  ON,LOADR,99,,,1,2 FOR AUTOMATIC SEGMENTED LOAD OF PROGRAM
           STAR AND ITS SIX SEGMENTS, STAR1 THRU STAR6. 
  
      (5)  TURNON SEQUENCE: 
  
           ON,STAR,P1,P2
  
             WHERE P1 = INPUT LU NUMBER 
                   P2 = OUTPUT LU NUMBER
  
                        IF P1 = 0, INPUT IS FROM LU NUMBER 1
                        IF P2 = 0, OUTPUT IS ON INPUT LU DEVICE 
  
      (7)  I/O IS CONVERSATIONAL WITH CRT.
  
 4.3  SUBROUTINES OR MICROPROGRAMS
      --------------------------- 
  
      N/A 
  
 4.4  DIAGNOSTIC MESSAGES OR ADDITIONAL EXITS 
      --------------------------------------
  
      NONE
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (5)
  
  
  
 5.0  LITERATURE REFERENCE
      --------------------
  
      NONE
  
  
 6.0  SPECIAL CONSIDERATIONS
      ----------------------
  
      (1) STARTREK IS CAPABLE OF I/O TO SEVERAL TYPES OF CRT
          TERMINALS.  IN RESPONSE TO "ENTER TYPE OF OUTPUT TERMINAL:", THE
          USER SHOULD RESPOND WITH: 
  
                                      00 FOR HP2600 CRT 
                                      15 FOR HP2615 MINIBEE CRT TERMINAL
                                      16 FOR HP2616 SUPERBEE CRT
  
          IF THE CONTROL CODES FOR THE HP2640 TERMINAL ARE THE SAME AS
          THOSE FOR THE HP2616 TERMINAL, THEN STARTREK WILL ALSO WORK 
          FOR THE 2640 TERMINAL.
  
      (2) THE PROGRAM WILL OUTPUT SPECIAL VIDEO CONTROL CODES AND 
          CURSOR SENSE COMMANDS FOR THE HP2616 TERMINAL WHICH INCREASE
          SPEED AND IMPROVE COSMETIC PERFORMANCE OF THE PROGRAM.
  
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (6)
  
  
  
 7.0  EXAMPLE INPUT/OUTPUT (TEST CASE)
      --------------------------------
  
 1.  TURNON:  ON TURNON, STARTREK WILL ASK FOR THE MAXIMUM AND MINIMUM
 NUMBER OF KLINGONS WHICH WILL BE DISTRIBUTED RANDOMLY THROUGHOUT 
 THE GALAXY.  THE LOWER THE MINIMUM NUMBER, THE MORE DIFFICULT THE
 GAME.  THE MAXIMUM KLINGONS IS THEORETICALLY LIMITED TO 512, BUT IS
 USUALLY ABOUT 120 T0 140.  IF THE REQUESTED MINIMUM CANNOT BE
 ACHIEVED IN THE GENERATION OF THE GALAXY, STAR WILL PROMPT WITH
 ITS BEST EFFORT AND ASK "OK?".  TO GO AHEAD, TYPE 'YES';  TO TRY 
 THE GENERATION AGAIN, TYPE 'NO'.  A GOOD REPLY FOR A CHALLENGING 
 GAME IS 10,20.  THE TYPE CRT IS REQUESTED SO THAT STARTREK CAN 
 PROPERLY FORMAT THE OUTPUT CONTROL CODES.  EACH TIME A GAME IS 
 WON OR LOST, A NEW GAME CAN BE STARTED WITHOUT TERMINATING STARTREK. 
 HOWEVER, UNLESS THE MINIMUM NUMBER OF KLINGONS WAS ENTERED AS ZERO,
 THE MAX-MIN AND TYPE CRT QUESTIONS WILL NOT BE ASKED AGAIN.
  
 2.  DISPLAY:  THE COMPUTER WILL DISPLAY AND MAINTAIN THE LONG
 RANGE (GALAXY) AND SHORT RANGE (QUADRANT) DISPLAYS.  A SAMPLE
 OF THE DISPLAY FOLLOWS:
  
  
 . . . . . . . . STARDATE   34/3110 1*   .   .   .   .   . 404   2   3
 E * . * . . . . CONDITION      RED 2*   . 205   2   3   .   8   7 106
 K . . * . . . . ENERGY        2196 3*   .   1   1   2   .   7 207 107
 . . . . . . K . TORPEDOES       10 4*   . 102 101   8   .   7 206   7
 . . . . . K . . KLINGONS    46/ 50 5*   .   .   .   . 308 305 114   7
 * . . . . . * . ----- DAMAGE ----- 6*   2   2 305   2   8   1   4   1
 . . . . . . . . SR LR WP PH TP AM  7* 308(405)  3   3   5   5 502   .
 . K . . . . . .  0  0  2  0  0  0  8* 208   2   8 104 204   .   .   .
     SR SCAN                           * * * * * * * * * * * * * * * *
                                         1   2   3   4   5   6   7   8
  
    QUADRANT           STATUS                       GALAXY
    <<<<<<<<<<<<<<< CRT DISPLAY >>>>>>>>>>>>>>>>>>>>>>>>>>
  
  
     (A)  GALAXY (LONG RANGE) DISPLAY:  THE RIGHT ARRAY OF THE ABOVE
 DISPLAY IS CALLED THE GALAXY AND IS AN 8X8 ARRAY OF QUADRANTS. 
 ENTRIES IN THE GALAXY ARE MAPPED BY THE "LONG RANGE SCANNER" (LR)
 AS THE ENTERPRISE "WARPS" THROUGH THE GALAXY.  EACH QUADRANT IN THIS 
 DISPLAY CONTAINS UP TO THREE DIGITS REPRESENTED BY 'KBS', WHERE: 
  
           K = NUMBER OF KLINGONS IN QUADRANT 
           B = NUMBER OF STAR BASES IN QUADRANT 
           S = NUMBER OF STARS IN QUADRANT
  
 THE QUADRANT CONTAINING THE ENTERPRISE IS SHOWN WITHIN PARENTHESES.
 IF A QUADRANT CONTAINS A DECIMAL POINT, THEN ITS CONTENTS ARE NOT
 KNOWN TO THE ENTERPRISE.  AS THE ENTERPRISE ENTERS A QUADRANT, 
 THE CONTENTS OF THAT QUADRANT ARE DISPLAYED IN THE LEFT ARRAY
 OF THE DISPLAY.  AT THE SAME TIME, IF THE LONG RANGE SCANNER IS
 OPERATIONAL, THE CONTENTS OF ADJACENT QUADRANTS WILL BE MAPPED IN
 THE GALAXY (RIGHTHAND) DISPLAY.
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (7)
  
  
  
     (B)  QUADRANT (SHORT RANGE) DISPLAY:  THE SHORT RANGE SCANNER
 MAINTAINS THE LEFT (QUADRANT) DISPLAY.  THIS DISPLAY CONSISTS
 OF AN 8X8 ARRAY OF SECTORS.  EACH SECTOR CAN CONTAIN EITHER A
 KLINGON (REPRESENTED BY 'K'), A STAR BASE (REPRESENTED BY 'B'),
 A STAR (REPRESENTED BY '*'), OR THE STARSHIP ENTERPRISE (REPRESENTED 
 BY 'E').  A QUADRANT MAY CONTAIN A MAXIMUM OF EIGHT STARS, EIGHT 
 KLINGONS, ONE STAR BASE, AND ONE ENTERPRISE.  ON THE OTHER HAND, 
 A MINIMUM OF ONE STAR, NO KLINGONS, AND NO STAR BASES MAY BY PRESENT 
 IN EACH QUADRANT.
  
 3.  STATUS:  THE STATUS DISPLAY IS GIVEN IN THE CENTER OF THE
 SCREEN AND CONTAINS INFORMATION NECESSARY TO INSURE INTELLIGENT
 DECISIONS BY THE OPERATOR CONCERNING GAME STRATEGY.
  
     (A)  STARDATE:  THE STARDATE STATUS INDICATES THE REMAINING
 NUMBER OF STARDATES AVAILABLE FOR POSITIONING OF THE ENTERPRISE. 
 EACH TIME THE ENTERPRISE IS MOVED, A STARDATE WILL BE CONSUMED.
  
     (B)  CONDITION:  THE CONDITION IS GREEN IF THERE ARE NO KLINGONS 
 IN THE QUADRANT WITH THE ENTERPRISE AND IF THE REMAINING ENERGY IS 
 GREATER THAN 300 UNITS.  THE CONDITION IS YELLOW WHEN THERE ARE NO 
 KLINGONS IN THE QUADRANT AND THE ENERGY IS LESS THAN OR EQUAL TO 
 300 UNITS. THE CONDITION IS RED IF THERE ARE ANY KLINGONS IN THE 
 QUADRANT CONTAINING THE ENTERPRISE.  FINALLY, THE CONDITION IS DOCKED
 WHEN THE ENTERPRISE IS ADJACENT TO A SECTOR WHICH CONTAINS A STAR BASE.
  
     (C)  TORPEDOES:  THE NUMBER OF TORPEDOES LEFT FOR AGGRESSIVE 
 OPERATIONS ARE DISPLAYED HERE.  AT START, AND WHEN DOCKED, THE NUMBER
 OF TORPEDOES IS RESET TO TEN.
  
     (D)  ENERGY:  THE ENERGY IS AN INDICATION OF THE FUEL WHICH IS 
 LEFT FOR OPERATION OF THE ENTERPRISE.  AT THE START OF THE GAME, 
 AND WHEN DOCKED WITH A STAR BASE, THE ENERGY IS RESET TO 3000 UNITS. 
  
     (E)  KLINGONS:  THE NUMBER OF BAD GUYS LEFT AND THE NUMBER WHICH 
 EXISTED AT THE START OF THE GAME ARE DISPLAYED HERE. 
  
     (F)  DAMAGE REPORT:  THE DAMAGE CONTROL SYSTEM MAINTAINS A DISPLAY 
 OF THE CONDITION OF THE FOLLOWING SYSTEMS: 
  
                    SHORT RANGE SCANNER        SR 
                    LONG RANGE SCANNER         LR 
                    WARP DRIVE                 WP 
                    PHASER FIRE CONTROL        PH 
                    TORPEDO LAUNCHERS          TP 
                    AIM AID SYSTEM             AM 
  
 IF A SYSTEM IS UP, THE NUMBER BELOW THE SYSTEM LETTERS ON THE DISPLAY
 WILL BE 0.  DAMAGE IS CAUSED BY A STORM DURING A WARP. IF THE DAMAGE 
 CONTROL SYSTEM IS DAMAGED, THEN THE NUMBERS BELOW THE SYSTEM LETTERS 
 WILL CHANGE TO STARS ('**').  THE OPERATOR THEN HAS NO MEANS OF
 DETERMINING WHAT, IF ANYTHING, IS DAMAGED UNTIL HE TRYS TO USE A 
 SYSTEM.  FURTHERMORE, THE DAMAGE CONTROL SYSTEM IS NOT AVAILABLE TO
 FIX ANY OTHER SYSTEMS WHICH MAY BE DAMAGED.  AS A RESULT OF EACH 
 WARP, ALL SYSTEMS RECEIVE ONE UNIT OF REPAIR.
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (8)
  
  
  
 4.  COMMANDS:  TEN BASIC COMMANDS ARE AVAILABLE TO EFFECT CONTROL OF 
 THE ENTERPRISE:
  
     (A)  INVOKE AIMING AID.  THE AIMING AID ALLOWS THE OPERATOR TO 
 OBTAIN THE AIM FOR WARP, PHASER FIRE, AND TORPEDO FIRE.  HE CAN ALSO 
 OBTAIN INFORMATION CONCERNING EXPECTED HITS FROM KLINGONS, REQUIRED
 ENERGY FOR PHASER KILLS, AND ENERGY REQUIREMENTS FOR WARPS.  FROM THE
 OPERATOR'S POINT OF VIEW, STARTING WITH ZERO DEGREES FOR A DIRECTION 
 TO THE RIGHT FROM THE ENTERPRISE AND MOVING IN A COUNTERCLOCKWISE
 DIRECTION, AN AIM OF ONE IS 0 DEG., TWO IS 45 DEG., THREE IS 90 DEG. (UP), 
 FIVE IS 180 DEG. (DUE LEFT), SEVEN IS 270 DEG. (DOWN), ETC.  FOR EXAMPLE,
 AN AIM OF 4.5 WOULD BE IN A DIRECTION OF 22 AND ONE HALF DEGREES 
 UP FROM DUE LEFT OF THE ENTERPRISE.  AIMS FROM ONE TO NINE ARE ALLOWED.
 THE "CO-ORDS" PROMPT IS ANSWERED WITH THE APPROPRIATE QUADRANT OR
 GALAXY COORDINATES.  THE PROMPT "CODE?", IF ANSWERED WITH 'C', WILL
 CAUSE A DISPLAY OF ACCEPTABLE AIM COMMANDS.
  
     (B)  WARP:  TO WARP IS TO MOVE THE ENTERPRISE.  IN THE GALAXY
 DISPLAY, MOVEMENT IS ONE WARP PER QUADRANT.  IN THE QUADRANT DISPLAY,
 MOVEMENT IS 0.125 WARP PER SECTOR.  IF THE WARP DRIVE IS DAMAGED 
 (DOWN), AN ATTEMPT TO WARP WILL RESULT IN A MOVEMENT EQUIVALENT
 TO 0.2 WARP (IMPULSE POWER IS USED).  WARP CAN BE BY AIM (WARP), 
 SECTOR (WARP TO SECTOR), AND QUADRANT (WARP TO QUADRANT).  IF THE
 AIM AID IS DOWN (DAMAGED), ONLY THE WARP COMMAND IS ACCEPTED.
 SECTOR AND QUADRANT WARPS PROMPT THE OPERATOR FOR COORDINATES. 
 CORRECT COORDINATES ENTRIES ARE ROW FOLLOWED BY COLUMN.  FOR EXAMPLE,
 A WARP TO QUADRANT COMMAND WILL PROMPT "CO-ORDS?".  AN ENTRY OF 2,4
 WILL CAUSE THE ENTERPRISE TO WARP TO THE ROW 2 AND COLUMN 4
 QUADRANT IN THE GALAXY DISPLAY.  THIS QUADRANT WILL THEN BE MAPPED 
 BY THE SHORT RANGE SCANNER IN THE QUADRANT DISPLAY.  AN ATTEMPT
 TO WARP THROUGH A STAR, A STAR BASE, OR A KLINGON WILL RESULT IN 
 A BLOCKED MESSAGE AND THE APPROPRIATE PENALTIES.  WARPS MAY VARY 
 FROM 0.125 (ONE SECTOR) TO TEN, AND THE REQUIRED WARP ENERGY IS
 EQUAL TO [16 TIMES WARP] ENERGY UNITS. 
  
         (1)  STORMS:  STORMS CAN OCCUR ONLY DURING WARPS AND RESULT
 IN DAMAGE TO ONE OF THE ENTERPRISE SYSTEMS (SEE DAMAGE REPORT).
  
         (2)  TRUCE:  A TRUCE CAN OCCURR ONLY DURING A WARP.  A TRUCE 
 RESULTS IN THE TOTAL OR PARTIAL REPAIR OF SOMETHING THAT IS DAMAGED. 
 IF NOTHING IS DAMAGED, NOTHING IS REPAIRED.
  
     (C)  PHASER FIRE:  PHASERS CAN DESTROY SOME OR ALL OF THE
 KLINGONS IN A QUADRANT WITH ONE SHOT.  STARS AND STAR BASES ARE
 UNAFFECTED BY PHASER FIRE.  A PHASER COMMAND CAUSES THE PROMPT OF
 "FIRE?", FOR WHICH THE CORRECT REPLY IS THE AMOUNT OF ENERGY WHICH 
 IS TO BE EXPENDED IN THE PHASER ATTACK.  THE AIM AID (SEE AIM AID
 COMMAND)  CAN HELP IN DETERMINING THE REQUIRED PHASER ENERGY FOR A 
 COMPLETE KILL OF ALL KLINGONS IN THE QUADRANT.  AN APPROPRIATE STATUS
 DISPLAY FOLLOWS THE PHASER FIRE. 
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (9)
  
  
  
     (D)  TORPEDO FIRE:  TORPEDOS CAN BE FIRED BY AIM OR BY SECTOR
 COORDINATES (REQUIRES AIM AID SYSTEM FOR FOR FIRE TO COORDINATES). 
 TORPEDO FIRE CAN DESTROY ONE TARGET AT A TIME AND WILL DESTROY 
 KLINGONS, STARS, AND EVEN STAR BASES AND THE ENTERPRISE ITSELF.
 TORPEDOS DO NOT USE ENTERPRISE ENERGY SINCE THEY ARE SELF PROPELLED. 
 THEY ARE SOMETIMES USEFUL IN DESTROYING STARS WHICH WOULD OTHERWISE
 BLOCK THE MOVEMENT OF THE ENTERPRISE DURING WARP (SEE WARP). 
 TORPEDOS ARE REPLENISHED TO 10 WHEN THE ENTERPRISE IS DOCKED WITH
 A STAR BASE. 
  
     (E)  REPAIRS:  REPAIRS ON DAMAGED SYSTEMS ARE EFFECTED USING 
 THIS COMMAND.  THE OPERATOR IS PROMPTED WITH "REPAIR?", FOR WHICH
 A REPLY OF THE APPROPRIATE TWO LETTER SYSTEM CODE IS REQUIRED (SEE 
 DAMAGE REPORT).  A REPLY OF 'C' WILL CAUSE THE PRINTOUT OF THE 
 ACCEPTABLE REPAIR CODES.  EACH UNIT OF DAMAGE REQUIRES 200 UNITS 
 OF ENERGY TO REPAIR.  REPAIRS CANNOT BE ACCOMPLISHED DURING RED
 ALERT. EACH TIME A WARP IS MADE, ALL DAMAGED SYSTEMS RECEIVE ONE 
 UNIT OF REPAIR AS A RESULT OF THE WARP.
  
     (F)  EXECUTE:  THE COMMAND 'EXEC' IS USED TO FOLLOW UP THE AIM 
 AID REQUEST IN THAT IT CAUSES THE EXECUTION OF THE LAST AIM AID. 
 IF A COURSE TO SECTOR (S), COURSE TO QUADRANT (Q), OR TORPEDO AIM
 TO SECTOR (T) REQUEST WAS MADE IN THE AIM AID MODE, THE EXEC REPLY 
 TO "COMMAND?" WILL EXECUTE THE TORPEDO FIRE OR WARP.  OF COURSE, 
 IF THE AIM AID IS DOWN, THE EXEC COMMAND IS MEANINGLESS.  NOTE THAT
 THE EXECUTION OF PHASER AIM AIDS IS NOT POSSIBLE SINCE THE REQUIRED
 PHASE ENERGY VARIES AND IS NOT PRECISELY DETERMINED. 
  
     (F)  CANCEL COMMAND:  ANY QUESTION REQUIRING NUMERICAL INPUT 
 CAN BE CANCELED BY ENTERING A NEGATIVE NUMBER.  QUESTIONS EXPECTING
 ALPHABETIC CHARACTER INPUT ARE CANCELED WITH A REPLY OF '-' (DASH).
  
     (H)  COM:  IF 'COM' IS TYPED IN RESPONSE TO "COMMAND?", A
 PRINTOUT OF ALL ACCEPTABLE STARTREK COMMANDS WILL BE MADE. 
  
 5.  ATTACKS:  WHEN THE ENTERPRISE ENTERS A QUADRANT WITH KLINGONS, 
 THE ENEMY GETS FIRST SHOT.  THE ENTERPRISE CANNOT BE DESTROYED 
 BY ENEMY ATTACKS UNLESS THE ENERGY LEVEL IS FORCED LESS THAN ZERO
 UNITS.  THE CLOSER THE KLINGONS ARE TO THE ENTERPRISE, THE MORE
 ENERGY THAT WILL BE DRAINED BY THE SHIELDS IN WARDING OFF THE ATTACK.
 KLINGONS WILL ATTACK AGAIN AFTER THE NEXT WARP, TORPEDO, OR PHASER 
 ACTION UNLESS THEY ARE DESTROYED BY THAT ACTION. 
  
 6.  LOSE:  THE OPERATOR (CAPT KIRK) LOSES WHEN HE ATTEMPTS TO WARP 
 WITH NO STARDATES LEFT OR WHEN THE ENERGY LEVEL GOES BELOW ZERO UNITS. 
  
 7.  WIN:  THE OPERATOR WINS WHEN ALL KLINGONS ARE DESTROYED.  THE
 COMPUTER CALCULATES A SCORE BASED ON THE MINIMUM STARDATES REQUIRED
 TO WIN, THE NUMBER OF STARDATES LEFT, THE NUMBER OF TORPEDOS LEFT, 
 AND THE AMOUNT OF ENERGY LEFT.  SCORES RANGE FROM ZERO TO 1000.
1 
              CONTRIBUTED PROGRAM DOCUMENTATION FORM   (10) 
  
  
  
 8.  MISCELLANEOUS:  THE FOLLOWING NOTES MAY BE OF INTEREST:
  
     (A)  THE NUMBER OF KLINGONS PER QUADRANT IS NOT DEPENDANT ON 
 THE MINIMUM AND MAXIMUM NUMBER ENTERED AT THE BEGINNING OF THE 
 GAME.  IF KLINGONS ARE TO BE ASSIGNED TO A QUADRANT, THE CHANCES 
 ARE ONE IN THREE (1:3) THAT THERE WILL BE ONE KLINGON AND RISES
 EXPONENTIALLY FROM THERE.  THE CHANCES FOR TWO KLINGONS ARE 1:6
 3 RATES 1:17; 4-1:45; 5-1:127; 6-1:340; 7-1:965; 8-1:2500.  THE
 DISTRIBUTION OF QUADRANTS CONTAINING KLINGONS IS COMPLETELY RANDOM.
  
     (B)  THERE WILL ALWAYS BE AT LEAST ONE BASE IN THE GALAXY. 
 THE CHANCES OF HAVING ADDITIONAL BASES ARE ONE IN 25 FOR EACH
 QUADRANT WHICH IS CONSIDERED FOR ASSIGNMENT OF KLINGONS. 
  
     (C)  THE MEAN DISTRIBUTION OF STARS IN A QUADRANT IS FOUR. 
 EVERY QUADRANT WILL HAVE ONE STAR (OR STAR BASE) MINIMUM.
  
     (D)  THE CHANCE OF A STORM (DAMAGE) DURING A WARP IS ONE 
 IN EIGHT.  THE MEAN DAMAGE LEVEL IS 2.5.  THE CHANCE OF A TRUCE
 (REPAIR) DURING WARP IS ONE IN EIGHT.  STORMS ARE EXCLUSIVE OF 
 TRUCES (ONLY ONE CAN HAPPEN AT A TIME).  THE MEAN LEVEL OF REPAIR
 IS ALSO 2.5. 
  
     (E)  THE LEVEL OF KLINGON ATTACK IS RANDOMLY RELATED TO THE
 PRODUCT OF OF THE DISTANCE TO THE KLINGON AND THE ENERGY 
 REMAINING TO THE KLINGON.  THE THEORETICAL MAXIMUM SUSTAINED 
 KLINGON ATTACK AT ONE SECTOR DISTANCE IS 600 ENERGY UNITS.  THE MEAN 
 ONE SECTOR HIT LEVEL IS 500. 
  
     (F)  EXITING AND REENTERING A QUADRANT WILL RESULT IN A NEW, 
 TOTALLY RANDOM DISTRIBUTION OF STARS, KLINGONS, BASES, AND THE 
 ENTERPRISE WITHIN THAT SECTOR.  EXITING A QUADRANT WITH KLINGONS 
 WILL RESULT IN A HIT FROM THE ENEMY.  IN ESSENCE, KLINGONS GET TO
 ATTACK BEFORE AND AFTER ALL WARP COMMANDS AND AFTER ALL PHASER AND 
 TORPEDO COMMANDS (IF ANY ARE LEFT AFTERWARDS).  IF THE ENTERPRISE
 IS BLOCKED ON A WARP,  IT WILL GET DOUBLY BOMBED BY THE BAD GUYS.
  
 9.  WINNING STARTREK REQUIRES A SHREWD COMBINATION OF SKILL, JUDGEMENT,
 AND LUCK.  THE DIFFICULTY OF THE GAME IS RELATED TO THE MINIMUM
 AND MAXIMUM NUMBER OF KLINGONS ENTERED AT THE BEGINNING OF 
 THE GAME.  IF YOU GET A SCORE OF 999, YOU ARE EXTREMELY LUCKY; 
 IF YOU GET A SCORE OF ZERO, YOU ARE MOST UNFORTUNATE AND/OR
 CARELESS.
1 
              HEWLETT-PACKARD SOFTWARE CENTER 
               CONTRIBUTED PROGRAM DISCLAIMER 
  
  
  
   [X]  INITIAL SUBMISSION          [ ] REVISION (PROGRAM NO.        )
  
   903  CLASSIFICATION CODE             [ ]  ERRORS CORRECTED 
  ------
        UP TO 4 CROSS REFERENCE WORDS   [ ]  DOCUMENTATION CLARIFIED
  
        1.  GAMES     2.  RTE           [ ]  OTHER REASON 
          ----------    ----------                       -----------
  
        3.            4.
          ----------    ----------           -----------------------
  
  
 TITLE:              STAR - STARTREK STAR VERSION D 
  
 CONTRIBUTOR'S NAME: JAMES M. LIND (CAPT) 
  
 ORGANIZATION:       UNITED STATES AIR FORCE
  
 ADDRESS:            BLDG. 1265 (GDLI)
                     HOLLOMAN AFB, NM     88330 
  
 TELEPHONE:          (505) 679-2151 
  
  
 NAME AND ORGANIZATION TO APPEAR IN CATALOG?   [X] YES   [ ] NO 
  
 MAY A USER CONTACT YOU DIRECTLY?              [X] YES   [ ] NO 
  
  
 MATERIAL SUBMITTED 
  
 [X]  DOCUMENTATION     [X]  SOURCE PROGRAM     [ ] TEST CASE 
  
 [ ]  OTHER 
           -------------------- 
  
  
  
 DISCLAIMER:
  
      TO THE BEST OF MY KNOWLEDGE, THIS CONTRIBUTED PROGRAM IS FREE OF
 ANY PROPRIETARY INFORMATION BELONGING TO ANY PERSON OR ORGANIZATION. 
 I AM MAKING THIS PROGRAM INFORMATION AVAILABLE TO THE HEWLETT- 
 PACKARD SOFTWARE CENTER.  I HEREBY AGREE THAT HP MAY REPRODUCE,
 PUBLISH, AND USE IT, AND AUTHORIZE OTHERS TO DO SO WITHOUT OBLIGATIONS 
 OR LIABILITY OF ANY KIND.
  
  
              JAMES M. LIND                       11 NOVEMBER 1974
 ----------------------------------------     ----------------------- 
               (SIGNATURE)                             (DATE) 
 
--------------------

Notes by WTN... assembly files separated out for separate compiling,
RE them in after loading the main star section. Minor mod made to
star1.ftn to fix an apparent variable labeling bug.
