home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / FORTRAN / TIDY621.ZIP / TIDY.FOR < prev    next >
Encoding:
Text File  |  1990-09-26  |  148.2 KB  |  1,944 lines

  1.       PROGRAM TIDY
  2. C
  3. C     ==================================================================
  4. C     *                                                                *
  5. C     *                    * * *   T I D Y   * * *                     *
  6. C     *                                                                *
  7. C     *      A FORTRAN PROGRAM TO RENUMBER AND OTHERWISE CLEAN UP      *
  8. C     *             OLD AND TIRED FORTRAN SOURCE PROGRAMS.             *
  9. C     *                                                                *
  10. C     *                   IN ADDITION TO RENUMBERING,                  *
  11. C     *             TIDY PROVIDES A LIMITED SET OF FORTRAN             *
  12. C     *                          DIAGNOSTICS.                          *
  13. C     *                                                                *
  14. C     *                 ANSI FORTRAN  (ANSI X3.9-1978)                 *
  15. C     *                                                                *
  16. C     *                                                                *
  17. C     *       CONVERTED TO IBM (RYAN-McFARLAND) PROFESSIONAL FORTRAN   *
  18. C     *       BY AL STANGENBERGER, DEPT. OF FORESTRY, U.C. BERKELEY    *
  19. C     *       THIS VERSION IS DATED SEPTEMBER 1990                     *
  20. C     *                                                                *
  21. C     ==================================================================
  22. C
  23. C      Copyright (C) 1989, The Regents of the University of California
  24. C                          All Rights Reserved
  25. C
  26. C      THE REGENTS OF THE UNIVERSITY OF CALIFORNIA MAKE NO REPRESENTA-
  27. C      TION OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND
  28. C      SPECIFICALLY DISCLAIM ANY IMPLIED WARRANTIES OF MERCHANTABILITY
  29. C      OR FITNESS FOR ANY PARTICULAR PURPOSE.
  30. C
  31. C      Further, the Regents of the University of California reserve the
  32. C      right to revise this software and/or documentation and to make
  33. C      changes from time to time in the content hereof without obliga-
  34. C      tion of the Regents of the University of California to notify
  35. C      any person of such revision or change.
  36. C
  37. C      PERMISSION TO COPY AND DISTRIBUTE THIS PROGRAM, AND TO MAKE
  38. C      DERIVATIVE WORKS HEREFROM, IS GRANTED PROVIDED THAT THIS COPY-
  39. C      RIGHT NOTICE IS RETAINED IN ALL SOURCE CODE AND USER MANUALS.
  40. C
  41. C     ==================================================================
  42. C     *                                                                *
  43. C     *                   **************************                   *
  44. C     *                  *         PROGRAM          *                  *
  45. C     *                 *     AND SUBROUTINES BY     *                 *
  46. C     *                *        HARRY M MURPHY        *                *
  47. C     *               *  AIR FORCE WEAPONS LABORATORY  *               *
  48. C     *                *   KIRTLAND AIR FORCE BASE    *                *
  49. C     *                 *         NEW MEXICO         *                 *
  50. C     *                  *         1 9 6 6          *                  *
  51. C     *                   **************************                   *
  52. C     *                                                                *
  53. C     *       TIDY ACCEPTS ASA FORTRAN WITH 19 CONTINUATION CARDS      *
  54. C     *     AS WELL AS SOME IBM AND CDC DIALECT FORTRAN STATEMENTS     *
  55. C     *                                                                *
  56. C     *       THIS VERSION MODIFIED FOR USE AT LRL BERKELEY BY         *
  57. C     *       GERRY TOOL (1967). (STILL CDC/6600)                      *
  58. C     *                                                                *
  59. C     *      THIS PROGRAM HAS BEEN REVISED FOR IBM 360/67 BY ALICE     *
  60. C     *      V BARLOW, NASA AMES, SUMMER 1972                          *
  61. C     *                                                                *
  62. C     *       ADDITIONS AND REWORKING BY ROGER CHAFFEE, LRL BERKELEY   *
  63. C     *       AND SLAC COMPUTATIONS RESEARCH GROUP, 1968-1982          *
  64. C     ==================================================================
  65. C
  66. C
  67. C  INPUT/OUTPUT
  68. C     FUNCTION          FORTRAN UNIT   CURRENT VALUE
  69. C      CONSOLE OUTPUT     STDERR            0
  70. C      CONSOLE INPUT      STDIN             0  (5 for UNIX systems)
  71. C      CONTROL CARD       USRFIL            3
  72. C      INPUT              INFILE            4
  73. C      LIST OUTPUT        OUTFIL            6
  74. C      CARD OUTPUT        PUNFIL            8
  75. C      SCRATCH(NORMAL)    SCFIL1            1
  76. C      SCRATCH(FORMATS)   SCFIL2            2
  77. C
  78. C     *****************************************************************
  79. C     I N S T A L L A T I O N   N O T E S
  80. C
  81. C     1.  INCLUDE statements are used to incorporate common block
  82. C         definitions into most subroutines.  Check syntax as these
  83. C         statements are system-dependent.
  84. C
  85. C
  86. C     2.  CHARACTER SET SPECIFICITY - function KUPPER must be modified
  87. C         (by changing a PARAMETER statement) if the system is using
  88. C         a character set other than ASCII.  The proper EBCDIC values
  89. C         are included as a comment statement.
  90. C
  91. C         ALSO, the code for horizontal tab differs in EBCDIC and ASCII.
  92. C         This value is set (KTAB) in this routine. Fix as needed.
  93. C
  94. C     3.  Interactive file opening:  Subroutine PCTIDY interactively
  95. C         opens all data and scratch files by calling subroutine OPFIL.
  96. C         This routine was written for the IBM (Ryan-McFarland)
  97. C         Professional Fortran compiler, and may not work with other
  98. C         compilers (it does work with f77 on 4.3 BSD UNIX).
  99. C
  100. C         Subroutine OPFIL uses function DOSDEV to determine if a file
  101. C         name is that of a MS-DOS reserved device.  Non MS-DOS systems
  102. C         should delete the call to DOSDEV in subroutine OPFIL.
  103. C
  104. C         The entire interactive part of the program can be deleted
  105. C         if not appropriate for your operating system.
  106. C         Delete the call to PCTIDY below, and also delete subroutines
  107. C         PCTIDY, OPFIL, and DOSDEV.
  108. C
  109. C         Aside from these factors, the rest of the program is
  110. C         fairly standard Fortran-77.
  111. C
  112. C
  113. C     NOTES:
  114. C
  115. C     IN SUBROUTINE HOLSCN, HOLLERITH CHARACTERS ARE CHANGED
  116. C     SO THEY WON-T BE RECOGNIZED BY ANY OTHER TEST BY
  117. C     CHANGING SECOND CHARACTER TO '@'
  118. C
  119. C     SUBROUTINES HOLSCN AND CONTRL INVOKE FUNCTION KUPPER TO CONVERT
  120. C     LOWER-CASE ALPHABETIC CHARACTERS TO UPPER CASE (EXCEPT FOR
  121. C     HOLLERITH STRINGS).  *** KUPPER IS CHARACTER-SET DEPENDENT ***
  122. C
  123. C     THE CHARACTER $ IS TREATED AS AN ALPHA IN IBM FORTRAN.
  124. C     THE DATA STATEMENT FOR THE SPECIAL CHARACTERS, KSPK, HAS
  125. C     BEEN CHANGED SO THAT $ IS NOT RECOGNIZED AS A SPECIAL
  126. C     CHARACTER.  THIS DATA STATEMENT SHOULD BE CHANGED BACK
  127. C     ON NON-IBM SYSTEMS.
  128. C
  129. C     SUBROUTINE REDSTR IS SET UP TO ACCOMMODATE AN APPARENT BUG
  130. C     IN THE RYAN-MCFARLAND PROFESSIONAL FORTRAN COMPILER, THAT
  131. C     UNFORMATTED SEQUENTIAL RECORDS SEEM TO BE LIMITED TO 1024 BYTES.
  132. C     SINCE EACH RECORD HAS A 4-BYTE HEADER AND TRAILER, WRITES 508
  133. C     CHARACTER*2 ELEMENTS, OR 254 INTEGER*4 PER RECORD.  THIS MAY
  134. C     VARY FOR OTHER COMPILERS.
  135. C
  136. C
  137. C  INTERNAL FLAGS (JUST A LIST.  WHERE ELSE TO PUT IT...)
  138. C     MANSI =  0 FLAG ALL NON-ANSI (FORTRAN-77) STATEMENTS
  139. C           =  1 DO NOT FLAG NON-ANSI STATEMENTS
  140. C     MP2   =  1 DO PASS2
  141. C           =  0 NO PASS 2
  142. C     MCOL  = -1 COLLECT FORMAT STATEMENTS AT END
  143. C           =  0 LEAVE THEM IN PLACE
  144. C     MILDO = -1 IF DO-TERMINATOR ALLOWED BUT NON-STANDARD
  145. C           =  0 IF DO-TERMINATOR ALLOWED
  146. C           = +1 IF DO-TERMINATOR FORBIDDEN
  147. C     MCONT =  0 REMOVE CONTINUE CARDS AND DOUBLE BRANCHES
  148. C           =  1 LEAVE THEM
  149. C     MTRAN = -1 CURRENT CARD IS AN UNCONDITIONAL BRANCH
  150. C           =  0 CURRENT CARD NOT NECESSARILY A BRANCH
  151. C     NTRAN =    SAME AS MTRAN, BUT REFERS TO PREVIOUS CARD
  152. C     MLGC  = -1 NORMAL STATEMENT
  153. C           =  0 STATEMENT IS CONTROLLED BY A LOGICAL IF
  154. C     MRIT  =  N LEFT ADJUST TO COLUMN N
  155. C           = -N RIGHT ADJUST TO COLUMN N
  156. C     MDEB  =  0 *NODEBUG
  157. C           =  1 *DEBUG
  158. C     KD15  =    STATEMENT INCREMENT (*STAT=...)
  159. C     KB15  =    STATEMENT BASE (*BASE=...)
  160. C     MPUN  =  0 NO PUNCH OUTPUT
  161. C           =  1 MAKE PUNCH OUTPUT
  162. C     KPUN       SAVES *CARD/*NOCARD (1/0) FOR MPUN VALUE
  163. C     MLIST = -1 (*LIST) LIST PASS 1
  164. C           =  0 (*NOLIST) DONT
  165. C     KPRIN =  1 (*LIST=2) LIST PASS 2
  166. C           =  0 (*NOLIST=2) DONT
  167. C     MPRIN =    KPRIN AT START OF ROUTINE. MAY CHANGE IF ERROR
  168. C                  AT START OF PASS1.
  169. C     KOUNT      COUNTS CARDS IN FOR CURRENT ROUTINE.
  170. C     IQUIT =  0 UNTIL INPUT ENDFILE IS FOUND IN READER.
  171. C           =  1 THEREAFTER
  172. C     MSTOP =  0 NORMALLY
  173. C           = -1 FOR *STOP CARD FOUND--TIME TO FINISH UP
  174. C           =  1 FOR STOP NOW.
  175. C
  176. C
  177. C     ******************************************************************
  178. C
  179.       INCLUDE 'TIDY.INC'
  180.       INCLUDE 'UNITS.INC'
  181.       LOGICAL DOUSER,SCDISK
  182.       COMMON/TDYVER/VERNUM
  183.       CHARACTER*25 VERNUM
  184. C
  185.       DOUSER=.TRUE.
  186. C
  187. C     SCDISK .TRUE. ALLOWS USER TO SPECIFY DISK TO HOLD SCRATCH FILES.
  188. C          FOR UNIX SYSTEMS, SHOULD SET TO .FALSE.
  189.       SCDISK=.TRUE.
  190. C
  191. C     VALUE FOR TAB AS ASCII
  192.       KTAB = KBL
  193.       KTAB(1:1)=CHAR(9)
  194. C     VALUE FOR TAB AS EBCDIC
  195. C     KTAB(1:1)=CHAR(5)
  196. C
  197. C     FOR NON-INTERACTIVE USE, DELETE CALL TO PCTIDY
  198.       CALL PCTIDY (DOUSER,SCDISK)
  199. C
  200. C     INITIALIZE PROGRAM
  201.       CALL INITDY
  202. C     ADJUST ROUTINE NUMBER - PASS1 WILL INCREMENT IT.
  203.       NROUT = NROUT-1
  204. C
  205. C     PROCESS USER CONTROL CARD FILE.
  206.       IF (DOUSER) CALL USRCON
  207. C
  208.       CALL READER
  209.  10   CALL PASS1
  210.       IF (MSTOP.NE.0) THEN
  211.          IF (MSTOP.GT.0) GO TO 20
  212.          IF (KOUNT.LE.0) GO TO 20
  213.       ENDIF
  214.       CALL EDIT
  215.       IF (MP2.EQ.0) GO TO 10
  216.       IF (MREF.NE.0) CALL RDIR
  217.       CALL PASS2
  218.       IF (MSTOP.EQ.0) GO TO 10
  219. C                            ALL DONE
  220.  20   CALL IOSY11
  221.       CALL IOSY21
  222.       IF (NMSG.GT.0) THEN
  223.             WRITE (OUTFIL,60) NMSG
  224.       ELSE
  225.             WRITE (OUTFIL,70)
  226.       ENDIF
  227.       WRITE (OUTFIL,80) NPUN, VERNUM
  228.       LEVEL = LERR
  229.       IF (LEVEL.GE.2) STOP 8
  230.       IF (LEVEL.EQ.1) STOP 4
  231.       IF (MDEB.EQ.0) THEN
  232.            CLOSE (SCFIL1,STATUS='DELETE')
  233.            CLOSE (SCFIL2,STATUS='DELETE')
  234.       END IF
  235.       STOP
  236. C
  237.  60   FORMAT ( '0W A R N I N G .',I5,  ' DIAGNOSTIC MESSAGES HAVE BEEN G
  238.      1ENERATED IN THIS TIDY RUN.')
  239.  70   FORMAT (  '0NO DIAGNOSTIC MESSAGES WERE GENERATED DURING THIS TIDY
  240.      1 RUN.')
  241.  80   FORMAT ('0',I5, ' CARDS WERE PUNCHED.'/  '0',A/'1')
  242.       END
  243.       BLOCK DATA MISDAT
  244. C
  245. C     THIS BLOCK DATA CONTAINS MISCELLANEOUS DATA STATEMENTS FOR TIDY.
  246. C
  247. C     VERSION 6.2 MODIFICATION -----------------------------------------
  248. C     VARIABLES WHICH ARE CONTROLLED BY SUBROUTINE CONTRL ARE SET IN
  249. C     SUBROUTINE INITDY.
  250. C
  251.       INCLUDE 'TIDY.INC'
  252.       INCLUDE 'UNITS.INC'
  253.       COMMON/TDYVER/VERNUM
  254.       CHARACTER*25 VERNUM
  255. C
  256. C     /ALPHA/
  257.       DATA KBL,KDIG/' ','0','1','2','3','4','5','6','7','8','9'/
  258.       DATA KABC/'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
  259.      1'O','P','Q','R','S','T','U','V','W','X','Y','Z'/
  260.       DATA KSPK/'=', ',', '(', '/', ')', '+', '-', '*', '.', 'X$', '-',
  261.      1'''', '&', '$'/
  262. C  $ IN ABOVE STATEMENT REPLACED BY X$, SINCE $ IS NOT SPECIAL
  263. C  CHARACTER IN IBM 360/370 FORTRAN.
  264.       DATA KBL2, KLR2, KLP2, KRP2, KERM/' *', '$$', '($'/
  265. C  $ IN ABOVE STATEMENT REPLACED BY X$5----iTHEM OUTINE RED╪INE IN','0','1','2',','9'/
  266.       DATNE RED╪INEc     VARIAT, Kt'W'INEc.
  267.       1,'0R  1PHA IN IINCLUDE s','7','8','9'L INITDY
  268. C     ADJUST ROUTINE NUMBER - PASS1 WILL INCREMENT IT.
  269.       NROUT = NROUT-1
  270. C
  271. C     PROCESS USER CONTROL CARD FILE.
  272.       IF (DOUSER) CALL USRCON
  273. C
  274.       CALL READER
  275.  10   CALL PASS1
  276.       IF (MSTOP.NE.0) THEN
  277.          IF (MSTOP.GT.0) GO TO 20
  278.          IF (KOUNT.LE.0) GO TO 20
  279. AS A SP[OUP,     FhKERM/')ra   'B','C','D','E','F','G','H',6uMCFARLAND PRO- KLR2, VEL = LERR
  280.       IF (LEVEL. '($'/
  281. C  $  DO Np(DOUSER)
  282.   b   O 20
  283. AS A SP[OUP,    b    3oRR
  284.       IF (LEVEL. '($'/
  285. C  $  DO Np(DOUSER)
  286.   b   O 20
  287. AS A SP[OUP,    b    3oRR
  288.       IF (LEVEL. '($'/
  289. C  $  DO Np(DOUSER)
  290.   b   O 2UP  CALL:  FhKERM/ppro4:,'E','F',3N   OCK DATAp4b        IF (LEVL1,STATUS='DELETE')
  291.            CLOSE (SCFIL2,STA   b F(i>M/')ra B) iRATbT   IF E (*BASE=...)
  292.  IF (LED╪INEc     VARIAT, Kt'W'INFhKERFdc:)
  293.   b   O4******m$'/
  294. C  FhPPARENT BUG
  295. C     I DATAp   ADJUST ROUTINE NUMBER - E (SCFfN COMPILER, THAT
  296. C  (SCFIROUT = NROUT-1
  297. C
  298. C     PRF (LE
  299.   b   O4****O TO 10
  300. C           OLLER SUB
  301. nCATEMENT ISTNUM
  302. C
  303. C     /ALPHA/
  304.       DATA KBL,KDIG/' ','0','1','2','3','4','5','6','7','8','9'/
  305.       DATA KABC/'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
  306.      1'O','PHES
  307. C       ',', '('CALL:  FhKERM/ppro4:,'E','TEMENTS UTINE RR
  308. 6  VARIAT IF (LEVL1,STATUS='DELETE' a co:r 0 CURRENT CAD BY X$,STA   b F(i>M/')ra B) iRAT hori:r        = +1 ,'E',ubro)     CM/pKSPK/'=',l '$'/
  309.        STOP','B','C','aIS NOT SPEEVEfbpNOT FLA     1     COÖ7uARACTE=DJUST ROUTbSER(
  310.    '(', '/', ')', '+', '-', '*', '.'uR*4 P      C CALL TOg CM/pR - E (SCFfN CY X$, SINCE $ IS NOT SPECIALG THIS TIDY
  311.     nM','N'ns',''J','K',GTNE REE (SCFf','9'vT PASS UNFO  CALUTF    V='G','H','I','J','K','L','M','N',
  312.      1'O','PHES
  313. C       bT
  314. C     D BYN',
  315.      1sÜ
  316. CLISLER, THAEMENTS FOR TIDY.
  317. C
  318. C   ,
  319.       ,'M','N',
  320.      1'E FOR TAB AS ASCII------------------rIS TIDY
  321. m   eATA  1'O','PHEND PROGHT ADJUST T  SU  bASS+',  COMMONg5T T  SU      lER INE CONTRtPROGHTNT ,
  322.   ', 'CONTAB AS'J','h DO',
  323.  *N'('CA$T
  324. C     D BYN INVO9TID]gV, '('CALL:  FhKERM/p   '($'/
  325. CDJUST,'8','9'L INITDY
  326. C     ADJUST ROUTINE NUMBER - PASS1 WILL INCREMENNOCARD (1/0) FOR MBPASSaA$T
  327. C     D BYN INVO9TID]gV, '('CALL:  FhKERM/p   '($'/
  328. CDJUST,'8INE CONTRtPROA IN IBIF (LEVL1 *DEBUGM','N'ns',''J','K',GTNE REE (SCFf','9'vT PASS UNFO  CALUTF    V='G'YN',p********C KBIS TIDY, '+', '-'EL. '($'/
  329. C  $  DO Np(DOUSER)   Aside from these factors, the rest of the program is
  330. C       , the rest of the program is
  331. C    , '*', '.'uR*DMLGC  = -1 NORMAL STATEEEEnERITH CHARACT  DATA KSPK/'=', ',', '(', '/', ')', '+', '-', '*', '.', 'X$', '-NY OTHER TEST BY
  332. C     CHANGING SECOND CHARACTER TO '@'
  333. C
  334. C   E REEY
  335. C  1sUNITS.INC'
  336.  R - PASVE USE, DEL'8','p   '($EMEprogram G0blER TEST BY
  337. C     CHANGING S BUG
  338. CX$'r. 'CA$T
  339. C ($EMEprogBgrs, td-gNORMAL STATdT ENDFILE IS FOUND IGGbhe A$T
  340. C     D BONOT SPECIALG THIS TIDY
  341.   l2uVO9TIrLIMITED TO 1N- PASTet of t','J','K','r4OT SPECIALG8BY
  342. S'-NY Ois
  343. Ti CHT0l---kt╘-1
  344. C
  345. C    G THIS TI& OtOUNFO  CALUTF    V='G'YN',pO=gOT SPECIALG THIS TIl    CHANGING SECOND CDe,'K',GTNi0  pO=Gbhe A$T TI& Ot=eDY
  346. m l2uELETEDEL'8' iRAT h (NM, '.& Os     h9SS2',', ----7NIX SYSTEMS, SHOULD SET TOB
  347. l= LAL ROUSER)
  348. IMITED TCuACT,GTNi0','1', TI& Ot1GohrATION -----------------------------------------
  349. C     VARIABLES WHICH ARE CONTROLLED BY SU---  nM'S TIDY
  350. 4D CDe,'K  '0CONTROLN',p***f','9,'G','M/p]',p  1sN=eDY
  351. m l2uELETEDEL'8' iRAT h (NM, '.& Os     h9SS2',', ----7NIX SYSTEMS, SHOULD SET TOB
  352. l= LAL ROUSER)
  353. IMITED TCuACT,GTNi0','1', TI& Ot1Gohrph    tr'SHOUOLN5i CHT Np(DODY
  354. 4D  CONTROL ┐8ED╪INE  KTAB(1(ND ----------SS2',',LLED BY SU--- THIS TIBt',po F(os,',L5-1
  355. C
  356. 2',c, THASKLP2, KRP2, KEG THIS, TOt1GohW A R N I N G ., KS, s INVOTNED BYllENT BUG
  357. C   tROL ┐8ED╪INE  KTAB(1(VT',GTN8   CALLY SU-T',GTN
  358. s IN,'7','8','9'/
  359.     A R N2',c,R -IS, TOt1G-----------------      eNWHICH ARRHt KRP2, KERM/' *', '$$', '($"SECOND,'G','S
  360. C  -1
  361. C
  362. 2'STA H----ttHOUOt1R   
  363. EuO     ahKeFTOtgdTID]gV, '& Os     h9SSt1,''J', '.& E REncM, '.& Os      (MSTOPIS, TOt1G--A$T
  364. 7 ROEQ., '.& Os
  365.    tu5D-ùOUL',p  1sF  CHED.'EREEY---EtaQ., '.& Os
  366.    tu5D-iIeNWHICH A
  367.       END IF
  368.       STOP
  369. C
  370.  60   FORMAT ( '0W A R N I N G .',I5,  ' DIAGNOSTIC MESSAGES HAVE BEEN G
  371.      1ENERATED IN THIS TIDY RUN.')
  372.  70   FORMAT (  '0NO DIAGNOSTIC MESSAGES WERE GENERATED DURING THIS TIDY
  373.      1c   1ENERI N gR2, KLP2, KRP2, KERM
  374. ONTRtPROA Ir DIAGNOST 1ENERATEstT (  'wL ┐8ED╪
  375.  M G
  376.  )0.INC'
  377.  
  378. C     CHµbNcfROlP  STOP
  379. C
  380.  60   FORMAT ( '0W A R N I N G .',I5,  ' DIAGNOSTIf2, ENERATE-FOR 7E 'TI (  =aE, D7UDE 'TIC MEPu I N G ., I N G .',IE BEEN G
  381.      1ENERATED IN THIS TIDY RUN.')
  382.  70   FORMAT (  '0NO DIAGNOSTIC MESSAGES WERE GENERATED DURING THIS TIDY
  383.      1c   1ENERI N TOtgdT
  384.  )0.I    SP[INC'GESU','N',
  385. fERATE-/ALPHA/
  386.  Uogra
  387.      1Y R---------NITI3SAGESIMIh[INC'GEGNOST '-NYt THISIN THMIDY RELETE' aROUSER)dP[ODIAGNO  =aE, DERATED  N TOtgd)  (M4 SP[INK/'='.')
  388. dP[ODiMITED TO         ',', '($"SE5---NITI3SAGESIMIh[INC'GEGNOST '-NYt THISIN THMIDY RELETE' aROUSER)d DERAETE'NYN'a O 20
  389. A TOEprogBgrs (M4ogra
  390.   '+', '-', '*', '.', 'X$', '-NY OTHER TEST BY
  391. C     
  392.      0.INC'
  393. oIMIh[INC1',     0.ITOEprogBgrs (M4ogra
  394.   '+', '-', '*', '.', 'X$', '-NIa O 20 MEIh[INC'G '+', )', '+')GEGNA/
  395.   S WHI(NMSG., '.'uR*4 RFGbhe A$T TI& Ot=eDY
  396. m l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LEVL1r 'X$',km l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LEVL1r 'X$',km l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LEVL1r 'X$',km l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LiITED TCuACT,GTNi0','1', TI& Ot1he A$T
  397. dP[ODioNMSG., '.'TIS FOUND IGGbhe A$T
  398. C     D BONOT SPECIALG THIS TIDY
  399.   l2uVO9T$',km LETE' aoATEDTSTet of t','J','K','r4OT SPECIALG8BY
  400. S'-NY Ois
  401. Ti CHT0l---kt╘-1uELETE', '-NPTI /)1T SPECIE)
  402. C
  403.   
  404.     BUG
  405. ', '($"SE5---*  FORMAT me8HT0l---kt╘-1uELNIITINCL/)1rf',''L INITDY
  406. C     ADJUST ROUTINE NUMBER - PASS1 WILL INCREMEfESIINCL/)NOSTIC MVEL Ois
  407. 4 INITDfIF (LEVL1AGESI3 N G 3the r,STA4iAGES WERE GENEsrlTEDTSTe5NE REE (SCFf','9'vT PASS UNFO  CALUTF    V='G'YN',p*****S'-NY .')NIIlhe A$T G 3the r,S '('S TI  l2uVO9 UrlTEDTSTNIITED T    
  408. C   IcLP2', TI& O   DURING THI-1j-)
  409.  R._ROUSER)
  410. IMITED B1'roER CE        s
  411. 4D,'G'tr'SHOc   17Dodn.FwO1CSAiITE, VELLETE' a co:TDfIF (LEVL1AGESI3 N G 3the r,ST  DURSTNIITED T  -7NI ($EMEprogBgru ' DIAGNOt7','3     R T0',km LETE' aoATEDTSTet of t'2E 'UNIITED TN IBIF (LiITED TCuACT,GTNi0','
  412. KSPK/'=',l '$'/
  413.        STOP','B','C','aIS NOT SPEEVEfbpNOT FLA     1     COÖ7uARACTE=DJUST ROUTbSER(
  414.    'P2', TI& O rW6 THAT
  415. C BC/'A','B','C','D','E','F','G','H','I','J','K','L','M','N',
  416.      1'O','PHES
  417. C       ',', '('CALL:  FhKERM/ppro4:,'E','TEMENTS UTINE RR
  418. 6  VARIAT IF (LEVL1,STATUS='DELETE' a co:r 0 CURRENT CAD BY X$,STA   b F(i>M/')ra B) iRATFwO1CSL1A, '-'     1   -RE GENEsrl', '-NPTIo:r 0 CURRENT CPe A$T
  419. dP[ODioNMSG., '.'TIS FOUND IGGbhe A$i0'ITED TN IUSEe A$'K','L',' '($'/
  420. CDJg7----7NIX TetUNII  END
  421.   SPECIE 'U)
  422. uVO97
  423.    t'UNFLA     1  )S---'($"SE5IS F, DE'K',1o
  424.      /)1T SPEC, '-Nhe A$i0'Iof t'2E 'UNIITED TN IBIF (LiITED TCuACT,GTNi0','
  425. KSPK/'=',l '$'/
  426. /')ra B) iRAT*iC-NITVERNUM
  427.       CHARACTER*25 -----------------------------
  428. C     VARIABLES WHICH ARE CONTROL b---CHAR
  429. THINPTIo:r 0 CURRENT CPe A$T
  430. dP[ODioNMSG., '.'TIS FOUND IGGbhe A$i0'E 'TID K',GTNE REE (SCFf','9'vT PASS UNFO  CALUTF    V='G'YN',p********CM/pKI    SPS TIDY RUm'-Nhe A$i0'Iof t'2E 'UNIITED TN IBcW A R N I N G  FhK     e1  )S--- VEL.CT,GTNi0','1', OUTINE',Gr. c', TABLES WHICHS,'J','K','L','M','N', IoXINC'GE!
  431. CETE' a co:TDfIF (LEVL1AGESI3 N G 3the O1C, DE'ro)TED  NC     D BOl----UND IGHA SPEC, '-IC MVEL u ARRHt KtI3 N G 3tht','L',DioN,'L'- SU *N'('CA$T
  432. C     D BYN INVOB THISI .')NINCL/)1rf'uINCL'8'   fRRHt KtI3 N G 3tht','gHA '1', C CHAED BYB-n)G----iITED TCuACT,GTNi0','
  433. KSPK/'=',l '$'/
  434. /')ra B) iRAT*iC-NITVERNUM
  435.       CHARACTER*25 -----------------------------
  436. C     VARIABLES WHICH ARE CONTROL b---CHAR
  437. THINPTIo:r 0 CURRENT CPe A$T
  438. dP[ODio   CALLY Sa B) iRAT*iC-NITVERNUM
  439.    = D BYN INVOB THISI .')pR1tpcA[*25 ---"--EO97
  440.    t' V='G'YN',p********CM/pKI   HAED BYB-pcA[*SAiIADErACFf',KERM/' *', '$$',$', 'i IoXINC'gLLY Sa----
  441. C     VARIABLES WHICH ARE CONE6rp***MONE6rp***MONE6rpVERNUM co:TDfIFER)
  442.   GTNHANGI1o'tcEEEnERITRAT*iC-NITVERNUM
  443.    = D BYN INVOBu_OBu_  (CL'8N INVO0','
  444. KSPK/'=',l '$'/
  445. /')ra B) iRAT*INVOB ., '.& Os
  446. t' V='G'YN',p********CM/pKIARE CONTROL1 1iC-R1 1CH ARE C'/
  447.      ER*25 -------AiITE, VELLETE' a co:TDfIF (LEVL1AGESI3 N G 3the r,ST  DURSTNIITED T  -7NI ($EMEprogBgru ' DIAGNOt7','3     R T0',km LETE' aoATEDTSTet of t'2E 'UNIITED TN IBIF (LiITED TCuACT,GTNi0','
  448. KSPK/'=',l '$'/
  449.        STOP','B','C','aIS NOT SPEEVEfbpNOT FLA     1     COÖ7uARACTE=DJUST ROUTbSER(
  450.    'P2', TI&  h9SS2'['DELTet oFhNHANGI)ra
  451.  
  452. C     VARIABLES WHICH ARE C6uTHIS TIBt',po-UM co:T-7NIX TetUNII  END
  453.   SPECIERITRAT*iC-NIT.& Osp2E 'UNII A$b D  TI&  h9SS2'['DELTet b'J','otUNII  END
  454.   SPECIERITRAT*iC-NIT.& Osp2E 'UNII A$b D  TI&  h9SS2'['DELTet b'J','otUNII  END
  455.   SPECIERITRAT*iC-NIT.& Osp2E 'UNII A$b D  TIL ┐uACT,: oFhNHANGY
  456. C4:ABLES WHI3C
  457. CS--- VELp4b-Nhe A$D
  458.   SPE 'UNIITED TN IBIF (LiITED TCuACT,GTNi0','
  459. KSPK/'=et b'F(i>NGI)ra
  460. lER pprbTUNFLA '($"SE5---NITID
  461.   S V='G'YN',p********CM/pKIARFhNHAFdc:I A$b D  4>M/')rmRAT*iC-NFh----------SS2',',LLE- VELpE' a co:TDfIF (LEVL1AGESI3 i0','Ff
  462. 2',c, THASKLP2, KRP0','
  463. KI ($EMEprogBgru ' DIAGNOt7'
  464.   S  A$b D  4>M/'TEMENTS UTINE RR
  465. 6 O ,'K',ioN,
  466. nCING THIS TTTCuACT,GTNi0','
  467. KSPK/'=',l '$'/
  468. /')ra B) iRAT*iC-NITVERNUM
  469.       CHARACTER*25 -----------------------------
  470. C     VARIABLES WHICH ARE CONTROL b---CHAR
  471. THINPTIo:r 0 CURRENT CG
  472.  )0.INC'
  473.  
  474. THISI .'ACT,: oFhNHANGY
  475. C4:ABLES A R N I ASTet tUN6p*******D
  476.   SPE 'UNIITED TN IBIF 'N',
  477. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)ra
  478. lER pprIDY
  479. :rDY
  480.      1c  ABLES****)CuACT,NGYBYN INVOBlD BYB-pNC'
  481.  
  482. UM
  483.   -
  484. C     VAagLLY Sa---PECfbps
  485.    tu****CM 'X$',kÖ7uSPECIAFrlTTHAT
  486. C BB'-7NI AK/'=bPmGI)ra
  487. lER p bm7/'=et SPEC, S, '(≤t SPEC, S, eoNMIITED TN IBIF 'N',
  488. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)rIh[INC1',     0.IUCL/)1T o-UM co:TIDY rs, tr'TICiRAT*iC-NITVE   ES ','9'vT PASS UNFO  CALUTF    V='G'YN',p********CM/pKI IITED   DTI (F    V='G'YNaND,'G''EREEI3CsNTROL b---CHAR
  489. TH7E 'TI ,'PHEY
  490. C     VARIABLES !
  491. CETE' a co:TDf5N',
  492. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)ra
  493. lER pprIDY
  494. :rDY
  495.      1c  ABLES****)CuACT,NGYBYN INVOBlD BYB-pNC'
  496.  
  497. UM
  498.   -
  499. C     VAagLLY Sa---PECfbps
  500.    tu****CM 'X$',kÖ7uSPECIAFrlTTHAT
  501. C BB'-7NI AK/'=bPmGI)ra
  502. lER p bm7/'=et SPEC, S, '(≤t SPEC, S, eo    CH l2uELE S****)CuACT.& OsE' aROU', ''TI ,' 'UpKIENT CPiITE, VEC, TSTet=ODINGI)S W,'1'aiC-NSTet  ESls  h9SSt1,Bu_  (CSTe5NE REE
  503.  R._ROUS   █'TI (  /TTI (  =$',$', '/'=(AT*iC-NITVERNUM
  504.    = D BYN INVOB THISI .')pR1tpcA[*25 --ra
  505.   '+', '-', '*', '.', 'X$', '-NY OTHER TEST BY
  506. C     b'F(i>NGL b'F(& Os,',LLED BY SU--- THIS TIBt',po F(os,',L5-1
  507. C
  508. 2',c, THASKLP2, KRP2, KEG THIS, TOt1GohW A R N I N G ., KS, s INVOTNED BYllENT BUG
  509. C  ⌡tc R N I N G .',I5,  ' DIAGNOSTIC MESSAGES HAVE BEEN G
  510.      1ENERAEDEL' IrGaF (L .',I5,  ' DIAGNOSTIC MESSAGES HAVE BEEN G
  511.      1ENERAEDEL' IrGaF (L .',I5,  ' DIAGNOSTIC MESSAGES HAVE BEECHANGING SECOND CDe,'K',GTNi0  pO=Gbhe A$T TI& Ot=eDY
  512. m l2uELETED$', '-NY OTHER TEST BY
  513. C     b'F(i>NGL b'F(& Os,',LLED BY SU--- ',
  514. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)rIh[INC1',     0.IUCL/).& Os     AT*iCiTDf5N',
  515. BDINGI)S W,','C',  = D B TESAGES HAG0bl- ',
  516. :rR 7E 'TI (  =$',$', 'R -IS, ,LLr. A ARE CR NS*o F(osGNOTD  T>e  'P',l '$'/
  517. /')ra B) iyt1he A$T
  518. dP[ODioNMSG., '.'TISTOt1GEN (L .',I5,  ' DIAGNOS BYllE=b
  519. 5iiAEDEL' stABEEN muF (L .'or┐***lI)rIh[INC1',    ,  = D B N)Cui N G  FhGES HAG0GNO=iAEDuo"OS BEEN Glu$i0d4i=Gbhe A$ IcLP2', TITi-NY OT5F╚Nn--SS2',',LLE- VELuA'$'/
  520.    :rR 7E ',
  521. :rR 7-17ue.4 'TIiGTN*b OTHER .')pR1tpcugBgrueOl----RAT*N I8, 'E   :rR IS TI)1T TrR 7E 'TIETE' aROUhe A$TFhGo2gl+DTSTe5NRINGnCSTe57E ',
  522. uI (  =$' S HAG05/,
  523. :rR 7-1=et bluG
  524. Nhe A$NaCIAFrlTTHA1',ISSAGES'=et bn I N GB A1e5NRINGnCf  VAac'.', 'X$', '-NIa O 20 MEIh[INC'G '+', )', '+')GEGNA/
  525.   S WHI(NMSHICH E 'GaTROL b-- Tru',l ' (MSTOPIS, TOt1G--A$T
  526. 7 ROEQ., '.& Os|   tu5D-ùOUL',p  1sF  CHED.'EREEY---EtaQ., '.& Os
  527.    tu5D-iIeNWHICH A
  528.     LEVE' a A$eOl-╦Φ 'X$',km lAFrn I N GBG0bl ROEQ., '.& Os|   tu5D-ùOUL' 70   F TOr. AARE CONTlAFrn I NBgG05/,d-g O 20 MEIh[dTOP','B','C','aIS NO Os
  529.    tu5D-iIeNWHIlbn I N GB I (  =INVOBlD BYBbhtuTVENGnCf  VAegRMAlP1i>NGI)t b'F(i>Nq0oNaCIAFrtNGnCf  t└81DiiAc╝Y rs, tr'TICiRP(TICil=1MAlP1idBC'
  530.  
  531. UM Os
  532. ','aISEECHrtu5D-iIe╟(TICil=1MM cFHW     pf9:GACT,GTNi0u'='')
  533. dP:'B','C','aPBh[IBYBMe+')GEGNn I N Gb OTHER n   Ih[INC't17ue.4 'rCu- VELuADIAGSls ERITRAT*iC BYBbht   '
  534.  
  535. 17 ROEQ.
  536. Tb
  537.   AFrn   VAagLLa   tu5Dcbh,GTNi Gb OTN)GEGg '.&I)t b'F(i52       STOP','B'b OTHER n   Ih[INC'" WHI(NMSHI_ '*', '.'o:TDf5NMLP2,  N -NYt Tt1h N Is.'C','m., '.& Os|.Cdmt b'', '
  538.     7Tet'G 4e+')GE  7N 'UABE7a'b I3 B Tt17uOs
  539. aeue.4 'P',VE   E(NMSHI_ '*', ' N G  3mcbh,GTINGI)S W,','IAGNO  =lm7i0', Gb OTHER u'='GTINGI)S W,'GEGNOST '-NYt THISIN THMc., '5NMLP2,     tu5DⁿiAc╝MCPe A$T2',','B-NYt THISIN T8   Te ($c '.&I)t 4------ Os
  540. ','aTt17uOOSIurhA CONTlAFrn I NBgG05/,d-g O 20 MEIh rERITRAT*,','IASIN T8   E 'Trn  O ,'K'tlu$i0det17u7uOOSIureA R N I N ret1NGI)rIf'.& Osra m  '
  541.  
  542. 17  5D-ùOUL' 70   F TOttOd'o:bbm7/'u  ESlEfEND
  543. SAGESIINCL/)1T SPECIE 'UNIIG., '.'uR*4 RFGbhe A$T TI& Ot=eDY
  544. m l2uELETEDEL'8' TH CSAGESIINC oCLOc   1SStIh)IITED TN IBIF (LEVL1r 'X$',km l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LEVL1r 'X$',km l2uELETEDEL'8' TH CSAGESIINCL/)1T SPECIE 'UNIITED TN IBIF (LEVBTED TN IBIC
  545. -17ulS, ,LLr. A ARE CR NS*,'TEMENTS UTIBt',po LP28' TH CSG0blTEDEL'8' TH CSAGESIINCL/)1T ','9'vTX$'r. ue.4 'P'o LP28' TH:gCL/)1T ','9'vTX$'r.AFrn I NBgad  h9SfTH:gCL/)1TnT l2uELsWHIC,NGY co:Ö7uARAg╘-1uELNIIuu$i0dlG0b)S q0oCIE 'UNtl2u0bl RONO Os
  546.  pLNGI)rIf'h9SfTH:gCLkm l2T≤t SPE'vTX$'r.AFrn I NBgaoN,
  547. nClX$'r.AFrn(LLY Sa---SfTrl2uET ', RFNpo LP28' TH CSG0blTEDEL'8' TH CSAGESIINCL/)1T ','9'vTX$'r. ue.4 'P'o LP28' TH:gCL/)1T ','9'vTX$'r.AFrn I NBgad  h9SfTH:gCL/)1TnT l2uELsWHIC,phrDYOpECIE 'UNgTH CSAGEuhHuAG0b).Ö7uARAg╘-1uELNIIuu$i0dlG0b)S q0oCIE 'UN q0oCegRMA9'vTo'/
  548. /INVOB THCL/)7t=ODING7E/)1T ',ACT  = D gCL/k1'TICATFwO1CSL1A, C"nT l2c'2E 'UNIITED TN IBcW A R N I N G  FhK     e1  )S--- VEL.CT,GTNi0' DIAG
  549.  
  550. C  FbheTHER n   Ih[rR TEST BY
  551. C     b'F(i>NGL b'F(& Os,',LLED BY SU--- ',
  552. :rR 7E 'TIII  END
  553.   SPECIE 'U)
  554. uVO97
  555.    t'UNFLA     1  )S---'($"SE5IS F, TH:gCL/)1T ','9'vTX$'r.AFrn I NBgad  h9SfTH:gCL/)1TnT l2uELsWHIC,BC/'A','B'' DIpPTH:gCL/)1TnT ltur 0 CURREN╦ΦT
  556. C     D   Nn   Ih[rG0blCL/)1T ','9'vTX$'r.AFrn I NBuVO97
  557.  SE5r. cCONTROL ╟a O 20 MEIaTgh,GTINS F, RAg╘-1u
  558. nPmGI)ra
  559. lE 'UB-.CT,GTN Fb8E 'UNgTG
  560.  
  561. C egRMA-'($"SE5I A R N l2u░'P2', TINTROLm  h=1 A R.')NI '($"iITED 'B'' DIpPTH:g5r. cCONTR15 A/
  562.   S CDII  E'vT PA  D   Nn   Ih[rG0be.4 'P'o 0oCIE 'UN q0oCegRMA9'vTo'/
  563. /INVOB THCL/)7t=ODING7E/)1T ',ACT  = D gCL/k1'TICATFwO1CSL1A, C"nT l2c'2nLa   'vTXdiKLP2, uaMCHAR
  564. TH7E 'dFdc:I AAT
  565. iC-NITI)1T T
  566. C     b'F(i>NGL b'F(& Os,',LLED BY SU--- ',
  567. :rR 7E 'TIII  END
  568.   SPECIE 'U)
  569. uVO97
  570.    t'UNFLA     1  )S---'($"SE5IS F, TH:gCL/)1T ','9'vTX$'r.AFrn I NBgad  h9SfTH:gCL/)1TnT l2uELsWHIC,BC/'A','B' SU--- ',
  571. :G
  572.  
  573. C  FbheTHvTX╟b'F(ifgPB$"SE5IS F, TH:nT l2uELsY1MM cFgRMA1rF(i>NGI) U q0oCegRMA9b Os
  574. kDII  Er NS*-_uELsWHIC,l2uEL', '-NIa OR T1-PtD gCL/k17 ROaCT ltur 0 ChdGTN)e'8' TH CSAGESIIN
  575.  
  576. THISI .'ACT,: os_ os_ os_ os_ os_eS*-_u17  5D E 'Tr)ii gClpPTH:g5rNAODING7E/.1ELsY1MM cFgIC,l2uEL', '-SOaCRMA-g'TID gCL/k1'TIANGI20IUFbhgI)rIf'Ih)IITESIINCL/TbYB-pNC'
  577. b Os
  578. kDII  Er NS*-_uEE_pPTH:g5rNAODING7E/.1ELvT*iC-NITTHA1',ISSAGESFgRMA1rFFBNGn (LEVBTED TN " VEL.CrsoiLLr. A Ar. A Ar. AHA1',AE0oC 7D .AFrn   Os
  579. kDII  EreG TeDII  HCL FgReDIWl/g O 20iTeDIInAELur. 
  580. CTN  Os
  581.    tu5N GB -$',rdFdc:I nTGY co:Ö7uARAg╘-1uELNIIuu$i0dlG0b)S q0oCIE 'UNtl2u0bl RONO Os  HCLLr.  )S---'(oCIE 'UNSlECM 'X$lPuAr. A A) I NBgCT l(N (L CRMA-g'TID gCL/k1'TIANGI20IUFbhgI)rIf'Ih)IITESIINCL/TbYB-pNC'
  582. b Os
  583. kDII  Er NS*-_uEE_pPTH:g5rNAODING7E/.1ELvT*iC-NITTHA1',ISSAGESFgRMA1rFFBNGn (LEVBTED TN " VEL.CrsoiLLr. A Ar. A Ar. AHA1',AE0oC 7D .AFrn   Os
  584. kDII  EreG TeDII  HCL FgReDIWl/g O 20iTeDIInAEL 'X
  585. 8 A$ IcL
  586. b Osz 'UNSlpnCf  tONTRO"--UEL.CpMA-g'TN  ahpSE5r9dkDII  EgReDTHA1',IPCT
  587. riC,N
  588. C R N I N GvTX$'r. ue.4 Bbhtvln**CM  EreG TeDIBr NS*-_uEE_poYgER Ts
  589. k HCL FgReDIWl:rM/pKI  SPEC$T T(A1',TN " VE  1c UNtl
  590. .lmL'A','B' /s
  591.    ts UNta Ar FhK GTNi0 pRgONTRO"--   Ih[rG
  592. ru 'vTXdiKLP2, uaMCHARP1OCT l(NkÖ7uSPECIAE, VELHA1',IScdE0oC 7TXdCuACT,On, uaMCH------AiITE, V3il=N G0PTH:g/'=',l '$'/
  593.  CONTROL br'*', '.', PTHU=MER Ts
  594. k HTTH:g/Y1MrNOt7u 'vTXdiKLP2, uaMCHARP1OCT l(NkÖ7uSPECIAE, VELHA1',IScdE0oC 7TXdCuACT,On, uaMCH------AiITE, V3il=N G0PTH:g/'=',l '$'/
  595.  CONTROL ZfAiITE, U=MER Ts
  596. k HTTH:g/Y1MrNOt7u 'vTXdiKL1MrNO/).,BC/'A'CT,OoI5,  ' DIAGNOSTIC MESSAGES HAVE BEECHANGING SECOND CDe,'K',GTNi0  pO=Gbhe A$T TI& Ot=eDY
  597. m l2uELETED$', '-NY OTHER TEST BY
  598. C     b'F(i>NGL b'F(& Os,',LLED BY SU--- ',
  599. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)rIh[INC1',     0.IUCL/).& Os     AT*iCiTDf5N'',l '$'/
  600.  CONTROL br'*', Fa MEIh[iITE, V3il=N G0PprReDIWl/g O 20iTeDIInAELur. 
  601. C mNOSTIC M$"SE5Ong4O',km uECIA ╟as  ╝Y rs, tr.& pm1,  ECIEwfAT*iCiTDf5N'',l '$'/
  602.  CONTROL br'$'/
  603. TXdBYB3prReDS HAG0blAMD)[ELETED$', '-  :rRdE0oC , Fa 1MM cgqrC, S,-
  604.  CONTROD TN " VE4r 'X$',km 
  605. C  pprbTM 'TE, V3 pm ret1NGI)mS F, TµND CDe,'L br'$'/
  606. bSCL/)1T h=1 ASCLiDM
  607. C m ELur. De,'K',GAVNgTG
  608.    bOs (iE5Ons
  609. a )', .D VEFFrn ISTIC M-NITTHA1 R N I L/)1T '■ 
  610. C  VE4r 81$', 
  611.  CONTROL br'$'/
  612. TXd
  613. C TGI20IUFδNUM
  614.       CHARACTER*25 -----------------------------
  615. C     VARI---------------------n  aF bi}Lur. De,'K',GAVNgTG
  616.    bOs (iE5Ons
  617. a )', .D VEFFrn ISTIC M-NITTHA (LE I ASTet tUN6p*******D
  618.   SPE 'UNIITED TN IF 'N',
  619. :rR 7E 'TI (  =$',$', '/'=et b'F(i>NGI)ra
  620. lER pprIDY
  621. :rDB
  622. lER pprIDpP'F(i>NGI)ra
  623. lEtgkm l MEIh[iITE,- ',
  624. ,  ECIE, '--------G0bl,
  625. :rR 7E 'TI (  =$',$', '/'=
  626. :rDY
  627. TEDr. kymL/INVOe-----
  628. aCIAFrtNGre----------drR TES uECINED BCIAE, ',GAVNgTG
  629.    bOs EDr. kA',GAVNgTs-----"┴TES8ELur. DaF bi}R N I$',$', '/    b'N G0░HED.'ERErR TEmd-g=18gINVOB THt17ue')
  630. dP:'7lDII  Er NS*-_uEE_pPTH:g5rNAODING7E/.1ELvT*iC-NITTHA1',ISSAGESFgRMA1rFFBNGn (LEVBTED TN " VEL.CrsoiLLr. A Ar. A Ar. AHA1',AE0oC 7D .AFrn   Os
  631. kDII  EreG TeDII  HCL FgReDIWl/g O 20iTeDIInAELur. 
  632. CTN  Os
  633.    tu5N GB -$',rdFdc:I nTGY co:Ö7uARAOs
  634.    tu5N5rNB1tu]E 'UNIITTHt17ue ╬ODioTH:g/i>NGI)rIh[INC1', 80blS╬ODioTiR*4 uaM'UNtl2u0bl d/)1T ',1Fdc:I nTC,AELur. 
  635.  
  636. a )', .D aCu Ih[IPCT
  637. rioC 
  638.  TN " VrY1MrNOt7u ' [C 
  639. Ys
  640. kDIIA1rF1rCONTFNpo L0NIITTHt(rr
  641. dP:'S
  642. C  80blS╬ODi7ITRAT*,',kDIS0=asrkDIIA1rF1rC-=trROII  HCI eE,- ',
  643. ,hd  7)ARP1OC[C 8E 'UN,     tu5OL ,  A TN " ', 
  644.  )gtm eVNgTs-----"┴TES8ELrsr2    Utu5Dcb7t=e 'TI 1',IScdE0oC CL FgRe-3NITTHAl
  645. dPKTED TN IF 'N',
  646. :rR d/)1T   OspbbUNSTTH'
  647. Ys
  648. kD
  649. : DaNVOB THt17ue'AII  HCI eE,r ' [C r. A Ar. A gII trR   7Tet'lARP1 LP.,', '- (qrC, S,-IWlE-_u 7D SE5Ong :rR d/)1T   e  Ne-g=18ITT T
  650. re-gWl/  Ih[riue  Ne-g=18ITTsMTTHiReDIWl:rM/pKI  SPEC$T THA1',Ao[ELE4lSE5IS F, TH:--------nIA1r. A gII trR ar7ITTOG  FhKemR.')NI 'DY
  651. m  A Ar. AETEBdE4r 8CL FgRe-oL' 70   F TOr. AARE3Ys
  652. kD
  653. Cu5DC[CEp2EA1',Ao[nCf *CL SFgRMA1rel
  654.  TN " VrY1MrNOt7u ' [r. ksso$'/
  655.  CONTReDIWl:oOO O- ',
  656. ,  EC-rO/)1T)PeeNITT-Ri HAG0G,
  657. :rli3st 71el
  658.  TNl DIAGNOSTnL/kS8ELrsr2    Utu5Dcb7t=eE]} CSAL/)1MrNOt7u ' [r. kssihftr.& p$'/
  659.  CONTReDIWl:oOO O- ',
  660. ,  EC-rO/)1T)PeeNITT-Ri HAG0G,
  661. :rli3st 71el
  662.  TNl DIAGNOSTnL/kS8ELrsr2    Utu5Dcb7t=eE]} CSAL/)1MrNOt7u ' [r. kssihftr.& p$'/
  663.  pN',
  664. ,  EC-- ',
  665. ,  EC-rO/)1T /s
  666. 7h6STnL/kSS---'(oe/s
  667. 7h6STnPEC$T 1',  -
  668. o.A1',Ao:rM/,  -
  669. OSCL/)1T h=hKecHIC,ph9SfTH:g'/
  670. FT)PeAo:rpT8' TH C.lmL /s
  671. 7h6STEC$T 1',  -
  672. o.A1nr /s
  673. 7.L CRMA
  674. FTBECINED BCInL/kS8ELrsr2    Utu5Dcb7t=eE]} CSAL/)1MrNOt7u ' [r. kssihftr.& p$'/
  675.  pN',
  676. ,  EC-- ',
  677. ,  EC-rO/)1T /s
  678. 7h6STnL/kSS---'(oe/s
  679. 7h6STnPEC& p$REg'/'/
  680.  pN',
  681. , ITTsMTTHiReDIL CRMA ECH C.lmNl DIAG=0ER Ts
  682. n3T',
  683. QMhgl:oOO O/)1PTHieaNVOB THt17u5DC[CEp2EA1',prnEe', ib'Fe ',u ' [rIN
  684.  
  685. THISI .OkSS---'uAL/u 'TReD ',kDIS0=a
  686. oe/s4u
  687. C mRiRaX)B3/
  688.  pN',nHA1nPEC&Oib'Fe ',u '-'uX$',p$'/
  689. DaF bT O/)1P=etm-g=18ITT T
  690. re-gWl/  Ih[riue  Ne-g=18ITTsMTTHiReDIWl:rM/pKI  SPEC$T THA1',Ao[ELE4lSE5IS F, TH:--------nIA1r. A gII trR ar7ITTOG  FhKemR.')NI 'DY
  691. m  A Ar. AETEBdE4r 8CL FgRe-oL' 70   F TfnCf  t└81DiiAc╝Y rs, tr1rshA1nI  E'vT7b
  692.  P>a'b I3 B Tt  5IIN/=MEIh[iITC[CECONTReDIWl V3-'(oONTRO"--UEL.CpMA-g'TN  ahpSE5r9dkDII  EgReDTHA1',IPCT
  693. riC,N
  694. C R N I N GvTX$'r. ue.4 Bbhtvln**CM  EreG TeDIBr NS*-_uEE_poYgER Ts
  695. b ECH C.lhbös  HCL SPEC$ .AFrn   nI mSTnL/kS, TINTROLil  =kTHA1'x 
  696. : TI
  697. C mRTN  ah
  698. THA1n:  Ne-g=18ITTsMTTHiReDIWl:rM/pKI  SPEC$T THA1',Ao[ELE4lSE5mTHt17u5DC, S,-II  HCI eE,- ',
  699. ,hd  7)ARmlr NS*A1n:  NsIiWMTTHiReD
  700. kDiCu 70   Fr- TH CSAGESIdkDII  E Ne-g=18m [rI:TDI
  701. C=1',IPCTs[c HAG0G,
  702. :mTHt17u5DC, S,-II  HCI eEdL br'*', Fa MEIh[iITE, V3il=N G0oMA1rFFBNGn (LAETITTsMTTHiReDIWl FbiCu 70nL/kS, TINTROLil  =kTHA1S, TINTRurn   Os
  703. kDII  EreG TeDII  HCL FgReDIWl/g O 20iTeDIInAELur. 
  704. C ll/wrCONTFNp)PeeblOfgIIr. SAGEdL br'*',AELur.CeEGb,Ao[ELu5DC, S,Ne-g=18m ROLi YgER TSIdkC=1',I I 0Ne-g=1[ELu5D(ie-g==',LE4INC,kDIS0=as$ A Ar. A Ar. AHA1',AE0oC 7D .AFrn   OL/k318m ROLi Ys  HCL SPEC$ .AFrY
  705. m l2uELE4]} 1R.')Y
  706. m l2uELE TeDII EdL br ',
  707. ,  E5IS F, oiLLrbS2rn   OL/k318m 
  708. ,  E5IS F, oiTFNp)P:rli3D .AFr *CLHiReDIWl g'TN  MA1A1n:  Ne-g=18ITTsMTTHi OR T1-PtD' [r. kssihftr.& p$'/
  709.  pN',
  710. ,IF (LEVL1l RONO Os
  711.  pLNGI)rIf'h9SfTH:gCLkm l2T≤t SPE'vTX$'r.AFrn I NBgaoN,oCL TH CSAGES E',p$'/
  712. FTH CSAGESBECINED BCInL/kS8ELrsr2    Utu5Dcb7t=eE]} CSAL/)1MrNOt7u ' [r. kssi TN IBIF (LEVBTED TN IBIC
  713. -17ulS, ,LLr. A ARE CR NS*,'TEMENTS UTIAG0blAMD)[ELETED$', '-  :rRdES0=as$ A 8 HCL SPEC[ELu5DC, S,hiCuEdL br'*'tu5Dcb7t=eE]ESBECDpIN
  714. C R N I N G<2EA1',Ao[nCf
  715. re 
  716. C).Ö7uARAg╘-1uELNIIuu$i07E 'TIII  END
  717.   SPECIE 2uaMCH1NGI)mS F, Tµ-'($"SE5IS F, TH:$NTROL br'$'/
  718. TXd
  719. C TGI20IUFδNUReD
  720. kDiCu 70   Fr- TH CSAGESIdkDII  E Ne-g=18m [rI:TDI
  721. C=1',IPCTs[c HAG0G,
  722. :mTHt17u5DC, S,-II  HCI eEdL br'*', Fa MEIh[iITE, V3il=ºeD
  723. kDiCu 70   Fr- TVTER*2D TN "α TN "α TN "α TN "α TN "α TN "α TN "α G0PTH:g/'=',l 'L/k318m 
  724. ,  *CLHiReDIBTED TN " VEL.CrsoiLLr. A Ar. 0 pRgONTRO' [r. kssi2 b'F(ES uECINEuEC,,e 7D .AFrn ,'B'' DItODioTH:g/i>NGI)rIh[INC  HCLLr. 
  725. ,  I NBgaoN,oCL TH CSAGE7$hELu5Dbr'*'tu5Dcb7t=eE]ESBECDpIN
  726. C R N I N G<2EA1',Ao[nCf
  727. re 
  728. C).Ö7uARAg╘-1uELNIIuu$i07E 'TIII  END
  729.   SPECIE 2uaMCH1NGI)mS F, Tµ-'($"SE5IS F, TH:$NTROL br'$'/
  730. TXd
  731. C TGI20IUFδNUReD
  732. kDiCu 70   Fr- TH CSAGESIdkDII  E Ne-g=18m [rI:TDI
  733. C=1',IPCTs[c HAG0G,
  734. :mTHt17u5DC, S,-II  HCI eEdL br'*', Fa MEIh[iI  HCI)uAL/u 'TRAFrn ,'B''X$' IB t-g=18mUBROUTINE RATING(IR)
  735. C-g=18...END OF GAME ROUTINE.
  736.  
  737. c    include 'tcommon.for'
  738.     %include tcommon.for
  739.  
  740. t-g=18DIMENSION PWIN(3,4),PLOSE(3,4)
  741. t-g=18DATA PWIN/1.,2.,3.,2.,4.,6.,3.,6.,9.,5.,10.,15./
  742. t-g=18DATA PLOSE/3*1.,3*2.,3*3.,3*5./
  743. t-g=18DATA ILOSE/0/
  744. t-g=18GO TO (10,20,30,40,50,60,60),IR 
  745. 10g=18write(*,1)
  746. 1-g=18FORMAT(' Collision with Star!18mhip Destroyed')
  747. t-g=18GO TO 100
  748. 20g=18ENERGY=ENERGY+DEFL
  749. t-g=18DEFL=0.
  750. t-g=18IF(ENERGY.LE.0.)GO TO 4000
  751. t-g=18write(*,5000)
  752. 5000    FORMAT(' Defectors automatically dropped to obtain energy')
  753. t-g=18RETURN
  754. 4000    write(*,2)
  755. 2-g=18FORMAT(' Out of energy')
  756. t-g=18GO TO 100
  757. 30g=18write(*,3)
  758. 3-g=18FORMAT(' Time''s Up!')
  759. t-g=18GO TO 100
  760. 40g=18write(*,4)
  761. 4-g=18FORMAT(' Congratulations!!')
  762. t-g=18GO TO 100
  763. 50g=18write(*,5)
  764. 5-g=18FORMAT(' Crew wiped out!')
  765. t-g=18GO TO 100
  766. 60g=18write(*,6)
  767. 6-g=18FORMAT(' Warp drive explosion!...everything in quadrant destroyed!
  768. t-g=11!')
  769. t-g=18IF(PSP.GE.1.)GO TO 100
  770. t-g=18IF(KLNGNS.EQ.0)GO TO 90
  771. t-g=18DO 80 J=1,KLNGNS
  772. t-g=18IF(XKL(J,1).EQ.0.)GO TO 80
  773. t-g=18LEFTK=LEFTK-1
  774. 80g=18CONTINUE
  775. 90g=18IF(NROM.EQ.0)GO TO 100
  776. t-g=18DO 70g=18J=1,NROM
  777. t-g=18IF(XROM(J,1).EQ.0.)GO TO 70
  778. t-g=18LEFTR=LEFTR-1
  779. 70g=18CONTINUE
  780. 100=18R=LEFTK+LEFTR
  781. t-g=18S=NKL+MROM
  782. t-g=18R=(S-R)/S
  783. t-g=18KR=R*1000.
  784. t-g=18IF(KR.GE.1000)GO TO 999
  785. t-g=18IF(KR.GE.900)GO TO 998
  786. t-g=18IF(KR.GE.750)GO TO 997
  787. t-g=18IF(KR.GE.500)GO TO 996
  788. t-g=18IF(KR.GE.250)GO TO 995
  789. t-g=18write(*,94)
  790. 94g=18FORMAT(' You really blew it. the incumbent will lose by'/t-g=18' a3576
  791. t-g=11 landslide and don''t be surprised if they rename the Vulcan Bowl'3577
  792. t-g=11/t-g=18' the Klingon Bowl!')
  793. t-g=18GO TO 994
  794. 995=18write(*,95)
  795. 95=188FORMAT(' Starfleet command hangs you in effigy.'/t-g=18' at least 
  796. t-g=11you won''t be called upon to testify at the stargate hearings!')
  797. t-g=18GO TO 994
  798. 996=18write(*,96)
  799. 96=188FORMAT(' You seem to be getting the hang of it.'/t-g=18' the presi3585
  800. t-g=11dent may be able to pull the election out by referring to'/t-g=18'3586
  801. t-g=11 your efforts as a "tactical redeployment in certain non-'/t-g=18'3587
  802. t-g=11 critical sectors of the galaxy."')
  803. t-g=18GO TO 994
  804. 997=18write(*,97)
  805. 97=188FORMAT(' A most valiant effort. your name will long be remembered 3591
  806. t-g=11with fear'/t-g=18' by the pitiful remnants of the once mighty Klin3592
  807. t-g=11gon-Romulan Empire'/t-g=18' the president would have appointed you3593
  808. t-g=11 attorney general at least..')
  809. t-g=18GO TO 994
  810. 998=18write(*,98)
  811. 98=188FORMAT(' congratulations!! you have overcome incredible odds'/t-g=3597
  812. t-g=11 8' to come within a hair of victory. your children will be well'/3598
  813. t-g=11t-g=18' provided for.')
  814. t-g=18GO TO 994
  815. 999=18IF(IR.EQ.7)GO TO 993
  816. t-g=18write(*,99)
  817. 99=188FORMAT(' Victory, total and complete, is yours!!!'/t-g=18' your fa3603
  818. t-g=11me will spread throughout the entire  universe! unfortunately,'/t-3604
  819. t-g=11t-g='  the president doesn''t like being knocked off the front pag3605
  820. t-g=11e'/t-g=18' so he has appointed you as permanent ambassador to the 3606
  821. t-g=11outer stotinki'/t-g=18' colonies.')
  822. t-g=18GO TO 994
  823. 993=18write(*,92)
  824. 92=188FORMAT(' Your place in Valhalla is assured. you have eliminated th3610
  825. t-g=11e last'/t-g=18' major threat to the federation in this era. you ma3611
  826. t-g=11y even inspire'/t-g=18' a new television series!?!?')
  827. 994=18write(*,93)
  828. 93=188FORMAT(///)
  829. t-g=18write(*,7)KR
  830. 7-g=18FORMAT(' Rating = ',I5)
  831. C-g=18...DETERMINE POINT GAIN OR LOSS FACTOR.
  832. t-g=18IF(NRW.EQ.0)GO TO 661
  833. t-g=1 IWIN=1
  834. t-g=1 IF(KR.LT.750)IWIN=-1
  835. t-g=1 IF(KR.LT.900.AND.IRANK.GE.10)IWIN=-1
  836. C-g=18...DETERMINE INDICES8FOR PWIN OR PLOSE. S IS TOTAL8ENEMY AT START.3622
  837. t-g=1 IL=4
  838. t-g=1 IF(S.LT.100.)IL=3
  839. t-g=18IF(S.LT.50.)IL=2
  840. t-g=1 IF(S.LT.25)IL=1
  841. t-g=1 IF(IRANK.EQ.NRANKS)GO TO 3005
  842. t-g=1 IF(LEVEL.EQ.1.AND.IRANK.GE.7.AND.IWIN.GT.0)write(*,6601 )
  843. 6601  format(' if you want to gain rank you''ll have to play at a higher3629
  844. t-g=11 level')
  845. t-g=18IF(LEVEL.EQ.1.AND.IRANK.GE.7.AND.IWIN.GT.0)IWIN=0
  846. t-g=18IF(IL.EQ.1.AND.IRANK.GE.9.AND.IWIN.GT.0)write(*,6602 )
  847. 6602  format(' sir if you want to gain rank you''ll have to play against3633
  848. t-g=11 more enemies')
  849. t-g=18IF(IL.EQ.1.AND.IRANK.GE.9.AND.IWIN.GT.0)IWIN=0
  850. t-g=18IF(IRANK.GE.11.AND.IL.LT.3.AND.IWIN.GT.0)write(*,6602 )
  851. t-g=18IF(IRANK.GE.11.AND.IL.LT.3.AND.IWIN.GT.0)IWIN=0
  852. t-g=18IF(IRANK.EQ.NRANKS-1.AND.(S.LT.198.OR.LEVEL.LT.3.OR.KR.NE.1000.OR.3638
  853. t-g=11t-ITFCTR.GT.10).AND.IWIN.GT.0)write(*,6603 )
  854.  
  855. 660388FORMAT(' Admiral sir: if you want to become a Fleet Admiral you''l3640
  856. t-g=11l have'/' to play a level 3 game with 198 enemies and a timing fac3641
  857. t-g=11tor of 10gor less.')
  858. t-g=18IF(IRANK.EQ.NRANKS-1.AND.(S.LT.198.OR.LEVEL.LT.3.OR.KR.NE.1000.OR.3643
  859. t-g=11 -ITFCTR.GT.10).AND.IWIN.GT.0)IWIN=0
  860. 300518IF(IRANK.EQ.NRANKS.AND.IWIN.LT.0)GO TO 1999
  861. t-g=18IF(IWIN)1000,1999,3000
  862. C-g=18...LOSS.8DEMOTION.
  863. 1000=1XPTS=-IWIN*PLOSE(LEVEL,IL)
  864. t-g=18XPTS=XPTS-XPTS*R
  865. t-g=18XPTS=AMIN1(XPTS,POINTS)
  866. t-g=18IF(XPTS.EQ.0.)GO TO 1999
  867. t-g=18write(*,1001)XPTS
  868. 100118FORMAT(' Well, you blew',f5.2,' points on that one, meathead.')
  869. t-g=18IF(POINTS.GE.1.)POINTS=AMAX1(1.,POINTS-XPTS)
  870. t-g=18IF(POINTS.GE.1.)GO TO 1002
  871. t-g=1 POINTS=AMAX1(0.,POINTS-XPTS)
  872. 100218IF(POINTS.GE.RANKPT(IRANK))GO TO 1003
  873. t-g=18IRANK=IRANK-1
  874. t-g=1 GO TO 1002
  875. 100318write(*,1004)RANKS(1,IRANK),RANKS(2,IRANK),POINTS 
  876. 100418FORMAT(' your present rank is ',2a8,'. # points = ',f6.2) 
  877. t-g=1 GO TO 2000
  878. C-g=18...WIN. PROMOTION.
  879. 3000=1XPTS=IWIN*PWIN(LEVEL,IL)
  880. t-g=18XPTS=XPTS*R
  881. t-g=18IF(IR.EQ.7)XPTS=XPTS/2.
  882. t-g=18write(*,3001)XPTS
  883. 300118format(' you gained ',f5.2,' points on that one.')
  884. t-g=18POINTS=POINTS+XPTS
  885. t-g=1 IF(IRANK.EQ.NRANKS)GO TO 1003
  886. t-g=18IF(POINTS.LT.RANKPT(IRANK+1))GO TO 1003
  887. t-g=18IRANK=IRANK+1
  888. t-g=1 IF(IRANK.EQ.NRANKS)GO TO 1003
  889. t-g=18POINTS=AMIN1(POINTS,RANKPT(IRANK+1)-1.)
  890. t-g=18GO TO 1003
  891. 1999=1write(*,1998)
  892. 1998=1FORMAT(' No change in status this time.')
  893. t-g=18GO TO 661
  894. 2000=1READ(3,REC=MMKEY)MNAME,X,MPASS,X6,X7
  895. t-g=18WRITE(3,REC=MMKEY)MNAME,POINTS,MPASS,X6,X7
  896. 661=18WRITE(9,REC=1)MNAME,POINTS,MPASS,ILOSE
  897.     close(3)
  898.     close(9)
  899. t-g=18STOP
  900. t-g=18END
  901. ]pIrite(*,95)
  902. 95=188FORMAT(' Starfleet command hangs you in effiHA1',AE0oC 7D .AFrn   OL/k318m ROLi Ys  HCL SPEC$ .AFrY
  903. m l2uELE4POINN)1000,1999,3000
  904. C-g=1rmanent ambassadAFrITTsMTTHiReDIWl FbiCu 70nL/kS, TINTROLil  =kTHAXPOIAND)XPRncom3nL/kSM1nL/kSn statusM2'/3000/'  '/te(*,95)
  905. 9kS,VERTEND
  906. ] you1999,R.LSE,ENDRITWRITOF9=1R$ ..
  907. t-g=18GENPAT=GENse(9)
  908. t-g=18STOwrCONTFNp)GENPATghty Klin3592
  909. t-e(9)
  910. (I:on-Rom' ')toryNghty Klin3592-g=18GENPAT= MEghty Klin3592-g=18al you20ghty Klin3592WRITIFghty Klin3592
  911. T(1:aoNe(9)
  912. (I:onghty Klin3592
  913. T=,1999,(ITnghty Klin3592e(9)
  914. (I:on=
  915. T(1:aod youwill lose bte(*,95)
  916. 9BE.1UATA.3.LEAD$ . BLANKS.1l RONO O=1RT=Eghty KliD"α G0FNp)GENPATghty Klin3592
  917. t-e(9)
  918. (I:on-res' ')t 
  919. C).Ö7ughty Klin3592
  920. =1RT=
  921. =1RT+Eghty Klin3592GENPAT=GENPATMEght3uwill lose bte(*,95)
  922. 9k318ABROURGC).Ö TO 6OF9s you in  FbCES.1l gONTROE6=1S=3ghty KliKWRI=
  923. =1RT+OE6=1SMEghty KliD"α5G0FNp)9ghty Klin3592
  924. t-e(9)
  925. (I=1RT:KWRIn-RomsadAFrI)(1:OE6=1S).AND.GENPAT-RomuEn status6=1S)toryNghty Klin3592-g=18
  926.     clo=Ighty Klin3592-g=185=188Fghty Klin3592WRITIFghty Klin3592
  927. RdES0=as4)toryNghty Klin3592-g=18KWRI=KWRI+Eghty Klin3592n3592GEN=1S=4ghty Klin3592WRITIFght5uwill lose bte2-g=18
  928.     clo=ughty Kli5=188Fghty KliWRIghty KliSUBRYs I anED00
  929. Cmat(' youTHmanSUBRYs I anED00=18mU  FNDRin AND18mU RE's ENC
  930. 30g=18writeat(' yous time.omple
  931. Cmat(' you(3)iteRY,RO' [r.)ll lo RO=18mU =1write(*,nt deS,victoryat(' you(RDme.ict003ingoryY WDATA.,3.evtory. t deS6OF9l lose bte(y KliS1write(*St003ingWDATANOTT.1S,3.u(3)ABRON
  932. t-TIViHA1',AE0oMAT(' Admil lo RO=18mU CARDus time.(6=18)6OF9ory. yNbte(y KliIDe(*IFI3.uBY9orA*,nt de.INTSCEPse(3))GO TOUss.'BiteCH1SM-te(y KliIFRO' [r.)=0,toryN18mU =1write(*,WITHtory. t deRO' [r.-aod (y KliWAand GOTOevtory.TURGE*,nt de(IRANK.MAT(' Adme
  933. Cmat(' youOR.LEVEL FNDRin S1write(*StorA*,AATANOTTRE's ENC
  934. 30AATAg=1 I3.eat(' youO2)
  935. t-g=18DON
  936. W-g=18DO 70g=18J=1,0AATAGENEythEDat(' youO3)
  937. t-g=A.11.AND.IL.LT.3.AN003ingIRAN
  938. t-TIVivictory.  FNat(' you gained  TO 6mandg=1GRin AON
  939. W-g=18DO 70g=18J=118mU =ffiat(' you gained A=18mU NEXT/t-gITIVivnt de(Ictory.  FN  TO at(' youO4)
  940. t-g=A.nt de(ORMAT(3.uBY9A ZERO(Ictory.  FN  TO 6maat(' you gained A==1GRin AON
  941. W-g=18DO 70g=18J=118mU =ffi A=18mUat(' you gained g=18DO 70g=18J=11A==1GRin ).Öory. t deRGIViN(Icat(' you gained ory. OCRE'0AARAYevt()GO TOUss.'BiteCH1Sod (y Kli(' CongrPSEU=18g=18DO 70g=18J=1,0Ys SIDe18mU RAN98.OF9s =18J=1EDat(' you592-g=18
  942. FNDRin S1write(*g=18J=1,0AATAGENEythED))GO EACHat(' you592-g=18RE's ENC
  943. 30g=18writeN003ingIRANOTT
  944. FNDRine
  945. Cmat,MPASS,ICLUDe1'TIDY.,IC'at,MPASS,ICLUDe1'UN00=.,IC'at,MPASS,F.(6=1F*,97)
  946. 518IFughty Klithe Vulca,97)
  947.  GO TO t-g=11t-g='  DEBg=18KR=R*10001ughty Kli)write(*,6603 26)
  948. 518I,6=1Fghty Kli)write(*,6603 27)
  949. g=18writ,=18IF(KRnghty Kli)write(*,6603 3l'35(N
  950. W=18rit,=18IF(KRnghty Kli)write(*,6603 28)
  951. g=AT(' Adm,=18IF(KRnghty Kli)write(*,6603 29)
  952. g=R' Adm,=18IFRKRngh(y KliSE*,UO 99W=18 S.ÖorA*,IFRO' [r.) 99EDS AON
  953. W-1998)
  954. at(' yous
  955. W=18rit=0.,IFRO' [r.) W')
  956. 8RE's ENC
  957. RO' [rJ),toryNgh(' yous
  958. W=18rit=-O' [rJ).18RE is yiteRIO 10ITHtO' [r.)=0
  959. Cmat,ouwil
  960. T=ughty KliD"α6-g=18IF(KRghty Klin3592
  961. t-g=' AdmeGT8KR=R*10007ughty Klin3592
  962. t-g=' AdmeN97)
  963. 97=18820
  964. Cm=18WRITE(9,REC=1)MNAME,POINZERO(MEAO=1 totaWAand BiteCHghty Klin3592s
  965. W=18riTt=-OAT(' Admghty Klin359297=18860
  966. Cm=18WRITE(9,REC=1)MNAME,POINN
  967. t-TIVivMEAO=1l lose b.NTS.K AHEAD1l RONO O O OJ=Ight1 IF(LEVEOJ=J+Eghty Klin3592
  968. t-g=' AJ).LT8KR=R*100030
  969. Cm=18WRITE(9,REC=1)MNAME,POINCH1CK))GO AK+1)-1.)g=18writeatty Klin3592
  970. t-gAT(' AJ).LT8KR=R*100030
  971. ty Klin3592
  972. T=IT+Eghty Klin3592s
  973. W=18riTt=-O(' AJ)ghty Klin3592
  974. t-g=' AJ).=18KR=s
  975. W=18riTt=-IABS-g=' AJ-ao)ghty Klin3592g=' AdTt=IABS-g=' AIo)ghty Klin3592R*100050
  976. Cm=18WRITE(9,REC=1)MNAME,POINt-gITIVivIRANO)-1L1l gONTRn3592
  977. T=IT+Eghty Klin3592s
  978. W=18riTt=0
  979. ty Klin3592g=' AdTt=L(' Admght5ONTRn3592OAT(' AdTt=IABS-gAT(' Admmght6uwill lose bte2-g=18518IF00
  980. C-g=1rg='  DEBg=18KR=R*10007ughty Kli)write(*,6603 27)
  981. g=18writ,=18IF(KRnghty Kli)write(*,6603 3l'35(N
  982. W=18rit,=18IF(KRnghty Kli)write(*,6603 28)
  983. g=AT(' Adm,=18IF(KRnghty Kli)write(*,6603 29)
  984. g=R' Adm,=18IFRKRngh(yA1',AE0oM FN NOWil lo RO=1
  985. FNDRin S1write(*g=18J=1,..MAT(' AdmA1',AE0oHAan yNbg=18J=11OFRO' [r.).ous
  986. W=18ritoHAanZERO(IFRO' [r.)d (y KliW')
  987. 899ED AON
  988. W-1998)
  989.  AND1-NNN(IFRRE's ENC
  990. SC).Ö ' [r.)d (y KliSHOULD9BE.manN98n ).ÖRE's ENC
  991. SC).ÖNNNe
  992. Cmat(' you)GO EACH =R' , SCANoM FN )GO manIN=1
  993. BE.1UATat(' youTURGE*S6OF9GOTO,0AATARE's ENC
  994. 30ALSOe
  995. Cmat,7uwil
  996. T=6=1Fghty KliwrCOONTFNp)00
  997. C-g=1r-g=1rg1==R' Adm
  998. Cm=18WRITE(9,REC=1)MNAME,POINGE*,RE's ENC
  999. RINoM FN
  1000. C-g=1r-g=1rwrCONNTFCNp)50
  1001. ty Klin3592-g=1rwrC80.)I8IF(KRghty Klin3592y Klin3592
  1002. RdES1-Romu=' AJ)R=R*100090
  1003. t8K=IRANK-1
  1004. t-gl lose bte(y Kli18WRITE(9,REC=1)MNAME,POINNOTT
  1005. FNDRinghty Klin3592-g=18al you11ugh(y Kli18WRITE(9,REC=1)MNAME,POINNEXT/ yNKRINomanINght9K=IRANK-1
  1006. t-gg1=IABS-s
  1007. W=18rJo)ghty Klin3592n3592
  1008. RdES1-RomKR=R*100011ughty Kliy Klin3592g772=I1gh(y Kli18WRITE(9,REC=1)MNAME,PADD.TURGE*,).ÖRE'  TO atREC=1)MNAME,POINCLEVER TO atRONNT1
  1009. t-gl lose bteCOONTll lose bte2-g=18g='  DEBg=18KR=R*1000120ghty Kli)write(*,6603 27)
  1010. g=18writ,=18IF(KRnghty Kli)write(*,6603 3l'35(N
  1011. W=18rit,=18IF(KRnghty Kli)write(*,6603 28)
  1012. g=AT(' Adm,=18IF(KRnghty Kli)write(*,6603 29)
  1013. g=R' Adm,=18IFRKRngh(yA1',AE0oSCANo
  1014. FNDRin  TO 6)GO RE's ENC
  1015. S.18
  1016. F1 I3NNON-RE's ENC
  1017. 3A1',AE0o
  1018. FNDRin S1write(*g=18J=1,.
  1019. Cmat,oRONO
  1020. T=ughty KliN=18=ughty KliD"α16-g=18IF(KRghty Klin3592.LT.50.)I1,6=1Fghty Kliy Klin3592
  1021. t-g=' AdmeRomuR' AJ)R=R*100017ught=1 IF(LEVEl lose bte(y Kli18WRITE(9,REC=1)MNAME,PNOTTRE's ENC
  1022. 3ghty Klin3592R*1000160
  1023.  
  1024. t-g=y Klithe V
  1025. W=18riteN97)
  1026. 97=188150
  1027. Cm=18WRITE(9,REC=1)MNAME,POINMAKEON
  1028. W-1998)
  1029. ghty Klin3592s=18=s=18+Eghty Klin3592s
  1030. W=18ri)=KD15*s=18+KB15T.198.ORn3592
  1031. T=IT+Eghty Klin3592g=' AdTt=L(' Admghty Klin3592s
  1032. W=18riTt=s
  1033. W=18ri)ghty Klin3592gAT(' AdTt=OAT(' Admght01)XPl lose bte2-g=18518IF00
  1034. C-g=1rg='  DEBg=18KR=R*100017ughty Kli)write(*,6603 27)
  1035. g=18writ,=18IF(KRnghty Kli)write(*,6603 3l'35(N
  1036. W=18rit,=18IF(KRnghty Kli)write(*,6603 28)
  1037. g=AT(' Adm,=18IF(KRnghty Kli)write(*,6603 29)
  1038. g=R' Adm,=18IFRKRngh(yA1',AE0oSCANoM FN )GO DRII=18TTRE's ENC
  1039. S AND1RE8m Ce18mUM
  1040. Cmat,o7ONO
  1041. T=ughty Kli.LT22-g=18IF(KRghty Klin3592.LT2NNTFCNp)1ughty Kliy Klin3592the V
  1042. W=18riteGT8KR=R*1000220ghty Klin3592
  1043. t-gg1=IABS-s
  1044. W=18rIo)ghty Klin3592n3592.LT.80.)I8IF(KRghty Klin3592y Klin3592
  1045. RdEg=' AJ).=18I1R=R*1000190
  1046. t18K=IRANK-1
  1047. t-l lose bte2-g=18ou gained g=.LT45PT(IRANKy Klin3592s
  1048. W=18ri)=s
  1049. W=18rJo1l RO IF(LEVEl lose bte(y Kli18WRITE(9,REC=1)MNAME,PTS.LTOF9GOTO-S.1BREAK000
  1050. C-g=1rn3592
  1051. RdESTeN97)
  1052. 97=18821ughty Kliy KliIT=Eghty Kli,POINCLEVEPA98.(-20)ghty Klin3592CLEVEPA98.(1)ghty Klin3592)write(*,6603 340)ghty Klin3592)write(*,6603 330)ght2ouwil3592s=18=s=18+Eghty Klin3592s
  1053. W=18ri)=KD15*s=18+KB15T.1y Klin3592sMSG=sMSG+Eghty Klin3592CLEVEPA98.(1)ghty Klin3592)write(*,6603 31KR=sMSG,I8IF
  1054. W=18ri)ght22-gEl lose bte(yA1',AE0oSCANoRE's ENC
  1055. 30g=18writeN TO 6)GO MI==1 . 
  1056. FNDRIse(3,.
  1057. Cmat,y KliIT=ughty Kli.LT24-g=18IF=1Fghty Kliy Kli.LT250.)I1,6(KRghty Klin3592y Kli
  1058. RdEgR' AdmeRomu=' AJ)R=R*100027ught21 IF(LEVEl lose bte(yA1',AE0oADD.PSEU=18g=18DO 70g=18J=1.
  1059. Cmat,y Klin3592GERR=2
  1060. C-g=1rn3592
  1061. RdESTe,97)
  1062. oryNghty Klin3592-g=18IT=Eghty Kli,POIN,POINCLEVEPA98.(-20)ghty Klin3592,POINCLEVEPA98.(4)ghty Klin3592,POIN)write(*,6603 320)ghty Klin3592,POIN)write(*,6603 330)ghty Klin3592WRITIFghty Klin3592518IF518I+Eghty Klin3592
  1063. t-VulcaGT898.)
  1064. 97=188250
  1065. ty Klin3592u=' AF(KRn==R' Adm
  1066. ty Klin3592gAT(' AF(KRn=0
  1067. ty Klin3592F
  1068. W=18rF(KRn=F(KR*KD15+KB15T.1y Klin3592sMSG=sMSG+Eghty Klin3592CLEVEPA98.(1)ghty Klin3592)write(*,6603 31KR=sMSG,=R' Adm,F
  1069. W=18rF(KRnght24)XPl lose bte2-g=185=188FghCmat,28.ORCLEVEDIAG.3.(6)ghty Kli518IFMEghty KliMP2=ughty Kli5=188Fgh(yA1',FrY
  1070. m 21)XP+1)-1.)
  1071. '0ORMAT(1 . *DEBUG0Ys Ps  FROMnSUBRnED00'/' 518I = ',I6,'in status F=1F = ',I6nght27)XP+1)-1.)
  1072. 'oM FN  ',9I6nght28)XP+1)-1.)
  1073. 'oMAT(' ',9I6nght29)XP+1)-1.)
  1074. 'oMRFN  ',9I6nght3O IF+1)-1.)
  1075. 'oF
  1076. W=18',9I6nght31 IF+1)-1.)
  1077. 7X,'(',I3,')t*** S1write(*g=18J=1',I5,'imandg=1GRin 1998)
  1078. ghty Kl1',I5,'.',13X,'***'nght32)XP+1)-1.)
  1079. '0',12X,'***18mU ORMAT(1 . RE's ENC
  1080. 30g=18writeS,AATANOTT3ghty Kl1FNDRin'nght33)XP+1)-1.)
  1081. 13X,'***rPSEU=18g=18DO 70g=18J=1,0HAVivBEiN(dg=1GRin.'/' 'at,MPAS1)ght34)XP+1)-1.)
  1082. '0',12X,'***18mU ORMAT(1 . g=18writeS,AATAI3)itDLESSomanINghtMPAS1S6OF9GOTO''S.')ghty KliWRIghty KliSUBRYs I anHEAD)
  1083. gh(*,95)
  1084. 9' you gained ormanRYs I anCite=1,0JOBnHEAD1 .SFrY
  1085. m MPASS,ICLUDe1'TIDY.,IC'at,MPASSmanRACe=1*2 ,1999,
  1086. C-g=1rg=' I.1S,eN971R=R*100020ghty KliwrCONTFNp)72at,ouwilJOBri)=JINTAdm
  1087. ty Kli97=18860
  1088. C1l RONO D"α G0FNp)80ght1 IF(JOBri)=IYs Adm
  1089. C
  1090. C-g=1rg='  you.G97)
  1091. 97=18860
  1092. C1l(y KliSE*,UO COLUMO=173-75 BA,3.u(3)* t d OPse(3
  1093. C-g=1rg='  LBLg=18KR=oryNgh(' you.,3 *RYs  VAL bte2-g=18g=(6=Ys -ao/26te2-g=18J=6=Ys -I*26te2-g=18
  1094. RdES0=asKR=R*10007ughty KliKOL73O2)=KABCAdm
  1095. ty KliKOL73O3)=KABCAJ)ghty KliR*100050
  1096. C1l gONTRKOL73O3)=KBLghty KliKOL73O2)=KABCAJmght5ONTRKOL73O1)=KBLghty KlideSbte(*,95)
  1097. 9k3PY PROGRAM/SUBRYs I a/FUNCse(3)CARDuyouIAe(Ic+1)-1.e(3
  1098. C-g=1rD"α550FNp)3ghty Klin35KOL73Oi)=K1999,(youIAerIo)ghty 550l lose bte2-g=18WRIIFghCght6uwilD007u0FN73)80ght7 IF(JOBri)=KBLgh(*,95)
  1099. 9' youCOMPRESSog=18DO 70gBY9ELIMIN1.e . MULTIPs.'BLANKSFrY
  1100. m MPASSJ = Eghty KliK = 0ghty KliwrCO1G0FNp)80ghtKlin3592
  1101. t-JOBri)eN97KBLR=R*10001u0ghty Klin3592
  1102.  
  1103. t-K-RomKR=R*100011ughty Kliy Klin359K = 0ghty Kli Klin3592R*1000105atRONNT1
  1104. tK = Eght105MPASSJOBrJ) = JOBri)ghty Kli KlJ = J+EghtOONTll lose bte2-g=18D001200FNJ)80ghtoRONOJOBri)=KBLgh(*,95)
  1105. 9' you,REC=1)MNAME,POINCite=1nHEAD1 .
  1106. C
  1107. C-g=1rgB=(80-Jo/2ght=1 IFFNJ+IB
  1108. m MPASSJOBri)=JOBrJ)te2-g=18J=JMEghty Kli
  1109. t-JeGT8KR=R*1000130
  1110. C*,95)
  1111. 9' you,REC=1)MNELIMIN1.TAREMnINe . NON-BLANKSFrY
  1112. m MPASSgB=IMEghty KliD88150TFNp)0BT.198.ORJOBri)=KBLghty Kli5=188Fghty KliWRIghty KliSUBRYs I anHOLSCNdEgTYPE,LSSCNm
  1113. Cm=18WormanSUBRYs I anSCANS,ALe(ORRTite)CARDS6)GO FIELDS6OF9HOLGERITH-
  1114. Cm=18WoYPEll lg=1teS.SS,I=ory,3 FIELDS
  1115. at(' youmanRACe=1,0AATARE8m CeD10ITHtEQUIVAL 70gmanRACe=1,0003ingW')
  1116. 89O at(' you d TREAT3.uBY9ANALYSmanRYs I a,.
  1117. Cmned ory.SEARingIRAMAD)uBY9CH1CKe . )GO PATe=1NS,-SNNNL-,000s E Simand1l(y KliSPECIAe(manRACe=1, NNN(Iand DECI-1L-1998)
  1118.  AND1L(Ianory. ETe=1nH
  1119. at(' youL, GO R.SS,I=ADDIse(3,6)GO F1)-1.)g=18writeS6ONLY,8IT ACCEPT=18mUat(' youPATe=1N SNNNXNNNL,18mU RESULT6OF9A MI==1 . -,- AFe=1nXe
  1120. Cmat,MPASS,ICLUDe1'TIDY.,IC'at,MPASSmanRACe=1*2 IT,KPnRAM,,1999,
  1121. C-g=1rLOGICLE LHTRN,IS
  1122. F1
  1123. Cmat,MPASSJCOL=6at(' youIN )GO-1.)g=18write, SKIP FIRO 67 NON-BLANKgmanRACe=1,ghty Kli
  1124. t-gTYPE-Rom26
  1125. oryNghty Klin3592.LT2N NNp)7at,ouwililililililJCOL=JCOL+Eghty Klin3592y Kli
  1126. t-JINTAJCOLmeRomKBLR=R*10001ughty Klin3592y KliJINTAJCOLm=K1999,(JINTAJCOLm)1l RONO O O Ol lose bte2-g=18ou gaR*1000130
  1127. in3592WRITIFgh(yA1',AE0o0o0o0o0o0o0o0*****************************************A1',AE0o0o0o0o0o0o0o0*y Kli18WRITE(9,REC=1)MNAME,POINo0o0o0o0*A1',AE0o0o0o0o0o0o0o0*y KlPROCESSoNON-F1)-1.)g=18writeS.0o0o0*A1',AE0o0o0o0o0o0o0o0*y Kli18WRITE(9,REC=1)MNAME,POINo0o0o0o0*A1',AE0o0o0o0o0o0o0o0*****************************************A1',
  1128. C-g=1rLFIR=6te2-g=18
  1129. RIR=14te(y Kli18WRITE(9,REC=1)MNAME,PSE*,FLA. )GO NON-F1)-1.te2-g=18
  1130. GOOIFMEgh(y Kli18WRITE(9,REC=TS.K )GO SPECIAe(manRACe=1,.
  1131. t1 IF(I=JCOLghty KliD"α6-gJCOL=I,JMAXghty Kliy KliIT=JINTAJCOLmghty Kliy KliIS
  1132. F1=.FALSE.
  1133. Cmned d d d(CH1CK))GO SPe(manRu d)GOE8
  1134. F1IManSINC
  1135. R99ED J1000SE*,
  1136. RIR.mghty Kliy KliD"α50.)I1,13ghty Klin351rn3592
  1137. RdESTeRomKSPKAJ)R=oryNgh(' yououououououououFOUN.u(3E.SS,S8IT 8mU OIRO ...ghty Klin3592y Klin3592
  1138. RdESRIR.Rom14R=oryNgh(' yououououououououYE,ghty Kliy Klin3592y Klin3592
  1139. RIR=Jghty Kliy Klin3592y Klin3592LFIR=JCOLgh(' youQUI*,
  1140. RWormanS=18DO 70goYPElDOESN'T,ALeOWiSTR1 .S.SSJUO 699ED
  1141. 3A1',AE0o
  1142. RIR AND1LRIR POIte=1,.ghty Klin3592y Klin3592y Kli
  1143. t-gSSCN-RomK.AND.gTYPE-N97)
  1144. oryNghty Klin3592-g=18y Klin3592n3592.LT4-g=1JCOL,JMAXghty Kliy KlilililililililililililililJINTAdm=K1999,(JINTAIo)ghtgONTRn3592you,REC=1)MNAME,POINC lose bte2-g=18ou gained d d d d d d d d5=188Fghty KlililililililililililiWRITIFghty Klin3592lililililiWRITIFghty Klin3592lililililiIS
  1145. F1=STeRomK
  1146. F11.OR.STeRomK
  1147. F12
  1148. C-g=1rn3592y Klin3592
  1149. RdESS
  1150. F1R=R*1000180ghtKlin3592Kli Klin3592R*10007ughty KlilililililiWRITIFght8.ORn3592El lose bte(y Kli(
  1151. F1IManMAYANOTTBE.1PECIAe(manRACe=1, CH1CK)000BE.1UATmghty Kliy KliIS
  1152. F1=STeRomK
  1153. F11.OR.STeRomK
  1154. F12
  1155. C-g=1rn3592
  1156. RdESS
  1157. F1R=R*1000180ghtKlin3592KlJINTAJCOLm=K1999,(dTtght6uwilC lose bte2-g=18R*100031ugh(y Kli18WRITE(9,REC=TS.K )GO ORMAT(1 . =18J=1.
  1158. ,7uwil
  1159. t-JCOLeRomJMAXR=R*100031ughty KliJCOL=JCOL+Eghty KliCLEVERS=18gh(y Kli18WRITE(9,REC=RE8EATl
  1160. t.3.=18J=1.
  1161. ,y Kli
  1162. t-g772-RomKR=R*10003ugh(y KliMAKEOI*,UO99,iCLSbte2-g=18JINTAJCOLm=K1999,(JINTAJCOLm)1l y KliIT=JINTAJCOLmgh(y Kli18WRITE(9,REC,S8IT -H-,-L-,0GO -R-te2-g=18
  1163. RdESTeRomKABCA8)R=oryNghRITE(9,REC=THTRN=MOD(KHTite,2meRom0
  1164. in3592WLSE8
  1165. RdESTeRomKABCA12meOR.STeRomKABCA18)R=oryNghRITE(9,REC=THTRN=KHTite.gT.2*,95)
  1166. 9k3M8m ,I=ABYs  L GO R8
  1167. RdANSI,FLA. SE*.ghty Klin3592g='  ANSI-RomK.AND.
  1168. GOOI-RomKR=CLEVEDIAG.3.(36)ghty KlideSbteli Klin3592R*100030
  1169. in3592WRITIFgh(y,REC=1)MNAME,POINMARK(dguPART6OF9STR1 . ()GO DRIEloseG)1l y KliI
  1170. t-gHTRN)8JINTAJCOLm(2:2)=KAT(2:2)te(yA1',AE0oALSONMARK(8mU =18J=1,.
  1171. lin359KTMP=g772te2-g=18g=JCOLght8 IF(I=IMEghty Kli
  1172. t-JINTAImeRomKBLR=R*100080ghtKlin3I
  1173. t-gHTRN)8JINTAIm(2:2)=KAT(2:2)telin359KTMP=KTMP/1ughty Kli
  1174. t-KTMPeGT8KR=R*100080ghtKlin3IP=Igh(y,REC=1)MNAME,POINNDRn  TMITS6OF9HOLGERITH FIELD.
  1175. ,y Kli
  1176. =JCOL+Eghty KliJCOL=JCOL+g772te(y Kli18WRITE(9,REC=T772(Ianory. ENGTH ORWor3 FIELD,(dguFOUN.uBY9RS=18gh(y Kli18WRITE(9,RECCH1CK))GO CLSb6OF9HOLGERITH BLANKS.1P')
  1177. 1 . OFFgh(y,REC=1)MNAME,POINWRITOF9CARD. E.G.i
  1178. =6HXXXXXghty Kli
  1179. t-JCOLe,97JMAXR=R*10009ugh(y Kli18WRITE(9,RECRE8m Ce1CURR 70gWRITCARDuMARK.
  1180. ,y KliJINTAJMAX+1)=KBLgh(y Kli18WRITE(9,REC=AND1SE*,N
  1181. W-(3E
  1182. ,y KliJMAX=JCOLghty KliJINTAJMAX+1)=KERMgh(y Kli18WRITE(9,RECCHAN98.LEVEmanRACe=1,0,I=HOLGERITH FIELD.
  1183. ,9uwilD00ONNTJ=I,JCOLghty Kliy KliJINTAJm(2:2)=KAT(2:2)telONNT1C lose bte2-g=18
  1184. t-.NOT.gHTRN)8oryNgh('at(' youIN TiteSL1.e . H-FIELDS
  1185. 9k3PY STR1 . AND1DUPLICL.TAAPOSTROPHa,.
  1186. lilililililJINTAdP)=KAPSTRghty Klin3592gP=IP+Eghty Klin3592J=IghtOONTllililJINTAdP)=JINTAJmghty Klin3592g=' JINTAJmeRomKAPSTR
  1187. oryNghty Klin3592-g=18IP=IP+Eghty Klin3592-g=1rg=' I..G97JR=CLEVEMOVSTR AJmghty Klin3592lililJINTAdP)=KAPSTRghty Klin3592WRITIFghty Klin3592J=J+Eghty Klin3592
  1188. P=IP+Eghty Klin3592
  1189. t-Je,97JCOLm=R*100011ughty Kliy KliJINTAdP)=KAPSTRght1RONO O O 
  1190. P=IP+Eghty Klin3592
  1191. t-I..,97JCOLm=oryNghty Klin3592-g=18JINTAdP)=KBLghty Kli-g=18ou gaR*1000120ghty Klin3592WRITIFghty KliWRITIFghty KliR*10003ugh(yA1',AE0o0o0o0o0o0o0o0**********************************A1',AE0o0o0o0o0o0o0o0*y Kli18WRITE(9,REC=1)MNAME,POINo*A1',AE0o0o0o0o0o0o0o0*y KPROCESSoF1)-1.)g=18writeS.0o0*A1',AE0o0o0o0o0o0o0o0*y Kli18WRITE(9,REC=1)MNAME,POINo*A1',AE0o0o0o0o0o0o0o0**********************************A1',
  1192. C=1 IFFGOOIFughty Kli
  1193. IR=3ghty KliLFIR=JCOLgh8ou gaR*100017ugh(yA1',AE0o0o0o0o0o0o0o0TS.K )GO SPECIAe(manRACe=1
  1194. C=gONT
  1195. t-JCOLeGT8JMAXR=R*100031ughty KliI=JCOLghty KliD"α16-gJCOL=I,JMAXghty Kliy KliIT=JINTAJCOLmghty Kliy KliIS
  1196. F1=STeRomK
  1197. F11.OR.STeRomK
  1198. F12
  1199. C-g=1rn3592
  1200. RdESS
  1201. F1R=R*1000180ghtKlin3592KlD88150T)I1,12
  1202. C-g=1rn3592y Kli
  1203. RdESTeRomKSPKAJ)R=R*1000220ght18.ORn3592C lose bte2-g=18ou gaJINTAJCOLm=K1999,(dTtght16-glC lose bte2-g=18R*100031ugh(yA1',AE0o0o0o0o0o0o0o0SKIP 
  1204. t.3T0*yGO 'at,17uwi
  1205. t-JINTAJCOLmeN97K
  1206. F11.AND.JINTAJCOLmeN97K
  1207. F12R=R*1000220gh(y Kli18WRITE(9,RECCHAN98.LEVEmanRACe=1,0BETWEiN(*SyGO ',ght18 IFKPnRAM=JINTAJCOLmgh(y Kli18WRITE(9,RECMARK(dguPART6OF9STR1 . ()GO DRIEloseG)1l y KliJINTAJCOLm(2:2)=KAT(2:2)teO O O 
  1208. P=JCOLgh('ght19ONT
  1209. t-JCOLeRomJMAXR=R*100031ughty KliJCOL=JCOL+Eghty KliIT=JINTAJCOLmghty KliJINTAJCOLm(2:2)=KAT(2:2)teO O O 
  1210. RdESTeRomKPnRAMm=oryNghty Klin3592
  1211. t-JINTAJCOL+1)eN97KPnRAMm=R*1000200gh(y KliormanIand LIe=1Ae(--t.3T0e=1MIN1L8
  1212. F1IMIe=1
  1213. CilililililJCOL=JCOL+Eghty Klin3592JINTAJCOLm(2:2)=KAT(2:2)teO O O WRITIFghty KliR*100019ugh(y Kli18WRITE(9,RECITE(9,REC=AEVEmanN98D, CHAN98.
  1214. F1IMan
  1215. tDESIRED.
  1216. ,2NNT1
  1217. t-KDTite.Rom1.AND.KPnRAMeN97K
  1218. F11m=oryNghty Klin3592JINTAdP)=KAPSTRghty Klin3592JINTAJCOLm=KAPSTRghty Klin3592J=IP
  1219. ,2ONTllililJ=J+Eghty Klin3592
  1220. t-Je,T7JCOLm=oryNghty Klin3592-g=18g=' JINTAJmeRomKAPSTR
  1221. oryNgh(y KliDUPLICL.TALIe=1Ae(V=1,e(3)O
  1222. tDE1IMIe=1
  1223. CilililililRITE(9,RECCLEVEMOVSTR AJmghty Klin3592lilily KliJINTAJm=KAPSTRghty Klin3592ililiWRITIFghty Klin3592lililR*100021ughty Kliy KliWRITIFghty KliWRITIFghty Kli
  1224. RdESGOOI-Rom-1R=R*10007ugh(y Kli18WRITE(9,RECTS.K )GO ORMAT(1 . =18J=1
  1225. ,22ONT
  1226. t-JCOLeRomJMAXR=R*100031ughty KliJCOL=JCOL+Eghty KliCLEVERS=18gh(y Kli18WRITE(9,REC
  1227. t.3T0A-1998)
  1228.  S=1RT6AG ,I
  1229. ,y Kli
  1230. t-g772-RomKR=R*100017ugh(y Kli18WRITE(9,REC1998)
  1231. uFOUN..CTS.K A*,N
  1232. X0gmanRACe=1.
  1233. ,y KliJINTAJCOLm=K1999,(JINTAJCOLm)1l y KliIT=JINTAJCOLmgh(y Kli18WRITE(9,REC,S8IT -H-te2-g=18
  1234. RdESTeRomKABCA8)R=oryNghRITE(9,REC=THTRN=MOD(KHTite,2meRom0
  1235. in3592lililR*100025ugh(y Kli18WRITE(9,RECMAYBE.L GO R
  1236. in3592WLSE8
  1237. RdESTeRomKABCA12meOR.STeRomKABCA18)R=oryNghRITE(9,REC=THTRN=KHTite.gT.2*,ty Klin3592g='  ANSI-RomKR=CLEVEDIAG.3.(36)ghty KlilililR*100025ughin3592WRITIFgh(y,REC=1)MNAME,POIN
  1238. t.3T0-X-
  1239.  S=1RT6AG ,I.
  1240. ,y Kli
  1241. t-STeN97KABCA24)R=R*100017ugh(y Kli18WRITE(9,RECXuFOUN..CCTS.K A*,N
  1242. X0.
  1243. ,23ONT
  1244. t-JCOLeRomJMAXR=R*100031ughty KliJCOL=JCOL+Eghty KliI
  1245. t-JINTAJCOLmeRomKBLR=R*1000230
  1246. in3592JINTAJCOLm=K1999,(JINTAJCOLm)1l y KliIT=JINTAJCOLmgh(y Kli18WRITE(9,REC,S8IT -*-te2-g=18
  1247. RdESTeRomK
  1248. F11.OR.STeRomK
  1249. F12R=R*100017ugh(y Kli18WRITE(9,REC,S8IT -)-0GO -,-te2-g=18
  1250. RdESTeRomKSPKA2)R=R*1000220ght-g=18
  1251. RdESTeRomKSPKA5)R=R*1000220gh('at(' youINSERT6A9k3MMAghty KliD"α240T)IJMAX,JCOL,MEghty Klin3592JINTAJ+1)=JINTAJmght240TlC lose bte2-g=18JINTAJCOLm=KSPKA2)
  1252. ,y KliJMAX=JMAX+1ghty KliJINTAJMAX+1)=KERMghty KliCLEVEDIAG.3.(25)1l y KliIGOOIF1ghty KliR*1000220gh('at(' youououououououoHOLGERITH FOUN..CCNNDRn  TMITS6OF9FIELD.
  1253. ,28.ORI
  1254. t-gHTRN)8JINTAJCOLm(2:2)=KAT(2:2)te(yA1',AE0oALSONMARK(8mU =18J=1,.
  1255. lin359J=g772te2-g=18g=JCOLght26-glI=IMEghty Kli
  1256. t-JINTAImeRomKBLR=R*100026-ghtKlin3I
  1257. t-gHTRN)8JINTAIm(2:2)=KAT(2:2)telin359)IJ/1ughty Kli
  1258. t-JeGT8KR=R*100026-ghCmat,MPASS,P=Igh,y Kli
  1259. =JCOL+Eghty KliJCOL=JCOL+g772tety Kli
  1260. t-JCOLe,97JMAXR=R*100027ughty KliJINTAJMAX+1)=KBLgh,y KliJMAX=JCOLghty KliJINTAJMAX+1)=KERMgh027uliD"α28NTJ=I,JCOLghty Kliy KliJINTAJm(2:2)=KAT(2:2)tel28NT1C lose bte2-g=18
  1261. t-.NOT.gHTRN)8oryNgh('at(' youIN TiteSL1.e . H-FIELDS
  1262. 9k3PY STR1 . AND1DUPLICL.TAAPOSTROPHa,.
  1263. lilililililJINTAdP)=KAPSTRghty Klin3592gP=IP+Eghty Klin3592J=Ight29NTllililJINTAdP)=JINTAJmghty Klin3592g=' JINTAJmeRomKAPSTR
  1264. oryNghty Klin3592-g=18IP=IP+Eghty Klin3592-g=1rg=' I..G97JR=CLEVEMOVSTR AJmghty Klin3592lililJINTAdP)=KAPSTRghty Klin3592WRITIFghty Klin3592J=J+Eghty Klin3592
  1265. P=IP+Eghty Klin3592
  1266. t-Je,97JCOLm=R*100029ughin3592lililJINTAdP)=KAPSTRght30ONO O O 
  1267. P=IP+Eghty Klin3592
  1268. t-I..,97JCOLm=oryNghty Klin3592-g=18JINTAdP)=KBLghty Kli-g=18ou gaR*1000300ghty Klin3592WRITIFghty KliWRITIFghty KliR*1000220gh('at031u d5=188Fghty KliWRIghty KliSUBRYs INE8
  1269. NITDYgh(at(' youINITIAeIZE TIDY(--tUSED 1.)g=1RT6ARITWHiN(*N
  1270. WR EXECUTED.
  1271. Cte2-g=18
  1272. NCLUDE 'TIDY.
  1273. NC'
  1274. Cte2-g=18
  1275. NIEloFughty KliJUO =7telin359KALMRK(= '* 'at,in359KALTRN= '  'at,in359KB15Fughty KliKCTCHR=KSPKA10)telin359KCTCTLFughty KliKD15F1ughty KliKD79F1ghty KliK
  1276. F11(= ''' 'at,in359K
  1277. F12(= '""'at,in359K
  1278. TiteFughty KliKHTiteF1ghty KliKPR1 F1ghty KliKPUN=MEghty Kli ANSIFughty KliMCOL=ughty KliMCOM=MEghty Kli C lo=ughty KliMEX=ughty KliMLBL=ughty KliMLIO =MEghty Kli PR1 F1ghty KliMPUN=MEghty Kli REIFughty KliMRIT=2tety KliMSERFughty KliNFWRIFughty KliNRYs F1ghCte2-g=185=188Fghty KliWRIghty KliSUBRYs INE8
  1279. OSYS1 (OP,KV,SER,LIO )gh(at(' youOP9k3DES P=1MITTED.
  1280. C' you1 Klin35922 Klin35923 Klin35924
  1281. C' you=1ASE8g=185=WDRn =18WRITE8g=185=AD
  1282. Cte2-g=18
  1283. NCLUDE 'TIDY.
  1284. NC'
  1285. 2-g=18
  1286. NCLUDE 'UNITS.
  1287. NC'
  1288. 2-g=18
  1289. NTEG)
  1290. uOP, KVA8)ghty KliCanRACe=1*21SERA8), LIO (1)
  1291. Cte2-g=18R*1000A10,20,50,80),OPgh(at(' you=1ASE
  1292. Cte2-g=18EloRY8
  1293. OSY11telON=185=WDRn SCFILEghty Kli5=188Fgh(at(' you5=WDRn
  1294. Cte2-g=18EloRY8
  1295. OSY12
  1296. ,2N=185=WDRn SCFILEghty Kli5=188Fgh(at(' youWRITE
  1297. Cte28.ORnWRITE8(SCFILE) KV,1SERghty KliCLEVEREDSTR ASCFILE, LIO , KVA4),IYs N,KV(6),1)ghty KliR*1000120gh(at(' you5=AD
  1298. Cte28N=185=AD8(SCFILE) KV,1SERghty KliCLEVEREDSTR ASCFILE, LIO , KVA4),IYs N,KV(6),2mgh(y Kli18WRITE(9,RECRITE(9,REC11)-1L EXITght1RONO5=188Fghty KliWRIghty KliSUBRYs INE8
  1299. OSYS2 (OP,KV,SER,LIO )gh(at(' youOP9k3DES P=1MITTED.
  1300. C' you1 Klin35922 Klin35923 Klin35924
  1301. C' you=1ASE8g=185=WDRn =18WRITE8g=185=AD
  1302. Cte2-g=18
  1303. NCLUDE 'TIDY.
  1304. NC'
  1305. 2-g=18
  1306. NCLUDE 'UNITS.
  1307. NC'
  1308. 2-g=18
  1309. NTEG)
  1310. uOP, KVA8)ghty KliCanRACe=1*21SERA8), LIO (1)
  1311. Cte2-g=18R*1000A10,20,50,80),OPgh(at(' you=1ASE
  1312. Cte2-g=18EloRY8
  1313. OSY21telON=185=WDRn SCFIL2tety Kli5=188Fgh(at(' you5=WDRn
  1314. Cte2-g=18EloRY8
  1315. OSY22
  1316. ,2N=185=WDRn SCFIL2tety Kli5=188Fgh(at(' youWRITE
  1317. Cte28.ORnWRITE8(SCFIL2) KV,1SERghty KliCLEVEREDSTR ASCFIL2, LIO , KVA4),IYs N,KV(6),1)ghty KliR*1000120gh(at(' you5=AD
  1318. Cte28N=185=AD8(SCFIL2) KV,1SERghty KliCLEVEREDSTR ASCFIL2, LIO , KVA4),IYs N,KV(6),2mgh(y Kli18WRITE(9,RECRITE(9,REC11)-1L EXITght1RONO5=188Fghty KliWRIghty KliCanRACe=1*21FUNCTe(3)KHIDE (C)ghty KliCanRACe=1*21Cte2-g=18CanRACe=1*21KBLghty KliDATA1KBL/' @'/gh(at(' youC lVERT6manRACe=1,0,I=HOLSCN STR1 .S1000SPECIAe(F1)-
  1319. Cte2-g=18KHIDE=KBLghty KliKHIDE(1:1)=C(1:1)te2-g=185=188Fghty KliWRIghty KliSUBRYs INE8KIMPAKgh(at(' youormanRYs INE8PACKS.1UP=1-CARDuIMAGES FROM IYs AIm8
  1320. NTO8KIM(I,J).
  1321. Cte2-g=18
  1322. NCLUDE 'TIDY.
  1323. NC'
  1324. (9,RECTSGICLLuC lDRn
  1325. Cte2-g=18C lDRn=.TRUE.
  1326. Cte2ON=18J=0gh(at,2N=18J=J+Eghty Kli
  1327. t-KLASS.gT.2m=oryNghty Klin3592K7Fughty Kliy KliJLF1ghty Kliy KliJR=72tety Kliy KliR*10009ughin3592WRITIFgh(at(' youINIEloseG8C ULDuMAKETCARDuOVERFAT(1C lose ATe(3S
  1328. 9
  1329. tSO,CRE8ACK.
  1330. ,y Kli
  1331. t-JeGT820m=oryNghty Klin3592
  1332. t-.NOT.C lDRnm=oryNghty Klin3592-g=18CLEVEDIAG.3.(37mghty Klin3592lililJ=20ghty Klin3592ou gaR*1000120ghty Klin3592WRITIFghty Kli-g=18C lDRn=.FALSE.
  1333. lilililililJL=7telin359y KliJR=72tety Kliy KliR*10001ughty KliWRITIFgh(at(' youPRE8ARETCOLUMNS 1-66OF9FIRS=TCARD.
  1334. ,y Kli
  1335. t-C lDRnm=oryNghty Klin3592
  1336. t-JeRom1m=oryNghty Klin3592-g=18K7FICOLSVghty Klin3592-g=18D0030i
  1337. =1,6ghty Klin3592lilily KliKIM(I,1)=IYs AImght30Klin3592-g=18C lose bte2-g=18ou gaWLSEat(' youBLANKTCOLUMN 1-5ghty Klin3592-g=18D0040i
  1338. =1,5ghty Klin3592-g=18y KliKIM(I,J)=KBLght40Klin3592-g=18C lose bte(' youC LUMN 6 -C1998)
  1339. uSERIAeLY UNLESSoCCHRuSET6OoryRWISE.
  1340. lililililily Kli
  1341. t-KCTCTL-RomKR=oryNghty Klin3592-g=18n3592
  1342. t-Je,T711m=oryNghty Klin3592-g=18-g=18y KliKIM(6,J)=KDIGAJmghty Klin3592lilily KliWLSEatty Klin3592-g=18-g=18y KliKIM(6,J)=KSPKA10)telin359y Klin3592ililiWRITIFghty Klin3592lililWLSEatty Klin3592-g=18-g=18KIM(6,J)=KCTCHRghty Klin3592ililiWRITIFghty Klin3592WRITIFgh(at(' youSET6LEFT ED98.OF9T
  1343. X0gh(y Kli1(USEuC L 72
  1344. tEXEMP , NON-INIElo8D, GO DFuPART6OF9STR1 .*,ty Klin3592g='  EXe,T70.OR.SCOLSV-Rom6.OR.(IYs AK7m(2:2)eRomKAT(2:2)telin351 Klin.AND. IYs AK7+1)(2:2)eRomKAT(2:2))R=oryNghRITE(9,REC=lililJL=7telin359y KliWLSEatty Klin3592-g=18JL=ICOLSVghty Klin3592-g=18
  1345. t-JeGT81m=JL=JL+Eghty Klin3592-g=18D0050i
  1346. =7,JLghty Kli-g=18ou gay KliKIM(I,J)=KBLght8.ORn35922-g=18C lose bte2-g=18ou ga-g=18JL=JL+Eghty Klin3592WRITIFgh(at(' youSET6RIGHT ED98.OF9T
  1347. X0gh(y KliFIRS=TGET6RIGHT-MOST POTElosAVEmanR0,I=STR1 . (KRR)telin359y KliJR=72tety Kliy KliKRR=K7+JR-JL+Eghty Klin3592
  1348. t-KRReGT8IMAXR=oryNgh(y KliDFuPAST WRITOF9STL.TMElo
  1349.  S=OP9AT WRI.
  1350. lililililily KliJR=JL+IMAX-K7MEghty Klin3592y KliR*10009ughin3592n3592WRITIFgh(at(' youNT(1CHECKiDFuWETCAN B5=AK8IT ryRE.
  1351. C' youB5=AK8IFuPART6OF9A=STR1 ..8KIMPAKuPROTECTS6DE1IMEe=1,0ALSO.
  1352. l6.ORn35922
  1353. t-IYs AKRR)(2:2)eRomKAT(2:2))iR*10009ugh(at(' youB5=AK8IFuIT Iand BLANKT(.3T0,I=STR1 .mghty Klin3592g=' IYs AKRR)eRomKBLR=R*10009ugh(at(' youR*1BACKiDFuLEFT 8ARENorySISght7.ORn35922
  1354. t-IYs AKRR)eRomKSPKA3)R=oryNghRITE(9,REC=lililKRR=KRRMEghty Klin3592y KliJR=JRMEghty Klin3592y KliR*10007ughin3592n3592WRITIFgh(at(' youB5=AK8)GO SPECIAe(manRACe=1,.
  1355. lilililililD0080i
  1356. =1,14ghty Klin3592-g=1rg=' IYs AKRR)eRomKSPKAI))iR*10009ugh28N=18-g=18C lose bte(at(' youOoryRWISE1BACKiUP ONE, oRY8AG ,I.
  1357. ,y KlilililKRR=KRRMEghty Klin3592JR=JRMEghty Klin3592
  1358. t-JReGT8JLR=R*10006ugh(at(' you
  1359. tR*1LEVE8mU WAY1BACK,8)GOCEuIT 00072tety Kliy KliJR=72tety KliWRITIFgh(at(' youk3PY 8mU T
  1360. X0gh 9NTllD001u0i
  1361. =JL,JRghty Klin3592K7FK7+1ghty Klin3592
  1362. t-K7.,97IMAXR=oryNghi-g=18ou gay KliKIM(I,J)=IYs AK7mtelin359y KliWLSEatty Klin3592-g=18KIM(I,J)=KBLghtn3592ililiWRITIFght1u0i8C lose bte(at(' youSCRUB GARBA98.OFFiWRITIF SHORe=1=orAN 72tety Kli
  1363. t-JRe,T772m=oryNghty Klin3592D00110i
  1364. =JR+1,72tety Kliy Kli-g=18KIM(I,J)=KBLght1ON=18g=18C lose bte2-g=18WRITIFgh(at(' youD00ANOoryR1C lose ATe(3N
  1365. t.ECESSARY.
  1366. ,y Kli
  1367. t-K7.,T8IMAXR=R*100020gh(at,1RONONCD=Jte2-g=185=188Fghty KliWRIghty KliSUBRYs INE8KWSCAN (JT,KSTCR)telin3598ARAMEe=1T(.KST=80)te(at(' youormanRYs INE8SCANS8)GO )GOTite KEYWORDS
  1368. 9SETS JT 000CORRECTat(' youoYPE8
  1369. RdFOUN.,2WLSE8ZERO.
  1370. Cte(' youINPUT:8
  1371. RdJT = 0,8SCANS8WHOLE LIO gh(y Kli18WRITE(9,JT > 0,8ONLY SCANS8orAT WORD.
  1372. Cte2-g=18
  1373. NCLUDE 'TIDY.
  1374. NC'
  1375. (9,REC
  1376. NCLUDE 'UNITS.
  1377. NC'
  1378. Cte2-g=18DIMENSI(3)KSTCR(5)1l y Klik3MM(3)/KSTCOM/)KSTA10,.KST)ghty KliCanRACe=1*21KST,WKSTRA10),K1999,1l y Klik3MM(3)/KST199/)KSTC(6,.KST)ghCte2-g=18
  1379. t-JT-RomKR=oryNghty Klin3592NLF1ghty Kliy KliNU=.KSTghty KliWLSEatty Klin3592NLFJTghty Kliy KliNU=JTghty KliWRITIFgh(at(' youMAKET1999,-CASEuC PY OF9ON=CanRS'  AX=STR1 . LENGTH)ghty KliLAST=JCOLMEghty KliD"α20i
  1380. =1,10te2ON=18y KliLAST=LAST+1ghty Klin3592
  1381. t-LASTeGT8JMAXR=oryNghi-g=18ou gay KliWKSTRAI)=KBLghtn3592ililiWLSEatty Klin3592-g=18g=' JINTALAST)eRomKBLR=R*10001ughty Kliou gay KliWKSTRAI)=K1999, JINTALAST)mtelin359y KliWRITIFght2N=18C lose bte(at2-g=18D0050i
  1382. T=NL,NUghty Kliy KliNINS=KSTC(1,IT)ghCte2-g=18-g=18D0030i
  1383. =1,NINSatty Klin3592-g=18g=' WKSTRAI).NE.KSTAI,IT)R=R*100050ght30Klin3592C lose bte2-g=18ou gaJT=KSTC(6,IT)ghty Kli-g=18D0040i
  1384. =1,5ghty Klin3592-g=18KSTCR(I)=KSTC(I,IT)ght40Klin3592C lose bte2-g=18ou gag='  DEBeGT8KR=WRITE8(Ys FIL,6KR=KSTCR,WKSTRte2-g=18ou ga5=188Fgh(Kli-g=18ou gay KliLOOP9)GO N
  1385. X09STL.TMElo.ght8.ORnC lose bte2-g=18Jo=ughty Kli5=188Fgh(atl6.ORnF1)-AT ('8KWSCAN: ',5I3,1X,10A1)te2-g=18WRIghty KliBLOCKiDATA1KSTDAT
  1386. Cte2-g=18C MM(3)/KSTCOM/telin351 Klin1KST1 K,KST2 K,KST3 K,KST4 K,KST5ghty Kl2 Klin,KST6in,KST7in,KST8in,KST9n,KST1ughty Kl3Klin,KST11n,KST12n,KST13n,KST14n,KST15ghty Kl4Klin,KST16n,KST17n,KST18n,KST19n,KST20ghty Kl5Klin,KST21n,KST22n,KST23n,KST24n,KST25ghty Kl6Klin,KST26n,KST27n,KST28n,KST29n,KST30ghty Kl7Klin,KST31n,KST32n,KST33n,KST34n,KST35ghty Kl8Klin,KST36n,KST37n,KST38n,KST39n,KST40ghty Kl9Klin,KST41n,KST42n,KST43n,KST44n,KST45ghty KlXKlin,KST46n,KST47n,KST48n,KST49n,KST50ghty KlXKlin,KST51n,KST52n,KST53n,KST54n,KST55ghty KlXKlin,KST56n,KST57n,KST58n,KST59n,KST60ghty KlXKlin,KST61n,KST62n,KST63n,KST64n,KST65ghty KlXKlin,KST66n,KST67n,KST68n,KST69n,KST7ughin359XKlin,KST71n,KST72n,KST73n,KST74n,KST75ghty KlXKlin,KST76n,KST77n,KST78n,KST79n,KST8ugh(at(ghty KliCanRACe=1*21KST10A10),KST2 A10),KST3 A10),KST4 A10),KST5 A10)telin359CanRACe=1*21KST6 A10),KST7 A10),KST8 A10),KST9 A10),KST10A10)telin359CanRACe=1*21KST11A10),KST12A10),KST13A10),KST14A10),KST15A10)telin359CanRACe=1*21KST16A10),KST17A10),KST18A10),KST19A10),KST20A10)telin359CanRACe=1*21KST21A10),KST22A10),KST23A10),KST24A10),KST25A10)telin359CanRACe=1*21KST26A10),KST27A10),KST28A10),KST29A10),KST30A10)telin359CanRACe=1*21KST31A10),KST32A10),KST33A10),KST34A10),KST35A10)telin359CanRACe=1*21KST36A10),KST37A10),KST38A10),KST39A10),KST40A10)telin359CanRACe=1*21KST41A10),KST42A10),KST43A10),KST44A10),KST45A10)telin359CanRACe=1*21KST46A10),KST47A10),KST48A10),KST49A10),KST50A10)telin359CanRACe=1*21KST51A10),KST52A10),KST53A10),KST54A10),KST55A10)telin359CanRACe=1*21KST56A10),KST57A10),KST58A10),KST59A10),KST60A10)telin359CanRACe=1*21KST61A10),KST62A10),KST63A10),KST64A10),KST65A10)telin359CanRACe=1*21KST66A10),KST67A10),KST68A10),KST69A10),KST70A10)telin359CanRACe=1*21KST71A10),KST72A10),KST73A10),KST74A10),KST75A10)telin359CanRACe=1*21KST76A10),KST77A10),KST78A10),KST79A10),KST80A10)teCte2-g=18C MM(3)/KST199/telin351 KlinKSTC1 K,KSTC2 K,KSTC3 K,KSTC4 K,KSTC5ghty Kl2 Kli,KSTC6in,KSTC7in,KSTC8in,KSTC9in,KSTC1ughty Kl3Klin,KSTC11n,KSTC12n,KSTC13n,KSTC14n,KSTC15ghty Kl4Klin,KSTC16n,KSTC17n,KSTC18n,KSTC19n,KSTC20ghty Kl5Klin,KSTC21n,KSTC22n,KSTC23n,KSTC24n,KSTC25ghty Kl6Klin,KSTC26n,KSTC27n,KSTC28n,KSTC29n,KSTC30ghty Kl7Klin,KSTC31n,KSTC32n,KSTC33n,KSTC34n,KSTC35ghty Kl8Klin,KSTC36n,KSTC37n,KSTC38n,KSTC39n,KSTC40ghty Kl9Klin,KSTC41n,KSTC42n,KSTC43n,KSTC44n,KSTC45ghty KlXKlin,KSTC46n,KSTC47n,KSTC48n,KSTC49n,KSTC50ghty KlXKlin,KSTC51n,KSTC52n,KSTC53n,KSTC54n,KSTC55ghty KlXKlin,KSTC56n,KSTC57n,KSTC58n,KSTC59n,KSTC60ghty KlXKlin,KSTC61n,KSTC62n,KSTC63n,KSTC64n,KSTC65ghty KlXKlin,KSTC66n,KSTC67n,KSTC68n,KSTC69n,KSTC7ughin359XKlin,KSTC71n,KSTC72n,KSTC73n,KSTC74n,KSTC75ghty KlXKlin,KSTC76n,KSTC77n,KSTC78n,KSTC79n,KSTC8ughty KliDIMENSI(3)KSTC10A6),KSTC2 A6),KSTC3 A6),KSTC4 A6),KSTC5 A6)ghty KliDIMENSI(3)KSTC6 A6),KSTC7 A6),KSTC8 A6),KSTC9 A6),KSTC10A6)ghty KliDIMENSI(3)KSTC11A6),KSTC12A6),KSTC13A6),KSTC14A6),KSTC15A6)ghty KliDIMENSI(3)KSTC16A6),KSTC17A6),KSTC18A6),KSTC19A6),KSTC20A6)ghty KliDIMENSI(3)KSTC21A6),KSTC22A6),KSTC23A6),KSTC24A6),KSTC25A6)ghty KliDIMENSI(3)KSTC26A6),KSTC27A6),KSTC28A6),KSTC29A6),KSTC30A6)ghty KliDIMENSI(3)KSTC31A6),KSTC32A6),KSTC33A6),KSTC34A6),KSTC35A6)ghty KliDIMENSI(3)KSTC36A6),KSTC37A6),KSTC38A6),KSTC39A6),KSTC40A6)ghty KliDIMENSI(3)KSTC41A6),KSTC42A6),KSTC43A6),KSTC44A6),KSTC45A6)ghty KliDIMENSI(3)KSTC46A6),KSTC47A6),KSTC48A6),KSTC49A6),KSTC50A6)ghty KliDIMENSI(3)KSTC51A6),KSTC52A6),KSTC53A6),KSTC54A6),KSTC55A6)ghty KliDIMENSI(3)KSTC56A6),KSTC57A6),KSTC58A6),KSTC59A6),KSTC60A6)ghty KliDIMENSI(3)KSTC61A6),KSTC62A6),KSTC63A6),KSTC64A6),KSTC65A6)ghty KliDIMENSI(3)KSTC66A6),KSTC67A6),KSTC68A6),KSTC69A6),KSTC70A6)ghty KliDIMENSI(3)KSTC71A6),KSTC72A6),KSTC73A6),KSTC74A6),KSTC75A6)ghty KliDIMENSI(3)KSTC76A6),KSTC77A6),KSTC78A6),KSTC79A6),KSTC80A6)gh(at(' you/KST/telin35iDATA1KST 1/'A','C','C','E','P','T',' ',' ',' ',' '/telin35iDATA1KST 2/'A','S','C','E','N','T',' ',' ',' ',' '/telin35iDATA1KST 3/'A','S','S','I','G','N',' ',' ',' ',' '/telin35iDATA1KST 4/'B','A','C','K','S','P','A','C','E','('/telin35iDATA1KST 5/'B','L','O','C','K','D','A','T','A',' '/telin35iDATA1KST 6/'B','U','F','F','E','R','I','N','(',' '/telin35iDATA1KST 7/'B','U','F','F','E','R','O','U','T','('/telin35iDATA1KST 8/'C','A','L','L',' ',' ',' ',' ',' ',' '/telin35iDATA1KST 9/'C','H','A','R','A','C','T','E','R',' '/telin35iDATA1KST10/'C','O','M','M','O','N',' ',' ',' ',' '/telin35iDATA1KST11/'C','O','M','P','L','E','X',' ',' ',' '/telin35iDATA1KST12/'C','O','N','T','I','N','U','E',' ',' '/telin35iDATA1KST13/'D','A','T','A',' ',' ',' ',' ',' ',' '/telin35iDATA1KST14/'D','E','C','O','D','E','(',' ',' ',' '/telin35iDATA1KST15/'D','I','M','E','N','S','I','O','N',' '/telin35iDATA1KST16/'D','O','U','B','L','E','P','R','E','C'/telin35iDATA1KST17/'D','O','U','B','L','E',' ',' ',' ',' '/telin35iDATA1KST18/'E','N','C','O','D','E','(',' ',' ',' '/telin35iDATA1KST19/'E','N','D','F','I','L','E','(',' ',' '/telin35iDATA1KST20/'E','N','D','I','F',' ',' ',' ',' ',' '/telin35iDATA1KST21/'E','N','D','F','I','L','E',' ',' ',' '/telin35iDATA1KST22/'E','N','T','R','Y',' ',' ',' ',' ',' '/telin35iDATA1KST23/'E','Q','U','I','V','A','L','E','N','C'/telin35iDATA1KST24/'E','X','T','E','R','N','A','L',' ',' '/telin35iDATA1KST25/'F','I','N','I','S',' ',' ',' ',' ',' '/telin35iDATA1KST26/'F','O','R','M','A','T','(',' ',' ',' '/telin35iDATA1KST27/'F','O','R','T','R','A','N',' ',' ',' '/telin35iDATA1KST28/'I','F','(','U','N','I','T',',',' ',' '/telin35iDATA1KST29/'F','U','N','C','T','I','O','N',' ',' '/telin35iDATA1KST30/'G','O','T','O','(',' ',' ',' ',' ',' '/telin35iDATA1KST31/'G','O','T','O',' ',' ',' ',' ',' ',' '/telin35iDATA1KST32/'I','F','A','C','C','U','M','U','L','A'/telin35iDATA1KST33/'I','F','Q','U','O','T','I','E','N','T'/telin35iDATA1KST34/'I','F','(','D','I','V','I','D','E','C'/telin35iDATA1KST35/'I','F','(','E','N','D','F','I','L','E'/telin35iDATA1KST36/'I','F','(','S','E','N','S','E','L','I'/telin35iDATA1KST37/'I','F','(','S','E','N','S','E','S','W'/telin35iDATA1KST38/'I','F','(',' ',' ',' ',' ',' ',' ',' '/telin35iDATA1KST39/'I','N','T','E','G','E','R',' ',' ',' '/telin35iDATA1KST40/'L','O','G','I','C','A','L',' ',' ',' '/telin35iDATA1KST41/'M','A','C','H','I','N','E',' ',' ',' '/telin35iDATA1KST42/'N','A','M','E','L','I','S','T',' ',' '/telin35iDATA1KST43/'P','A','U','S','E',' ',' ',' ',' ',' '/telin35iDATA1KST44/'P','R','I','N','T',' ',' ',' ',' ',' '/telin35iDATA1KST45/'P','R','O','G','R','A','M',' ',' ',' '/telin35iDATA1KST46/'P','U','N','C','H',' ',' ',' ',' ',' '/telin35iDATA1KST47/'R','E','A','D','I','N','P','U','T','T'/telin35iDATA1KST48/'R','E','A','D','T','A','P','E',' ',' '/telin35iDATA1KST49/'R','E','A','D','(',' ',' ',' ',' ',' '/telin35iDATA1KST50/'R','E','A','D',' ',' ',' ',' ',' ',' '/telin35iDATA1KST51/'R','E','A','L',' ',' ',' ',' ',' ',' '/telin35iDATA1KST52/'R','E','T','U','R','N',' ',' ',' ',' '/telin35iDATA1KST53/'R','E','W','I','N','D','(',' ',' ',' '/telin35iDATA1KST54/'S','E','G','M','E','N','T',' ',' ',' '/telin35iDATA1KST55/'S','E','N','S','E','L','I','G','H','T'/telin35iDATA1KST56/'S','T','O','P',' ',' ',' ',' ',' ',' '/telin35iDATA1KST57/'S','U','B','R','O','U','T','I','N','E'/telin35iDATA1KST58/'T','Y','P','E',' ',' ',' ',' ',' ',' '/telin35iDATA1KST59/'W','R','I','T','E','O','U','T','P','U'/telin35iDATA1KST60/'W','R','I','T','E','T','A','P','E',' '/telin35iDATA1KST61/'W','R','I','T','E','(',' ',' ',' ',' '/telin35iDATA1KST62/'O','V','E','R','L','A','Y',' ',' ',' '/telin35iDATA1KST63/'I','D','E','N','T',' ',' ',' ',' ',' '/telin35iDATA1KST64/'F','R','E','Q','U','E','N','C','Y',' '/telin35iDATA1KST65/'I','M','P','L','I','C','I','T',' ',' '/telin35iDATA1KST66/'L','E','V','E','L',' ',' ',' ',' ',' '/telin35iDATA1KST67/'E','L','S','E','I','F',' ',' ',' ',' '/telin35iDATA1KST68/'E','L','S','E',' ',' ',' ',' ',' ',' '/telin35iDATA1KST69/'T','H','E','N',' ',' ',' ',' ',' ',' '/telin35iDATA1KST70/'C','L','O','S','E','(',' ',' ',' ',' '/telin35iDATA1KST71/'I','N','C','L','U','D','E',' ',' ',' '/telin35iDATA1KST72/'I','N','Q','U','I','R','E','(',' ',' '/telin35iDATA1KST73/'I','N','T','R','I','N','S','I','C',' '/telin35iDATA1KST74/'O','P','E','N','(',' ',' ',' ',' ',' '/telin35iDATA1KST75/'P','A','R','A','M','E','T','E','R',' '/telin35iDATA1KST76/'S','A','V','E',' ',' ',' ',' ',' ',' '/telin35iDATA1KST77/'B','A','C','K','S','P','A','C','E',' '/telin35iDATA1KST78/'E','N','D',' ',' ',' ',' ',' ',' ',' '/telin35iDATA1KST79/'R','E','W','I','N','D',' ',' ',' ',' '/telin35iDATA1KST80/'C','L','O','S','E',' ',' ',' ',' ',' '/te(at(' you/KST199/te(' you********* NOTE - KPOS IS ADDED TO INSULATE PASS1 FROM ADDITI(3Ste(' youTO ABOVE TABLE.  WHEN ADDING NEW STATEMENTS, SET KPOS TO THEte(' youNEW VALUE OF NKST RATHER THAN THE ORDINAL POSITI(3 OF THE NEWte(' youADDITI(3 TO THE TABLE.te(' yououououououououNINSinKLASS  JTYPE NANSIlinKSTROK KlinKPOStelin35iDATA1KSTC51 /y Kl6,ty Kl7,ty K33,ty K1,uououou0,uououou 1/telin35iDATA1KSTC52 /y Kl6,ty Kl2,ty K1 ,ty K1,uououou0,uououou 2/telin35iDATA1KSTC53 /y Kl6,ty Kl7,ty K2 ,ty K0,uououou0,uououou 3/telin35iDATA1KSTC54 /y K10,ty Kl7,ty K47,ty K0,uououou0,uououou 4/telin35iDATA1KSTC55 /y Kl9,ty Kl2,ty K4 ,ty K0,uououou0,uououou 5/telin35iDATA1KSTC56 /y Kl9,ty Kl6,ty K5 ,ty K1,uououou0,uououou 6/telin35iDATA1KSTC57 /y K10,ty Kl6,ty K5 ,ty K1,uououou0,uououou 7/telin35iDATA1KSTC58 /y Kl4,ty Kl7,ty K6 ,ty K0,uououou1,uououou 8/telin35iDATA1KSTC59 /y Kl9,ty Kl3,ty K46,ty K0,uououou0,uououou 9/telin35iDATA1KSTC10 /y Kl6,ty Kl3,ty K7 ,ty K0,uououou0,uououou10/telin35iDATA1KSTC11 /y Kl7,ty Kl3,ty K46,ty K0,uououou0,uououou11/telin35iDATA1KSTC12 /y Kl8,uouou4,ty K8 ,ty K0,uououou0,uououou12/telin35iDATA1KSTC13 /y Kl4,ty Kl3,ty K9 ,ty K0,uououou1,uououou13/telin35iDATA1KSTC14 /y Kl7,ty Kl7,ty K10,ty K1,uououou0,uououou14/telin35iDATA1KSTC15 /y Kl9,ty Kl3,ty K11,ty K0,uououou0,uououou15/telin35iDATA1KSTC16 /y K10,ty Kl3,ty K12,ty K0,uououou0,uououou16/telin35iDATA1KSTC17 /y Kl6,ty Kl3,ty K13,ty K0,uououou0,uououou17/telin35iDATA1KSTC18 /y Kl7,ty Kl7,ty K10,ty K1,uououou0,uououou18/telin35iDATA1KSTC19 /y Kl8,ty Kl7,ty K47,ty K0,uououou0,uououou19/telin35iDATA1KSTC20 /y Kl5,ty K11,ty K48,ty K0,uououou0,uououou20/telin35iDATA1KSTC21 /y Kl7,ty Kl6,ty K15,ty K0,uououou0,uououou21/telin35iDATA1KSTC22 /y Kl5,ty K11,ty K3 ,ty K0,uououou0,uououou22/telin35iDATA1KSTC23 /y K10,ty Kl3,ty K17,ty K0,uououou0,uououou23/telin35iDATA1KSTC24 /y Kl8,ty Kl3,ty K3 ,ty K0,uououou0,uououou24/telin35iDATA1KSTC25 /y Kl5,ty Kl3,ty K18,ty K1,uououou0,uououou25/telin35iDATA1KSTC26 /y Kl7,ty Kl5,ty K19,ty K0,uououou1,uououou26/telin35iDATA1KSTC27 /y Kl7,ty Kl2,ty K20,ty K1,uououou0,uououou27/telin35iDATA1KSTC28 /y Kl8,ty Kl7,ty K42,ty K1,uououou1,uououou28/telin35iDATA1KSTC29 /y Kl8,ty Kl2,ty K35,ty K0,uououou0,uououou29/telin35iDATA1KSTC30 /y Kl5,ty Kl7,ty K23,ty K0,uououou0,uououou30/telin35iDATA1KSTC31 /y Kl4,ty Kl7,ty K24,ty K0,uououou0,uououou31/telin35iDATA1KSTC32 /y K10,ty Kl7,ty K25,ty K1,uououou1,uououou32/telin35iDATA1KSTC33 /y K10,ty Kl7,ty K26,ty K1,uououou1,uououou33/telin35iDATA1KSTC34 /y K10,ty Kl7,ty K27,ty K1,uououou1,uououou34/telin35iDATA1KSTC35 /y K10,ty Kl7,ty K28,ty K1,uououou1,uououou35/telin35iDATA1KSTC36 /y K10,ty Kl7,ty K29,ty K1,uououou1,uououou36/telin35iDATA1KSTC37 /y K10,ty Kl7,ty K30,ty K1,uououou1,uououou37/telin35iDATA1KSTC38 /y Kl3,ty Kl7,ty K31,ty K0,uououou1,uououou38/telin35iDATA1KSTC39 /y Kl7,ty Kl3,ty K46,ty K0,uououou0,uououou39/telin35iDATA1KSTC40 /y Kl7,ty Kl3,ty K46,ty K0,uououou0,uououou40/telin35iDATA1KSTC41 /y Kl7,ty Kl2,ty K1 ,ty K1,uououou0,uououou41/telin35iDATA1KSTC42 /y Kl8,uouou3,ty K32,ty K1,uououou0,uououou42/telin35iDATA1KSTC43 /y Kl5,ty Kl6,ty K3 ,ty K0,uououou1,uououou43/telin35iDATA1KSTC44 /y Kl5,ty Kl7,ty K33,ty K0,uououou1,uououou44/telin35iDATA1KSTC45 /y Kl7,ty Kl2,ty K35,ty K0,uououou0,uououou45/telin35iDATA1KSTC46 /y Kl5,ty Kl7,ty K33,ty K1,uououou1,uououou46/telin35iDATA1KSTC47 /y K10,ty Kl7,ty K36,ty K0,uououou0,uououou47/telin35iDATA1KSTC48 /y Kl8,ty Kl6,ty K37,ty K0,uououou0,uououou48/telin35iDATA1KSTC49 /y Kl5,ty Kl7,ty K38,ty K0,uououou1,uououou49/telin35iDATA1KSTC50 /y Kl4,ty Kl7,ty K33,ty K0,uououou1,uououou50/telin35iDATA1KSTC51 /y Kl4,ty Kl3,ty K46,ty K0,uououou0,uououou51/telin35iDATA1KSTC52 /y Kl6,ty Kl6,ty K39,ty K0,uououou0,uououou52/telin35iDATA1KSTC53 /y Kl7,ty Kl7,ty K47,ty K0,uououou0,uououou53/telin35iDATA1KSTC54 /y Kl7,ty Kl9,ty K34,ty K1,uououou0,uououou54/telin35iDATA1KSTC55 /y K10,ty Kl6,ty K40,ty K1,uououou0,uououou55/telin35iDATA1KSTC56 /y Kl4,ty Kl6,ty K41,ty K0,uououou1,uououou56/telin35iDATA1KSTC57 /y K10,ty Kl2,ty K35,ty K0,uououou0,uououou57/telin35iDATA1KSTC58 /y Kl4,ty Kl7,ty K33,ty K1,uououou0,uououou58/telin35iDATA1KSTC59 /y K10,ty Kl7,ty K44,ty K0,uououou1,uououou59/telin35iDATA1KSTC60 /y Kl9,ty Kl6,ty K45,ty K0,uououou1,uououou60/telin35iDATA1KSTC61 /y Kl6,ty Kl7,ty K38,ty K0,uououou1,uououou61/telin35iDATA1KSTC62 /y Kl7,ty Kl9,ty K34,ty K1,uououou0,uououou62/telin35iDATA1KSTC63 /y Kl5,ty Kl9,ty K22,ty K1,uououou0,uououou63/telin35iDATA1KSTC64 /y Kl9,ty Kl3,ty K21,ty K1,uououou0,uououou64/telin35iDATA1KSTC65 /y Kl8,ty Kl3,ty K3 ,ty K0,uououou0,uououou65/telin35iDATA1KSTC66 /y Kl5,ty Kl3,ty K3 ,ty K1,uououou0,uououou66/telin35iDATA1KSTC67 /y Kl6,ty K11,ty K43,ty K0,uououou1,uououou67/telin35iDATA1KSTC68 /y Kl4,ty K11,ty K49,ty K0,uououou0,uououou68/telin35iDATA1KSTC69 /y Kl4,ty K11,ty K 3,ty K0,uououou0,uououou69/telin35iDATA1KSTC70 /y Kl6,ty Kl7,ty K47,ty K0,uououou0,uououou70/telin35iDATA1KSTC71 /y Kl7,ty K11,ty K3 ,ty K1,uououou0,uououou71/telin35iDATA1KSTC72 /y Kl8,uouou7,ty K47,ty K0,uououou1,uououou72/telin35iDATA1KSTC73 /y Kl9,ty Kl3,ty K3 ,ty K0,uououou0,uououou73/telin35iDATA1KSTC74 /y Kl5,ty Kl7,ty K47,ty K0,uououou1,uououou74/telin35iDATA1KSTC75 /y Kl9,ty Kl3,ty K3 ,ty K0,uououou1,uououou75/telin35iDATA1KSTC76 /y Kl4,ty Kl3,ty K3 ,ty K0,uououou0,uououou76/telin35iDATA1KSTC77 /y Kl9,ty Kl6,ty K3 ,ty K0,uououou0,uououou77/telin35iDATA1KSTC78 /y Kl3,ty Kl8,ty K16,ty K0,uououou0,uououou78/telin35iDATA1KSTC79 /y Kl6,ty Kl6,ty K3 ,ty K0,uououou0,uououou79/telin35iDATA1KSTC80 /y Kl5,ty Kl6,ty K3 ,ty K0,uououou0,uououou80/telin35iENDtelin35iSUBROUTINE MOVSTR (J)telin35iINCLUDE 'TIDY.INC'te(at(' youADDSK1 BYTE TO STRING BY SHIFTING UNPROCESSED CHARS RIGHT.te(' youUSED BY HOLSCN WHEN REPLICATING APOSTROPHESte(atlin35iDOK10 I=JMAX,J,-1atlin35i5i5i5JINT(I+1)=JINT(I)tel10   CONTINUEatlin35iJMAX=JMAX+1atlin35iJINT(JMAX+1)=KERMatlin35iJ=J+1atlin35iJCOL =iJCOL+1atlin35iRETURNtelin35iENDtelin35iSUBROUTINE NOPRO (IFLAG)te(at(' youTHIS SUBROUTINE EXECUTES A HIGH-SPEED SEARCH FOR AN END STATEMENT.te(' youIF MP2 IS ON, CARD IMAGES ARE WRITTEN (3 TAPE 1 FOR USE BY PASS2.te(' youNO INTERNAL PROCESSING IS DONE ON THE STATEMENTS.te(atlin35iINCLUDE 'TIDY.INC'te(in35iSET INITIAL VALUES.te(atlin35iCALL IOSY11atlin35iCALL IOSY21atlin35iNRT2=0atlin35iNDEF=0atlin35iKLASS=1atlin35iITYPE=0atlin35iL15=0atlin35iIF (MP2.EQ.0) GO TO 20te(at(' youWRITE OUT STATEMENT CURRENTLY INiJINT.te(atlin35iIMAX=JMAXatlin35iKLASS=2atlin35iCALL IOSYS1 (3,KILI,SERIAL,JINT)telin35iNRT1=1atlin35iKLASS=3atlin35iIF (JMAX.GT.72)iCALL DIAGNO (28)telin35iGO TO 20te(at(' youREAD AND COPY CARD IMAGES BY WAY OF KBUFF.te(atl10   CALL READERatl20   NREC=NREC+1at(at(' youLOOK FOR LASTuNON-BLANK CHARACTER ON CARD.te(atlin35iI=72atl30   IF (KBUFF(I).NE.KBL) GO TO 40atlin35iI=I-1atlin35iIF (I.GT.7) GO TO 30atl40   IMAX=Iat(at(' youLOOK FOR END STATEMENT INiINPUT BUFFER KBUFFte(atlin35iJ=3atlin35iDOK50 I=7,IMAXatlin35iK=Iatlin35iIF (KBUFF(I).EQ.KBL) GO TO 50atlin35iIF (KBUFF(I).NE.KEND(J)) GO TO 60atlin35iJ=J-1atlin35iIF (J.EQ.0) GO TO 70atl50   CONTINUEatlin35iGO TO 60at(at(' youFOUND AN END CARD IF NEXT CHAR IS BLANK.te 7035iIF (KBUFF(K+1).EQ.KBL) KLASS=8te(at(' youWRITE OUT CARD IMAGE FOR PASS2.te(te 6035iIF (MP2.NE.0) THENtelin35iCALL IOSYS1 (3,KILI,SERIAL,KBUFF)telin35iNRT1=NRT1+1atlin35iENDIFte(at(' youGET NEXT RECORD UNLESS END CARD OR EOFatlin35iIF (IQUIT.NE.1.AND.KLASS.NE.8) GO TO 10at(at(' youCLOSE FILEatlin35iIF (MP2.NE.0) CALL IOSY12at(at(' youLOAD BUFFER, KBUFF, BEFORE EXITING.te(te 9035iIF (IQUIT.EQ.0) CALL READERatlin35iRETURNtelin35iENDtelin35iINTEGER FUNCTI(3 OPFIL(KUNIT,FNAME,KTYPE,KNOUT,EXPRES,LENGTH)te(-------------------------------------------------------------------------te(----uTHIS IS THE OPEN FILE FUNCTI(3 BY W.J. MEERSCHAERT & P.J. DAUGHERTYte(----uJULY 25,t1986te(----uDUMMY PARAMETERS ARE AS FOLLOWS:at(at(' yoIUNIT....UNIT 199BER OF THE FILE TO BE OPENED, PREFERRABLY > 20te( youFNAME....NAME OF FILE TO BE OPENED, IF SCRATCH, IT IS IGNORED,te(' yououououououoIF MISSING, IT IS PROMPTED FORat(' yoITYPE....TYPE OF FILE TO BE OPENED, AS FOLLOWS:at(uouououououo>035iRECL FOR A DIRECT ACCESS UNFORMATTED FILEat(uouououououo>100000 DIRECT ACCESS FORMATTED FILEiRECL=MOD(ITYPE,100000)te(' yououououou0youFORMATTED SEQUENTIAL FILEat(uouououououo<0youUNFORMATTED SEQUENTIAL FILEat(uouoINOUT....SPECIFIES WHAT THE FILE IS FOR:at(uouououououo-2ouoINPUT FILE, IF NOT EXIST, EXIT WITH ERROR CODEat(uouououououo-1ouoINPUT FILE, IF NOT EXIST, PROMPT USER FOR NEW NAMEte(' yououououou0youSCRATCH FILEat(uouououououo 1ouoOUTPUT FILE, IF EXIST, PROMPT USER FOR ACTI(3at(uouououououo 2ouoOUTPUT FILE, IF EXIST, OVERWRITE AUTOMATICALLYat(uouououououo 3ouoOUTPUT FILE, IF EXIST, APPEND AUTOMATICALLYat(uouououououo 4ouoOUTPUT FILE, IF EXIST, EXIT WITH ERROR CODEat(uouoEXPRES...EXPRESSI(3 FOR PROMPTING USER FOR FILENAMEte(' yoLENGTH...N99BER OF LINES INiOLD PART OF APPENDED FILEat(te('OPFILiRETURNS THE FOLLOWING:at(uouo0......ALL IS WELLat(uouo>0.....COMPILER OR SYSTEM ERROR MESSAGE (3 OPEN STATEMENTat(uouo1......USER EOF (3 AuREAD PROMPT (I.E., ABORT OPEN)te(' yo2......ERROR CODE BASED ONiINOUT, FILE M=NOT OPENEDat(te(-------------------------------------------------------------------------telin35iCHARACTER FNAME*(*),EXPRES*(*),ANStelin35iINTEGER DOSDEVatlin35iLOGICALoEXST,FILOPNtelin35iINCLUDE 'UNITS.INC'te(at(----uREASSIGNiINTEGER DUMMY VARIABLESte(atlin35iIUNIT=KUNITatlin35iITYPE=KTYPEtelin35iINOUT=KNOUTatlin35iLENGTH=0at(at(----uOPEN SCRATCH FILEat(atlin35iIF (INOUT.EQ.0) THENtelin35iin35iIF (ITYPE)K10,20,30atl10        OPEN (IUNIT,STATUS='SCRATCH',FORM='UNFORMATTED',ACCESS='SEQUEtelin351NTIAL',IOSTAT=OPFIL)telin35iin35iRETURNtel20        OPEN (IUNIT,STATUS='SCRATCH',FORM='FORMATTED',ACCESS='SEQUENTatlin351IAL',IOSTAT=OPFIL)telin35iin35iRETURNtel30        IF (ITYPE.GT.100000) THENtelin35iin35iin35iITYPE=MOD(ITYPE,100000)telin35iin35iin35iOPEN (IUNIT,ACCESS='DIRECT',STATUS='SCRATCH',RECL=ITYPE,atlin351FORM='FORMATTED',IOSTAT=OPFIL)telin35iin35iELSEtelin35iin35iin35iOPEN (IUNIT,ACCESS='DIRECT',STATUS='SCRATCH',RECL=ITYPE,atlin351FORM='UNFORMATTED',IOSTAT=OPFIL)telin35iin35iEND IFtelin35iin35iRETURNtelin35iEND IFte(at(----uCHECK FOR LOGIC OF ARGUMENTS AND FILE PROPERTIESte(atl4035iIF (FNAME.EQ.' '.AND.INOUT.NE.2) THENtelin35iin35iWRITE (STDERR,190) EXPREStelin35iin35iREAD (STDIN,200,END=170) FNAMEtelin35iin35iIF (FNAME(1:1).EQ.'?') THENtelin35iin35iin35iPAUSE 'Type DIR to see a list of files'telin35iin35iin35iFNAME=' 'telin35iin35iin35iGO TO 40atlin35iin35iELSEiIF (FNAME(1:1).EQ.'>'.AND.FNAME(2:2).NE.'>') THENtelin35iin35iin35iIF (INOUT.GT.0) INOUT=2atlin35iin35iin35iFNAME=FNAME(2:)telin35iin35iELSEiIF (FNAME(1:2).EQ.'>>') THENtelin35iin35iin35iIF (INOUT.GT.0) INOUT=3atlin35iin35iin35iFNAME=FNAME(3:)telin35iin35iELSEtelin35iin35iin35iIF (INOUT.GT.0) INOUT=1atlin35i5i5i5END IFtelin35iEND IFte(at(----uGET EXST AND FILOPNte(atlin35iINQUIRE (FILE=FNAME,EXIST=EXST,OPENED=FILOPN)te(at(' youDON'TuOPEN SAME FILE TWICE.atlin35iIF (FILOPN) THENtelin35iin35iWRITE (STDERR,210) FNAMEtelin35iin35iFNAME=' 'telin35iin35iGO TO 40atlin35iEND IFte(at(----uINPUT FILEat(atlin35iIF (.NOT.EXST.AND.INOUT.LT.0) THENtelin35iin35iIF (INOUT.EQ.-1) THENtelin35iin35iin35iWRITE (STDERR,220) FNAMEtelin35iin35iin35iFNAME=' 'telin35iin35iin35iGO TO 40atlin35iin35iELSEiIF (INOUT.EQ.-2) THENtelin35iin35iin35iGO TO 180atlin35iin35iEND IFte(at(----uOUTPUT FILEat(atlin35iELSEiIF (EXST.AND.INOUT.EQ.1) THENte(atlin35iin35iISDEV =i0at(at(' youDOS DEVICES ARE OK IF THEY EXISTatlin35iin35iISDEV =i DOSDEV(FNAME)telin35iin35iIF (ISDEV.GT.0) THENtelin35iin35iin35iINOUT=2atlin35iin35iin35iGO TO 60atlin35iin35iEND IFte(at(in35iOTHERWISE ASK USER WHAT TO DO.atl50   in35iWRITE (STDERR,230) EXPRES,FNAMEtelin35iin35iREAD (STDIN,240,END=170) ANStelin35iin35iIF (ANS.EQ.'o'.OR.ANS.EQ.'O') THENtelin35iin35iin35iINOUT=2atlin35iin35iELSEiIF (ANS.EQ.'a'.OR.ANS.EQ.'A') THENtelin35iin35iin35iINOUT=3atlin35iin35iELSEiIF (ANS.EQ.'n'.OR.ANS.EQ.'N') THENtelin35iin35iin35iFNAME=' 'telin35iin35iin35iGO TO 40atlin35iin35iELSEtelin35iin35iin35iGO TO 50atlin35i5i5i5END IFtelin35iELSEiIF (EXST.AND.INOUT.EQ.4) THENtelin35iin35iOPFIL=2atlin35iin35iRETURNtelin35iEND IFte(at(----uOPEN FILEte(te 6035iIF (ITYPE)K70,80,90te 7035iOPEN (IUNIT,FILE=FNAME,STATUS='UNKNOWN',FORM='UNFORMATTED',ACCESS=atlin351'SEQUENTIAL',IOSTAT=OPFIL)telin35iGO TO 100te 8035iOPEN (IUNIT,FILE=FNAME,STATUS='UNKNOWN',FORM='FORMATTED',ACCESS='Satlin351EQUENTIAL',IOSTAT=OPFIL)telin35iGO TO 100te 9035iIF (ITYPE.GT.100000) THENtelin35iin35iITYPE=MOD(ITYPE,100000)telin35iin35iOPEN (IUNIT,FILE=FNAME,STATUS='UNKNOWN',FORM='FORMATTED',ACCEatlin351SS='DIRECT',RECL=ITYPE,IOSTAT=OPFIL)telin35iELSEtelin35iin35iOPEN (IUNIT,FILE=FNAME,STATUS='UNKNOWN',FORM='UNFORMATTED',ACatlin351CESS='DIRECT',RECL=ITYPE,IOSTAT=OPFIL)telin35iEND IFtelin35iRETURNtel1005iREWINDiIUNITte(at(----uAPPEND IF REQUESTEDat(atlin35iIF (INOUT.EQ.3) THENtelin35iin35iIF (ITYPE)K110,120,120tel110       READ (IUNIT,END=130)telin35iin35iLENGTH=LENGTH+1atlin35iin35iGO TO 110tel120       READ (IUNIT,240,END=130) ANStelin35iin35iLENGTH=LENGTH+1atlin35iin35iGO TO 120tel130       REWINDiIUNITtelin35iin35iDOK1603N=1,LENGTHtelin35iin35iin35iIF (ITYPE)K140,150,150tel140   in35i    READ (IUNIT)telin35iin35iin35iGO TO 160atl150   in35i    READ (IUNIT,240) ANStel16035i    CONTINUEatlin35iin35iEND FILE IUNITtelin35iin35iBACKSPACE (IUNIT)telin35iEND IFte(at(----uALL DONEat(atlin35iRETURNtel17035OPFIL=1atlin35iRETURNtel18035OPFIL=2atlin35iRETURNteCte(atl19035FORMAT (/T3,'Open the ',A,' file'/T3,'Enter a file name here: ')tel20035FORMAT (A)tel21035FORMAT (/T3,'File already open: ',A)tel22035FORMAT (/T3,'File not found: ',A)tel23035FORMAT (/T10,A/T3,'File exists: ',A/T5,'[O]verwrite'/T5,'[A]ppend'telin351/T5,'[N]ew file spec'/T3,'Enter here: ')tel24035FORMAT (A1)telin35iENDtelin35iSUBROUTINE PAGE (N)te(at(' youTHIS SUBROUTINE DOES THE GENERAL PAGE COUNTING FOR TIDY WHILEat(uououLIMITING THE OUTPUT TO MAXLIN LINES PER PAGE.te(at(' youin35iN>03--uI WILL WRITE N LINES.  START A NEW PAGE IF NECESSARY.te(' youin35iN=03--uSTART A NEW PAGE.te(' youin35iN<03--uSTART A NEW PAGE IF .LT. -N LINES ARE LEFT.te(atlin35iINCLUDE 'TIDY.INC'telin35iINCLUDE 'UNITS.INC'teiin35iDATA MAXLIN /56/at(atlin35iIF (N)K10,30,20te(' yououououououououououououoCONDITI(3ALoEJECT (NO LINES WRITTEN)tel10   IF ((LINE-N).LE.MAXLIN)iRETURNtelin35iGO TO 30atl20   LINE=LINE+Ntelin35iIF (LINE.LE.MAXLIN)iRETURNte(' yououououououououououououoMAKE NEW PAGEatl30   IF (LINE.EQ.0) RETURNtelin35i   LINE=0atlin35i5i5IF (N.GT.0) LINE=Ntelin35i   NPAGE=NPAGE+1atlin35iin3MPAGE=MPAGE+1atlin35iin3WRITE (OUTFIL,40) NROUT,IPASS,MPAGE,NPAGE,JOBatlin35iRETURNteCte(atl40youFORMAT (/1H1,6X,'* T I D Y * in35i    ROUTINE',I4,4X,4HPASS,I2,2X,atlin3514HPAGE,I3,21X,4HPAGE,I4/7X,80A1/1X)telin35iENDtelin35iSUBROUTINE PASS1at(at(' youTHIS ROUTINE COLLECTS STATEMENT N99BERS,oMAKES DIAGNOSTIC COMMENTSat(' youAND SETS UP THE FORTRAN STATEMENTS INiAuFORMiSUITABLE FOR PASS2.te(te in35iINTEGER JTMP(8)telin35iINCLUDE 'TIDY.INC'telin35iINCLUDE 'UNITS.INC'teiin35iCHARACTER*2 JNT,JT,ICH,KUPPER,PRVCPYteiin35iDIMENSI(3 KSTC(5)telin35iLOGICALoBAKSCNat(at(' youAn35iBn35iCn35iDn35iEn35iFn35iGn35iHn35iIn35iJn35iKn35iLiin3Mat(' you1ouo 2ouo 3ouo 4ouo 5ouo 6ouo 7ouo 8ouo 9 you10you11ouo12ouo13at(at(' youNn35iOn35iPn35iQ    Rn35iS youT youU youViin3Wiin3Xiin3Yiin3Zat(' you14ouo15ouo16ouo17ouo18ouo19 yo20   21ouo22ouo23ouo24ouo25ouo26at(at(' you= you, you( you/ you) you+uouo-uouo* in3. in3$uouo-uouo'uouo& NONEat(uouou1ouo 2ouo 3ouo 4ouo 5ouo 6ouo 7ouo 8ouo 9 you10you11ouo12ouo13ou14teCte(at(uououSET UP INITIAL CONDITI(3S.te(' youREWINDiTAPE FILESu1oAND 2.te(te 10youCALL IOSY11atlin35iCALL IOSY21atlin35iDOK20 I=1,10atlin35i5i5i5LDOS(I)=0atl20   CONTINUEatlin35iIMAX=1326atlin35iIPASS=1atlin35iICOL=0atlin35iKOUNT=0atlin35iMP2=1atlin35iNBLC=2atlin35iMPUN=KPUNatlin35iMPRIN=KPRINatlin35iNROUT=NROUT+1atlin35iNRT1=0atlin35iNRT2=0atlin35iMILDO=0atlin35iMLGC=-1atlin35iMSKP=0atlin35iMPAGE=0atlin35iMTRAN=0atlin35iNDEF=0atlin35iNDOS=0atlin35iNFORT=0atlin35iNREC=0atlin35iNREF=0atlin35iL25=0atlin35iNTRAN=0atlin35iNXEQ=0atlin35iNIFBLK=0atlin35iGO TO 50at(at(' youin35iin35i5i5ILLEGAL FIRST CHARACTER.atl30   JGOOF=9at(' youin35iin35i5i5WRITE DIAGNOSTICatl40youCALL DIAGNO (JGOOF)te(' youououououin35iGET NEW CARD.te(' you(UNLESS EOF ALREADY)telin35iIF (IQUIT.NE.0) RETURNtel50youCALL SKARDatlin35iNXRF=1atlin35iIF (IMAX.LT.ICOL)iIMAX=ICOLatlin35iDOK60 I=1,IMAXtelin35iin35iIOUT(I)=KBLte 6035iCONTINUEatlin35iIMAX=0at(at(' youLOOK FOR * INiCOLUMN 1at(atlin35iIF (JINT(1).NE.KSPK(8))iGO TO 110telin35iCALL CONTRLatlin35iIF (ISTAR)K70,90,100te(' youououououin35iCONTROL CARD FOUND AND EXECUTED.te 7035iIF (MSTOP.EQ.0) GO TO 80te(' yououououououououououououo*STOP CARD FOUND. QUITiIF FIRST OF ROUTINEatlin35iIF (NFORT.LE.0) RETURNte(' yououououououououououououoOTHERWISE BUILD ANiEND CARDatlin35iGO TO 1100te 8035iIF (MSKP.EQ.0) GO TO 50atlin35iMP2=0telin35iCALL NOPRO (0)telin35iGO TO 10te(' youououououin35iCONTROL CARD FOR DELAYED EXECUTI(3. SAVE FOR PASS 2.te 9035iKLASS=0atlin35iGO TO 210te(' youououououin35i* INiCOLo1. NOT AiCONTROL CARD. iPUT OUT LITERALLYte(' youououououin35iUNLESS * INiCOLo2. ALSO.atl1005iIF (JINT(2).EQ.KSPK(8))iGO TO 50atlin35iGO TO 200at(at(' you*STOP COMMAND EXIT.te(at(' youNO * INiCOLUMN 1,uLOOK FOR C, D, I, F, ., OR $.u(UPPER CASE)te(atl110  IF (JINT(1).EQ.KBL)iGO TO 260atlin35iJINT(1)=KUPPER(JINT(1))telin35iIF (JINT(1).EQ.KABC(3))iGO TO 150atlin35iIF (JINT(1).EQ.KABC(4))iGO TO 130atlin35iIF (JINT(1).EQ.KABC(9))iGO TO 130atlin35iIF (JINT(1).EQ.KABC(6))iGO TO 130at(' youLOOK FOR ANY SP.0) RETURin35,NwR lin35iiGO
  1387. noS(3)FILOFORMAT (A)tel21035FORMAT (/T3,'File 3.EQ.MPUNITS.INC'teiin35iCPRVin35iDIMENSlin35iLOGICALoBAKSCNat(at(+4ouo15oule ououoEQ.KuououououoOTHERWISE BUILD ANiEND CARDatlin35iGO TO 1100te 8035iIF (M'SCR28)K14REMATNROL CARD FOR DELAYED EXECUTI(3. SAVE FOR PASS 2.te 9035iKLASS=IFtee 9035OWN'elin35iin35iin35iITYPE=MOD(ITYPE,100000)telin35iin35iin35iOPENS=IINUEatlin35iin358tel130       REWINDiIUNITtelin35iin35iDOK1603N=1iin35iOPENS=I* INiCOLUEW CNTROL CARD FOR DELAYED EXECUTI(3. SAVE FOR PASS 2.te 9035iKLASS=5iIF·ET NEW CARD.te(' you(UNLESS EOiEND IFtelin35iin35iRETURNtelin35iEND IFte(at(----uCHECK FOR LOGIelin35iEND IFte(at(----uCHECK FOR LOGIC OF ARGUMENTS AND FILE gaE='e no  CARD FOR DELAYED EXECUTI(3. SAVE FOR PASS 2.te 9035iKLASS=0atlin0) ND=170) FNAMEtelin35iin35iIF (FNAME(1:1).EQ.'?') THENtelin35iin35iin35iPAUSE 'Type DIR to see a lCARD FOLL DIAGNO (2hn35iLOGARE L,' file'/T3,'Enter ae ouatlineCNTROL C(atl.E+1atlin35iin3 SAME Flinr. cLIN /56/gR C, D,)EQ.Ikelin35iinRD FOR  youououou SAVE FIFt you
  1388. l35i5i5WRITE DIAGNOSTICatl40lC OF ARGUMENTS AND Fae oETURNtelin35i   LINEE F-UMENTS ANDTE DIAGNOSTICatS=IFtee 9rn35iIF (N)K10,30,20te(' youououououououououououcLIN /56/gR C, D,)EQ.GO TO 130atlinTU youViin3EdiGO
  1389. niIF rlt(JINT(1).EENS=IINU3e oT'telin35lin35i   LINEE F-UMEA DIR tgR C, D,)EQ.Ik2,2X,ae tgR8iinRD FOsiGO TO 4ee a lCAR-oOS STDvEMEA DIm35iIF (FNAME(1:1).EQ.'2hn35iLOGARE L,'MEA . cLIuOsiGO TO 7OR *S DImsiGO Tm REAeE F-ULLEONT lCARD FLtr ae ouae='ef.'2hhnGO 7=SoT'tele0L-ULLEONiCON lCAR-sGARE L,' file'STICat40,150, AiCON-GNO (tC, EQ.KQ.'2hoGO TO 2 FOsiGOEQ.KuoNAME(1:1)e 9rn35iIF (N)K10,30ououou) you+uouo-uouo* in3l=EQ.K=yououin3EdirmFOR LLE FILESu17weclQ.KuoN,2X,ae Om STDvEMED n35fMin35i X35,NwLLEONT lrououou =EQrlxCat40,at4)EQ.rINE',I4,4X,4HPASSe om STD]}ile sprESutTUiIF (N)K1iPASyouCiPASyouCiPASyouD]}iR835ln35iIFOR LLE FILESua1T2CAR-oOmFOR p (/TT C,KABC(4)5fMinoT TO "gRRKiiDOK1603NQ.'2-, n35oT telin35iin35iDOK1603N=1iin35iOPl50atoiEND CARhTU y1iPASyEONT lFououcn35iLOt40ERe0=
  1390. .KQnITh o2> UEW CNTROL CARD FOgouLOOK FO70,uTnPASSe  ieOin35iPAUoT' CARD FOgtL ILATO "gOdiPASlCR XECUTI(3. USTDvEIF .LT.e s 9rn35iIF NXEQ=0hO 2 1atlin35eRD FLtr ae oECUl SyE EXIT.te(at(' yoiin35iGO TO 110tel120       READ (IUNIT,240,END=130) ANStelin35iin35iLENGTH=LENGTH+1atlin35iin35iGO TO 120tel130       REWINDiIUNITtelin35iin35iDOK1603N=1,LENGTHtelin35iin35iin35iIF (ITYPE)K140,150,150tel140   in35i    READ (IUNIT)telin35iin35iin35iGO TO 160atl150   in35i LESuaNC'teiiniin='te (N) D fMin35 yo,uT>)e IiIF35iDOK1kDfeUuouiAPE FIL'TIDY.INC s *aNCMAX=ICHARAX)telie)0 n3he SAM5iin150aiin='F35iDOEND=5i yAYED Eon350tel14R PAkGO TO 160a+uTnPASSe 1205iiAGE=MPAGE+1(5FL n3he e80,h3in3lDINiCOLND=1T A(S=IINUn35iinENTSat('Sf"l35iin3mOK1kauME(1:1).EITYPE)K14-an3l=EQ.K=you lC6>an3l=EQ..   REWINDiIn='te (NrE='F35iDOyTAN=0atliph3i
  1391. CatFte(at "g  in35eTSaMAX= no  F,tE=0atlin35DOENDgGO C150aiTlin35y:EWI  in35eTS+Cn35mOK1kauMEouoOTHERWISE BUIL (1)ENDgGOouo26 INinENTSat('Sf╤lECK lin30a+ulin35y:f╤l
  1392. OLoC0,150tel140   in35i    REA35eTSR PAelin35iin3g35iat('Sfte (35iin35iin35iOPENS D bGE+,150,150t35iE
  1393. N=1,LENGudk2,2X,aeEPtelS D b IF NE',I4,4X,4HloeinoTt('SftAuouiAOLL DIGOouo26 INinENTSat('Sf╤lECK lin30a+ulin35y:f╤l
  1394. OLoC0,150tel140   in35i    REA35eTSR PAelin35iin3g35iat('Sfte (35iin35iin35iOPENS D bGE+,150,150t35iE
  1395. N=1,LENGudk2,2X,aeEPtelS D b IF-m no iOPENp)=0atl20 o0teln35y:f╤l
  1396. OLo
  1397. OLoat('SfLl
  1398. OLoC0,150te (35:NTSat('Sf╤DOENDgG DIR tgR C, D,,150te (3 AND EXECUT3g35iouo15oulECALL 35i:1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1399. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD FOR╟.EENS  C35iNBLC=2atlin3 REWIN31no  E-fl1205iiAPPER(Jh D b IFf) RETURNtelin35i   LINE=0atlin35i5i5IF (N.GT.0) LR5iin358E',DIR tgR C, D,,150te (3 AND EXECUT3g35iouo15oulECALL 35i:1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1400. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1nh sf"l35iin.EIT/Cn35mO.KuoNTICnnGO 7m no    inBlo.GTuououo1535ln35iIFOR 
  1401.  DIGOouo26 INinENT D aa l)IF=0at1no  E-f3t('SfLl
  1402. OIF-D0IER(JR C,NE=0atlin35i5i5IAX=0lu   in35iin-ndlin35i35iIF=0at 5X= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1nh sf"l35iin.EIT/Cn35mO.KuoNTICnnGO 7m no    inBlo.G-PrX,4RT+1 (JINT(1b MAC you   iSfLl
  1403. E Flinr. cLI7OR *Fno iin358E E-TElouNO in35iin35iDOK1635,NwR/T3,'Ent35io0teln3Ah35,Ntelin35iin35iin3iSfbhEanC,KABCln35 a\/CUTI(3. USo FLtvURNtelin3u35i5E
  1404. uouououea$D,150tESlC6>I7OR *Fno iin358E E-TElouNO5 a\/CUTI(catl10$D,150tESlC6>I7O5iin3 nSnYn3l)0SfL=1iin35iO150tESlSin35iO150tESlSiLI7 lFououcn3cat sf"lmteln35rue DIGOouo2NDEF=0a('Sft Rln3L40   in35io0teln3AB5io0teln36>I7O5iin3*E='F35iDOEND=5i yAYED Eon350tel14R PAkGO TO 160a+"K60 I=1,IMAXtelin35i3 nSnWo12ou.K=youSnYn3l15oulECIMAXtelin335ivSDvRiIMAhnulOBaio0tellMBaio0tellMBtuMeTSR PAelin35ie6MoTURNtelin35iENDo0tENT D aa l)DanYn3l)0SfL=1iin35iO150tESlSin35iO150tESlSiLIoriLIoTSR PAC6>I7O "g  in-335ivSDR pdn3l15oulEteln3l15Cp[ogSfL=1nat40,150, Daio0teRSAVE,J!at('Sf╤DOENDgG DIR tgR C, D,,150te (3 AND EXECUT3g35iouo15oulECALL 35i:1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1405. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 1ka nSOTHE   in&DOK60 D dfin-ndlFliC, pEs""K60 I0, Dai9,NteliAX=0anteln3laeL3l)0SfLoHnk2,2Xlin35ifn35 CN35iDOyTA=youSiRMAhnul/9    in35i5E
  1406. u59Lin3M5eTSaMAX= no  FCrt D,)ELC=2atliEQ.vRiIM(yTA
  1407. ED E3SfLlvSSin3TnGO eTSAVE F)IF=0n35iCALLivSDR 150t-)K60 D dfin-ndlFL3l)0SfLoln3EP15Cp[ogSfOGARIorlin35rD,,Eru7R5fOGANE FILnmnFoRLL ILATO, pEs"n3g35inSnWonpEs"'IR 5ioCABC(4))iGn3gl)DanYn3l15oulEtelulE CAL=1nat40E FILn150t-)K60 D dfin-ndlF9 lFououTnGO eTSAVSin3a35iin3bNDgG: dfin-ndl,73caOle REW SPO_gtLDIGOteln3lati0oILn150=IL'TT).hTuouonlm.te 5fOnpOXECUT3g35ionpr≥G DIR tE+,15oucn3cat sf"lmteln35rue DIGOouo2NDEF=0a('Sft Rln3L40   in35io0teln3AB5io0teln36>I7O5iin3*E='F35iDOEND=5i yAr 'Type DIR touYCUT3g35ionAhnu73caOle REW-ndl,7aOli5WAo=0atl20me) RETfin-ndlF9 ru7D IF8et1n in35iBtuMeTSR PAelO 160atl1taiDOEPAS 2NDEF=0a('ulECALL 35i:1).hX b MAX= nSTICnnGOarHE   io.G-E FILn150tIFf) OO C, D,)EQ.GOxg-ndlFliC50tIFf) OX0SfLoln3'F35iDOEl150,150tel14iLIoriLIlInli5WAo touYCUicAWAo touYCUtt'TTntLmCALmTlF-ULLmMsIbNDEF=ALL 35i:1)C--335ivSDR pdn3l15oulEteln3l15Cp[ogSfL=1nat40,150, Daio0teRSAVE,J!at('Sf╤DOENDgG DIR tgR C, D,,150te (3 AND EXECUT3g35iouo15oulECALL 35i:1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1408. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 1ka nSOTHE   in&DOK-5*cAWAo to-[W,SPOVGi35iIFOR 
  1409.  DIGOoN in35i5E
  1410. M,:1)SuuonAhOn150tENTS A=elin35iin35K=you-5D EXECUT3g39P in35ilin35Tlin!a nSOTHE   in&riIMAX=ECUogSfL=3g3-ndlF9 ru7D IF8et1n in35pRhg╖hhaIFOR 
  1411.  DIGOoNE+,150,150t35iE
  1412. N=1,LENGudk2,2X,aeEPtelSOK1635,NwR)o,2X2╫ouladououououoM9035indlAVE F)IFn!aeRSAVILATO, pEs"oLATO, p F)IFn6RPafSOT╦p 
  1413.  DIkTUiIF5E
  1414. IFf)FED E3SfL/Cn35gR C, De150T lFouoTlin!a nSOTfL=1naIpy/Cns L40 Puououcb5iGO TO 16OTHER3gl)D40 Puououn1ohI7O5ik 16OTHER3gl)D40 =1naIp FOsGNO (tC, EQ.KQ.'2hoGO TO 2 FOsiGOEQ.KuoNAME(1:1)e 9rn35iIF (N)K10,30ououou) you+uouo-uouo* in3l=EQ.K=yououin3EdirmFOR LLE FILESu17weclQ.KuoN,2X,ae Om STDvEMED n35fMin35i X35,NwLLEONT lrououou =EQrlxCat40,at4)EQ.rINE',I4,4X,4HPASSe om SD EXEuEQ.KR pdn3l15oulEteln3ln35i X35,NwLLe Omln3laOTHE   nSOTHE   iuEQ.KR pv2laOThrNOT  iuBlin35y:EfThrSnYn3laOTh8OTHEN31no >ug39P in3φL5E
  1415. IFL3l)at(at(+4ouo15oule ououoEQ.KuououououoOTHERWISE BUILD ANiEND CARDatlin35iGO TO 1100te 8035iIF (M'SCR28)K14REMATNROL CARD FOR DELAYED EXECUTI(3. SAVE FOR PASS 2.te 9035iKLASS=IFtee 9035OWN'elin35iin35iin35iITYPE=MWISE c70) FNAMEtelin35iin35iIF (FNAME(1:1).EQ.'?') THENtelin35iin35iin3, F, AVE FOR PASS 2n35iIELAYED EX7& Ftlin35iGO TO 200at(at(' you*STOP COMMAND EXIT.te(at(' youNO * INiCOLUMN 1,uLOOK FOR C, D, I, F, ., OR $.u(UPPER CASE)te(atl110  IF (JINT(1).EQ.KBL)iGO TO 260atlin35iJINT(1)=KUPPER(JINT(1))telin35iIF (JINT(1).EQ.KABC R PASS 2.te 9035iKLASS=IFtee 9035OWN'elin35iin35iin35iITYPE=MWISE)FILOFORMAlCR 8035iIF )FILOFOR=MWISPf1iin35iOPl50atoiEND CARhTU y5i Xle'STeMWISE c7E
  1416. IF. DIGOouo26 INiK1603N=ABCr. v2laOThrCARhTU y5Bgou*STd-g0  IF (JINTd240,END=130) ANSteliBgou*STd-gNT(1)=KUPPER(JINT(1))telin3BED EXECURd F, .,IGOouo2NDEF=0a(JINTd240,END1IGOorntrst3iRE18e 9S.KABC C, TiASST0lED kt╘mMsIbNDEF=AINT(1))telin3BED EXECURd F, .,IGOouo2NDEF=0E FOR ee 9035OWno  E-elin
  1417. 35iE, ItSTd- EXECURdOFO)telin3BEOtO IF (JINf_2nin35ii INiK1603N=o15oulECALLfRD 81tE] kt╘mMsIK ,LEEt(' nLEQ.LFBEDtelin35iIF (JINT(t35u(UPPER in-ndlF9 0teln36>I7O5iin3*E='F35i>ug)O3E PE=MWI "gRRKiiNGO 7m no    inBlo.Gcn3cat s e80,h3in3lD E, ggR C, DeEOtO IF (JI=0E>ug)e(at(' yo E, ggR C, bg(3. SAVE FO   mO IF (JINel140  1UE c7gR C, br⌐s>ug[R C, bg(, beINel1╬rCoH e3cab.FteRhTU y5-NO IF (JINeln&DOKgNNel140  nSn3 REWIN31nSST0l iniGiI7OououoEQ.e=KUPPER(H35iIF 5gR n35iJdNREWINDiIn=eOouladououo"K6bN-7m nSS M(yTA
  1418.  ououououobD-kR C40  1IPsDIGbOtaTSAfouaTT).hTuouonlm.te 5fOnC0,GiI7OOlMIN31noDStelin35n35iDOK163 pEs"n3oDmRpEXEcs3l)t IF (JI=0E>ugpD COMMATntL[ oulECAug)e(at('Ocn3y)SuuonAhOn15i IF (J35iIELAYat1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1419. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD FOR╟.EENS  C35iNBLC=2atlin3 REWIN31no  E-fl1205iiAPPER(Jh D b IFf), bg(, beINeo    inBlE-fl1205i    ininBlrATO, p F)7lc7nenAX= nSTICncentL[ oulEC)FED E3SfL/C6 INinENT DRR35idirrXECURdIF=0nBlrATrXECado6 IN g5WAo=0l5CUiclk0te RdIF=0te 5fOnhTukEn3oDmRl)t IF rte I=0E>ugpD COMMATntL[hX b M┼flE-fl1cBC C IF ┼flE-r1iin35)telin3BE1clkkyDTe2STICURT[ oo0X br inhieoriLIlEWIN31no ATYPT yoclkkyD (JI=0E>5iE, ITTA
  1420.  tel2atl0teRSAVILAirrXECUR, beINeo  bINinENT no 7nenAX= nSF=0at11iin3]a=cbX= nSn3l)ououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD FOR╟.EENS  C35iNBLC=2atlin3 REWIN31no  E-fl1205iiAPPER(Jh D b IFf), bg(, beINeo    inBlE-fl1205i    ininBlrATO, p F)7lc7nenAX= nSTICncentL[liE
  1421. N=pTICnceuouatS=IO4R(Jh D bb.FteRhTUeiDOd240,END1IGOoNdsTukclkrCARhentL[liE
  1422. NeeiDOd1no AtgNEathD40F (JICncentL
  1423. 1205i   A5iDOUWgNuYCUtINeo  dleuouatS=IIGOtrATrXelinOd240,END1 F)7lc7ne nSuC,END1 F)7ln oohX b M┼flE-fl1cBC stLATO,Our7nes40,Mg35ienAX= o26ffL=1nat4GvnnGO 7m no    in35i5E
  1424. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD  ln3Ao  E-X= nSF=0hn,Mg35idOFOn35i5iaf7O "g i5E
  1425. uououo1).h5iin35el20 o0tel tel2atl0teRfuslCUiV
  1426. o).hXhvnnSiRINel144E[RT
  1427. O_gtL a$D,n35iIF=Rouo(, be=c144=1noH e3cab.FteRhTU y5-r
  1428. rpnn3*S.KABC F (Jb2gW SPO_gt7s, ggR C,5y5-r
  1429. rp5iDOUWgN3ucn3cat sf'Ocn3y)SuuonAhOn15i IF (J35iIELAYat1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1430. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD FOR╟.EENS  C35iNBLC=2atlin3 REWIN31no  E-fl12055iDOUWgN3ucn3cat sf'Ocn3y)SuuonAhOn15i IF (J35iIELAYat1).hX b MAX= nSTICnnGO 7m no    in35i5E
  1431. uouououatS=IFED E3SfLlvSDvRiIMAX=0at1).hX b MAX= nSn3l)0 5REW SPO_gtL ILATOoEyin35i5i5WgNEatlin35iIF=0at1no  E-f35iinRD FOR╟.EENS  C35iNBLC=2atlin3 RrXelinOdJb2gW SPOat1).hX b MAX= nSn3l)0 s=IFEDbkwTICUecab.FteRhTUUfIMAin3 RrXA
  1432. ICnnGILA=0a(J ,IGOouo2NDEFoN iAkGO TgLoC0,150tel
  1433. n/Al]Tuououo15H e3cab.Ft(AlNtOR╟.EE nSD FOR:
  1434. E>I71).hX b MAX= nSn3l)0 s=IFEDbkwTICUecab.FteRhTUUfIMAin3 RrXA
  1435. ICnnGILA=0a(J ,IGOouo2NDEFoN iAkGO TgLoC0,150tel
  1436. n/Al]Tuououo15H e3cab.Ft(AlNtOR╟.EE nSD FOR:
  1437. E>I71).hX b MAX= nSn3l)0 s=IFEDbkwTICUecab.FteRhTUUfIMAin3 RrXA
  1438. ICnnGILA=0a(J ,IGOouo2NDEFoN iAkGO TgLoC0,150tel
  1439. n/Al]Tuououo1Nin3dtcfal&uXA
  1440. iK16SREW SPO_gt2OsiG2 nSn3gtL ououoEQ.e=KU SPO_tel
  1441. n/Al]TO IFTcnBlrATO, p F)7lc7n    OF (J35iIELA3 RnSn3l)L= nnnGO 7dMAiEo⌠no su7D IrR=hTUUfI)0 s=IO, bP5iIEL iIMuo1IO, bPI71).hX b MdwI b MAX= nSn3l)0 A/ea=cbX=I s=IFEDtL a$RT
  1442. rX= nSn3l)╦4HPwTIhHIGOouo2cu 5iis(AlNtOR╟.ouatS=gSn3eRfus.hX b MlRhTl)LndlF9 rNE',I4,4Xc_fab MlRhTl)hHIGOoFtelECus.htn3 RrXeSPf1iin3RES.KABC F (Jb2nBlrATO, p F)7lc7n    OF (J35iIELA3 RnSn3l)L= nnnGO 7dMAiEo⌠no su7D IrR=hTUUfI)0 s=IO, bP5iIEL iIMuo1IO, bPI71).hX b MdwI b MAX= nSn3l)0 A/ea=cbX=I s=IFEDtL a$RT
  1443. rX= nSn3l)╦4HPwTIhHIGOouo2cu 5iis(AlNtOR╟.ouatS=gSn3eRfus.hX b MlRhTl)LndlF9 rNE',I4,4Xc_fab MlRhTl0cbX=I sbOtaTSTuouonlm.te 5fOnC0,GiI7OOl3,'3cab.FteRhTU y5-uRfus.bkw b MlRh Rn-f35iinnGO 7dBuonlPwTIhHs MlRhTMWIM= nSn ALL 3
  1444. fab l)0 5DtL a$RT
  1445. IGOoFtelECuA=0lPwTIhHs Ml 5fOnC0,Gitte RJICnce2SuuonAnAnAnUWgN2.ouatc7n in35i5E
  1446. uouououaannRT
  1447. rX=u*ClRh Rn-f350,GiI7OOlfab MlRhaTT).hDOUW TgL--GiI7OOlfab R7iIMTIhsin!at1).hX b I4,4Xc_fab MlKA1).hILOFC1"L iIMuo1IO, bPI71).hu▒
  1448. uouou▒FOR:
  1449. E>I71>eOl3T60 D dfin-ndlF9 lFououTnOOouo2ciin35iinMAVILhX b Mlat3φL5E
  1450. Ip F)7 8
  1451. IpSn3l)0,150te1hHIGOouo2LbI c
  1452. a !t5fOnC0 MAX= nSn3l)E=MWISE)FIL in35pRhg dleuouaLA=lvSSn3l)/p F)7 8
  1453. IAVE FO TgLgC,I4,lin35iI0at1no  EO TgLoC0,1ououn1=uaLAPUDFEDbkwSSn3l)/pEXECURl)0,1CIF5E
  1454. c    pl0cCURl)hX b ER╟.EE LOFC1"L =I sbnEs=IO)╦4Hrr',I4o'L =I Eu-OdJb2g01NI8lvSDvRiIMDlvSSn3l)/p Fin-ndlF9 lFououTnuuO TgLoC0,1ououn1=uaLAPUDFEDbkwSSn3lDdououteRh"L =I sbnEs=l1205i   g2UogSn3B0cCURl)IFEDDvRiInE-f35iR╟.EE     in35i5E
  1455. uououoIAhX b MlRho'LFILAinMAVIg IFl120in-ndl50tESteln3l15Cp[ogSfL= Rln3L40   in35io0teln3AB5io0teln36>I7O5iin3*E='F35iDOEND=5i yAr ER(AIF (JL b 2nGO 7m no    in35i5E
  1456. uouououatSF5E
  1457. c    pl0cCURl)hX b ER╟.EE LOFC1"L =I sbnEs=IO)╦4Hrr',I4o'L =I EuAX= nSn3l)0 1ka nSOTHE   in&DOK60 D dfin-ndlFliC, pEs""K60 I0, DaN31no1nSST0SteSn3lDdfi_fab MlKA35i5E
  1458. uououou(AIF DpIS=gSn3eRfus.h<onAhOn15i IFi5EnC0 MAcaOle REW SPO_gtLDIGOtedlF9 ru7D IF8et1n in35pR2BED EonAhOn15i IF a('ulECALL 35i:1)$in35iIF=0at1no  E-f35iinRD FORuououaannRT
  1459. rX=u*ClRh Rn-f350,GiI7OOlfab MlRhaTT).hDOUW TgL--GiI7OOlfab R7iIMTIhsin!at1).hX b I4,4Xc_fab MlKA1).hILOFC1"L iIMuo1IOºououaannRT
  1460. rX=u*ClRVC=2atP COMMα COMMα COMMα COMMα COMMα COMMα COMMαO)telin3BEOtO IFAPUDFEDbkw1205i   g2ln35i X35,NwLLe Omln3laOTHE   v2laOThrCE
  1461. uououoIA2DeEOtUR, beINe be,,e EE LOFC1"liC50tIFt=IIGOtrATrXelinOd240,E(3. SAVE bkw1o0teln36>I7O5iin3*E='7$hE FO  MlKA35i5E
  1462. uououou(AIF DpIS=gSn3eRfus.h<onAhOn15i IFi5EnC0 MAcaOle REW SPO_gtLDIGOtedlF9 ru7D IF8et1n in35pR2BED EonAhOn15i IF a('ulECALL 35i:1)$in35iIF=0at1no  E-f35iinRD FORuououaannRT
  1463. rX=u*ClRh Rn-f350,GiI7OOlfab MlRhaTT).hDOUW TgL--GiI7OOlfab R7iIMTIhsin!at1).hX b I4,4Xc_fab MlKA1).hILOFC1"L I4,4)s=IO, bP5OFC1"liC500teLOF t4,lin3UBROUTINE SCANt4,lininininininininininininininininininininininini4227
  1464.  
  1465. c    include 'tcommon.for'
  1466.     %include tcommon.for
  1467.  
  1468. nininicharacter*8 JCOND(4)
  1469. nininiDIMENSION IBAD(100,2)
  1470.     character*4 NUMS(9) ,ILET(2),JPQ(10,10)
  1471.     data nums/'1','2','3','4','5','6','7','8','9'/
  1472. nininidata ILET/'+','-'/
  1473. nininidata jcond/'GREEN','YELLOW','ORANGE',' RED'/
  1474.  
  1475. nininiDO 100iniI=1,10t4,lininininininininininininininininininininininini4265
  1476. nininiDO 100ini J=1,10t4,lininininininininininininininininininininininin4266
  1477. nininiJPQ(I,J)=LETR(9) 4,lininininininininininininininininininininininin4267
  1478. 100iniIPQ(I,J)=LETR(8) 4,lininininininininininininininininininininininin4268
  1479. nininiIF(IHERE.EQ.2)GO TO 1001ininininininininininininininininininininin4269
  1480. nininiIF(IDMG(6).GT.0)GO TO 105ninininininininininininininininininininin4270
  1481. CnininCALL CPAGEt4,linininininininininininininininininininininininininin4271
  1482. nininiWRITE(*,1)ICE,JCEt4,linininininininininininininininininininininini4272
  1483. 1ininiFORMAT(' SHORT RANGE SENSOR SCANtFOR QUADRANT ',I2,',',I2 ) 4,lini4273
  1484. Cninin...CALCULATE CURRENT RATING AND TIME RATIO.ininininininininininini4274
  1485. nininiR=LEFTK+LEFTRlinininininininininininininininininininininininininin4275
  1486. nininiS=NKL+MROMt4,linininininininininininininininininininininininininin4276
  1487. nininiIR=(S-R)/S*1000.ininininininininininininininininininininininininin4277
  1488. nininiTRATE=XTIME/Rlinininininininininininininininininininininininininin4278
  1489. nininiKP=1ininininininininininininininininininininininininininininininin4279
  1490. nininiIPLUSM=(TRATE-RTIME)/RTIME*100.ininininininininininininininininini4280
  1491. nininiIF(IPLUSM.LT.0)KP=2nininininininininininininininininininininininin4281
  1492. nininiIPLUSM=IABS(IPLUSM) 4,lininininininininininininininininininininini4282
  1493. nininiWRITE(*,21) 4,lininininininininininininininininininininininininini4283
  1494. 105iniIF(IHERE.GE.1)GO TO 1000t4,lininininininininininininininininininin4284
  1495. Cninin...RESET ARRAYS TO LOSE THINGS LEFT BEHIND.ininininininininininini4285
  1496. 9876  ETR(1)=0.inininininininininininininininininininininininininininini4286
  1497. nininiEFP(1)=0.inininininininininininininininininininininininininininini4287
  1498. nininiEFT(1,1)=0.ininininininininininininininininininininininininininini4288
  1499. nininiITORP=ITORP+ITFIREt4,linininininininininininininininininininininin4289
  1500. nininiITFIRE=0t4,lininininininininininininininininininininininininininin4290
  1501. nininiDO 2017 J=1,18inininininininininininininininininininininininininin4291
  1502. nininiITKL(J)=0t4,linininininininininininininininininininininininininini4292
  1503. 2017  JTKL(J)=0t4,linininininininininininininininininininininininininini4293
  1504. nininiACTPJM=PJAMt4,lininininininininininininininininininininininininini4294
  1505. nininiIF(ISTSH.EQ.0)GO TO 9873ninininininininininininininininininininini4295
  1506. nininiISTSH=0t4,lininininininininininininininininininininininininininini4296
  1507. nininiISHD=0t4,linininininininininininininininininininininininininininii4297
  1508. nininiISHNUM=ISHNUM-1ininininininininininininininininininininininininini4298
  1509. 9873niDO 9872 J=1,9ninininininininininininininininininininininininininii4299
  1510. 9872niIFNDS(J)=0t4,linininininininininininininininininininininininininin4300
  1511. nininiDO 9889 J=1,10t4,linininininininininininininininininininininininin4301
  1512. 9889 iISHSTR(J)=0t4,lininininininininininininininininininininininininini4302
  1513. nininiDO 9875 J=2,20t4,linininininininininininininininininininininininin4303
  1514. nininiICNTL(J)=0t4,linininininininininininininininininininininininininin4304
  1515. 9875niITRMEN(J)=0t4,lininininininininininininininininininininininininini4305
  1516. nininiIF(ISTAT.NE.0)ISTAT=9999ninininininininininininininininininininini4306
  1517. nininiDO 9874 J=1,30t4,linininininininininininininininininininininininin4307
  1518. 9874niTORPS(J,1)=0.inininininininininininininininininininininininininini4308
  1519. nininiIF(ICLOAK.LT.0.AND.ION.EQ.1)GO TO 4646nininininininininininininini4309
  1520. nininiIX=XQE+.5nininininininininininininininininininininnininininininini4310
  1521. nininiIY=YQE+.5nininininininininininininininininininininnininininininini4311
  1522. nininiIPQ(IX,IY)=LETR(2) 4,linininininininininininininininininininininin4312
  1523. 4646niIF(IDMG(6).EQ.0.OR.IDMG(7).EQ.0) IGAL(ICE,JCE)=JGAL(ICE,JCE)ininin4313
  1524. Cninin...GET CONTENTS FROMtJGALninininininininininininininininininininin4314
  1525. nininiICNTNT=JGAL(ICE,JCE)ininininininininininininininininininininininin4315
  1526. nininiNROM=ICNTNT/1000t4,lininininininininininininininininininininininin4316
  1527. nininiKLNGNS=ICNTNT/100-NROM*10t4,linininininininininininininininininini4317
  1528. nininiIBASE=(ICNTNT-ICNTNT/100*100)/10t4,lininininininininininininininin4318
  1529. nininiNSTARS=ICNTNT-ICNTNT/10*10t4,linininininininininininininininininin4319
  1530. nininiNTORPS=0t4,lininininininininininininininininininininininininininin4320
  1531. nininiIGH=0t4,linininininininininininininininininininininininininininiin4321
  1532. nininiIF(RAN(IZZ).LE.PRGH)IGH=1inininininininininininininininininininini4322
  1533. nininiIF(ICLOAK.EQ.2)ICLOAK=1ininininininininininininininininininininini4323
  1534. nininiNBAD=0t4,linininininininininininininininininininininininininininii4324
  1535. Cninin...EVERYTHING STARTS ON INTEGRALnCOORDINATESininininininininininii4325
  1536. Cninin...FLAG THOSE POINTS TOO NEAR TO E TO PUT OBJECTS.inininininininin4326
  1537. nininiDO 200t4,lI=1,10t4,lininininininininininininininininininininininin4327
  1538. nininiDO 200t4,lJ=1,10t4,lininininininininininininininininininininininin4328
  1539. nininiDIST=(I-XQE)**2+(J-YQE)**2inininininininininininininininininininin4329
  1540. nininiIF(SQRT(DIST).GT.ESDIST)GO TO 200t4,linininininininininininininini4330
  1541. nininiNBAD=NBAD+1ininininininininininininininininininininininininininini4331
  1542. nininiIBAD(NBAD,1)=Inininininininininininininininininininininininininini4332
  1543. nininiIBAD(NBAD,2)=Jnininininininininininininininininininininininininini4333
  1544. 200t4,CONTINUEt4,lininininininininininininininininininininininininininni4334
  1545. nininiIHOLE=0t4,lininininininininininininininininininininininininininini4335
  1546. nininiIF(IBL(ICE,JCE).EQ.0)GO TO 9877ininininininininininininininininini4336
  1547. nininiCALL PUTIN(IHOLE,JHOLE,NBAD,IBAD,LETR(9))inininininininininininini4337
  1548. 9877niISTORM=0t4,lininininininininininininininininininininininininininin4338
  1549. nininiIF(LEVEL.NE.3)GO TO 9879ninininininininininininininininininininini4339
  1550. nininiPSTORM=(NSTARS**3)/1000.ininininininininininininininininininininin4340
  1551. nininiIF(RAN(IZZ).GT.PSTORM)GO TO 9879ninininininininininininininininini4341
  1552. nininiCALL PUTIN(ISTORM,JSTORM,NBAD,IBAD,LETR(8))ininininininininininini4342
  1553. 6534niFORMAT(' WARNING - NUCLEONICiDISTURBANCESiSIGHTED IN QUADRANT.')ni4343
  1554. Cninin...PUT THINGS IN. NO TWO OBJECTS IN SAME PLACE.ininininininininini4344
  1555. 9879niIF(KLNGNS.EQ.0)GO TO 300t4,lininininininininininininininininininin4345
  1556. nininiDO 110t4,lI=1,KLNGNSininininininininininininininininininininininin4346
  1557. nininiCALL PUTIN(IX,IY,NBAD,IBAD,LETR(3))ininininininininininininiininin4347
  1558. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4348
  1559. nininiXKL(I,1)=IXlininininininininininininininininininininininininininin4349
  1560. nininiXKL(I,2)=IYlininininininininininininininininininininininininininin4350
  1561. nininiXKL(I,3)=0.ininininininininininininininininininininininininininini4351
  1562. nininiXKL(I,4)=0.ininininininininininininininininininininininininininini4352
  1563. nininiXKL(I,5)=0.ininininininininininininininininininininininininininini4353
  1564. nininiXKL(I,6)=0.ininininininininininininininininininininininininininini4354
  1565. nininiIX=RAN(IZZ)*XKFPST+NTSTPS+1ininininininininininininininininininini4355
  1566. nininiXKL(I,8)=IXlininininininininininininininininininininininininininin4356
  1567. nininiXKL(I,7)=0.ininininininininininininininininininininininininininini4357
  1568. Cninin...RANDOMtK CREW STRENGTH AROUND MEAN.inininininininininininininin4358
  1569. nininiIX=CREWKini+SIGN(RAN(IZZ)*25.,.5-RAN(IZZ)) 4,linininininininininin4359
  1570. nininiXKL(I,9)=IXlininininininininininininininininininininininininininin4360
  1571. 110t4,CONTINUEt4,lininininininininininininininininininininininininininni4361
  1572. 300t4,IF(NROM.EQ.0)GO TO 150t4,linininininininininininininininininininin4362
  1573. nininiJUMP=1inininininininininininininininininininininininininininininin4363
  1574. nininiIF(ICLOAK.EQ.1.AND.RAN(IZZ).LE.PRCLDN)JUMP=2ininininininininininin4364
  1575. nininiDO 310t4,lI=1,NROMt4,linininininininininininininininininininininin4365
  1576. nininiCALL PUTIN(IX,IY,NBAD,IBAD,LETR(4))ininininininininininininiininin4366
  1577. nininiIF(I.NE.1)GO TO 33305ninininininininininininininininininininininin4367
  1578. nininiIF(JUMP.EQ.2)GO TO 33307ininininininininininininininininininininin4368
  1579. 33305nSCR=SCREWRlininininininininininininininininininininininininininnin4369
  1580. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4370
  1581. nininiGO TO 33308ininininininininininininininininininininininininininnin4371
  1582. 33307nSCR=SCREWR*1.33nininininininininininininininininininininiinininnin4372
  1583. nininiIPQ(IX,IY)=LETR(8) 4,linininininininininininininininininininininin4373
  1584. nininiICLOAK=2ninininininininininininininininininininininininnininininin4374
  1585. 33308 XROM(I,1)=IXlinininininininininininininininininininininininininini4375
  1586. nininiXROM(I,2)=IYlinininininininininininininininininininininininininini4376
  1587. nininiXROM(I,3)=0.ininininininininininininininininininininininininininin4377
  1588. Cninin...RANDOMtR CREW STRENGTH AROUND MEAN.inininininininininininininin4378
  1589. nininiIX=SCR+SIGN(RAN(IZZ)*35.,.5-RAN(IZZ)) 4,lininininininininininninin4379
  1590. nininiCREWR(I)=IXlininininininininininininininininininininininininininin4380
  1591. nininiIX=RAN(IZZ)*XRFTS+NTSTPSininininininininininininininininininininin4381
  1592. nininiXROM(I,4)=IXlinininininininininininininininininininininininininini4382
  1593. 310t4,CONTINUEt4,lininininininininininininininininininininininininininni4383
  1594. 150t4,IF(NSTARS.EQ.0)GO TO 170t4,lininininininininininininininininininin4384
  1595. nininiDO 160lI=1,NSTARSninininininininininininininininininininininininni4385
  1596. nininiCALL PUTIN(IX,IY,NBAD,IBAD,LETR(1))ininininininininininininiininin4386
  1597. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4387
  1598. nininiSTARS(I,1)=IXlinininininininininininininininininininininininininin4388
  1599. nininiSTARS(I,2)=IYlinininininininininininininininininininininininininin4389
  1600. nininiRAD(I)=RAN(IZZ)*.75+.25nininininininininininininininininininininin4390
  1601. 160l4,CONTINUEt4,lininininininininininininininininininininininininininni4391
  1602. 170t4,IF(IGH.EQ.0)GO TO 180t4,linininininininininininininininininininini4392
  1603. nininiCALL PUTIN(IX,IY,NBAD,IBAD,LETR(5))ininininininininininininiininin4393
  1604. nininiGHOST(1)=IXlininininininininininininininininininininininininininin4394
  1605. nininiGHOST(2)=IYlininininininininininininininininininininininininininin4395
  1606. nininiGHOST(3)=0.ininininininininininininininininininininininininininini4396
  1607. nininiGHOST(4)=RAN(IZZ)*GHVMXlininininininininininininininininininininin4397
  1608. nininiGHOST(6)=GHOST(4)inininininininininininininininininininininininini4398
  1609. nininiGHOST(5)=RAN(IZZ)*360.inininininininininininininininininininininin4399
  1610. nininiGHOST(7)=GHOST(5)inininininininininininininininininininininininini4400
  1611. nininiGHOST(8)=0.ininininininininininininininininininininininininininini4401
  1612. nininiGHOST(9)=0.ininininininininininininininininininininininininininini4402
  1613. nininiGHOST(10)=0.ininininininininininininininininininininininininininin4403
  1614. nininiGHOST(11)=RAN(IZZ)*GHEMXlinininininininininininininininininininini4404
  1615. nininiIX=RAN(IZZ)*GHTMX+1.ininininininininininininininininininininininin4405
  1616. nininiGHOST(12)=IXlinininininininininininininininininininininininininini4406
  1617. nininiGHOST(13)=0.ininininininininininininininininininininininininininin4407
  1618. nininiIGHPH=1ininininininininininininininininininininiininininininininin4408
  1619. nininiIF(RAN(IZZ).LE.PPHASD)IGHPH=0t4,linininininininininininininininini4409
  1620. nininiIGHTR=1ininininininininininininininininininininiininininininininin4410
  1621. nininiIF(RAN(IZZ).LE.PTORPD)IGHTR=0t4,linininininininininininininininini4411
  1622. nininiIGHDR=1ininininininininininininininininininininiininininininininin4412
  1623. nininiIF(RAN(IZZ).LE.PDRVD)IGHDR=0t4,lininininininininininininininininin4413
  1624. nininiIGHDE=1ininininininininininininininininininininiininininininininin4414
  1625. nininiIF(RAN(IZZ).LE.PDEFD)IGHDE=0t4,lininininininininininininininininin4415
  1626. 180t4,IF(IBASE.EQ.0)GO TO 1900t4,lininininininininininininininininininin4416
  1627. nininiCALL PUTIN(IX,IY,NBAD,IBAD,LETR(6))ininininininininininininiininin4417
  1628. nininiBASE(1)=IXlinininininininininininininininininininininininininininn4418
  1629. nininiBASE(2)=IYlinininininininininininininininininininininininininininn4419
  1630. nininiMAXRQ=0t4,lininininininininininininininininininininininininininini4420
  1631. nininiIBMENR=RAN(IZZ)*SBMNRlinininininininininininininininininininininin4421
  1632. nininiGO TO 1900t4,linininininininininininininininininininininininininin4422
  1633. 10004,IF(IDMG(6).GT.0)RETURNinininininininininininininininininininininin4423
  1634. Cninin...ALREADY HERE.iPUT THINGS IN THEIR PLACE ACCORDING TO PROPERinin4424
  1635. Cninin...HIERARCHY.inininininininininininininininininininininininininini4425
  1636. 10014,IF(ISTSH.NE.99)GO TO 1010t4,linininininininininininininininininini4426
  1637. nininiIX=SHX+.5nininininininininininininininininininininininnininininini4427
  1638. nininiIY=SHY+.5nininininininininininininininininininininininnininininini4428
  1639. nininiIPQ(IX,IY)=LETR(12)ninininininininininininininininininnininininini4429
  1640. Cninin...TO SET UPiIPQiFOR PRINTING QUAD,IF ALREADY GENERATED.ininininin4430
  1641. 1010t4IF(NTORPS.EQ.0)GO TO 1100t4,linininininininininininininininininini4431
  1642. nininiDO 1050t4,linI=1,NTORPSninininininininininininininininnininininini4432
  1643. nininiIF(TORPS(I,1).EQ.0.)GO TO 1050t4,linininininininininininininininin4433
  1644. nininiIX=TORPS(I,1)+.5nininininininininininininininininininininininninin4434
  1645. nininiIY=TORPS(I,2)+.5nininininininininininininininininininininininninin4435
  1646. nininiIPQ(IX,IY)=LETR(7) 4,linininininininininininininininininininininin4436
  1647. 1050t4CONTINUEt4,lininininininininininininininininininininininininininni4437
  1648. nininiGO TO 1100t4,linininininininininininininininininininininininininni4438
  1649. 13004,IF(IBASE.EQ.0)GOTO 1200t4,lininininininininininininininininininini4439
  1650. nininiIX=BASE(1)t4,linininininininininininininininininininininininininni4440
  1651. nininiIY=BASE(2)t4,linininininininininininininininininininininininininni4441
  1652. nininiIPQ(IX,IY)=LETR(6) 4,linininininininininininininininininininininin4442
  1653. 1200t4IF(IGH.EQ.0)GO TO 1550t4,linininininininininininininininininininin4443
  1654. nininiIX=GHOST(1)ini+.5nininininininininininininininininininininininnini4444
  1655. nininiIY=GHOST(2)ini+.5nininininininininininininininininininininininnini4445
  1656. nininiIPQ(IX,IY)=LETR(5)inininininininininininininininininininininininin4446
  1657. nininiGO TO 1550t4,linininininininininininininininininininininininininin4447
  1658. 15004,IF(NROM.EQ.0)GOTO 1400t4,linininininininininininininininininininin4448
  1659. nininiDO 1350t4,lI=1,NROMt4,lininininininininininininininininininininini4449
  1660. nininiIF(XROM(I,1).EQ.0.)GO TO 1350t4,linininininininininininininininini4450
  1661. nininiIF(ICLOAK.EQ.2.AND.IHERE.NE.2.AND.I.EQ.1)GO TO 1350t4,lininininini4451
  1662. nininiIX=XROM(I,1),linininininininininininininininininininininininininin4452
  1663. nininiIY=XROM(I,2),linininininininininininininininininininininininininin4453
  1664. nininiIPQ(IX,IY)=LETR(4)inininininininininininininininininininininininin4454
  1665. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4455
  1666. 1350t4CONTINUEt4,lininininininininininininininininininininininininininni4456
  1667. 1400t4IF(KLNGNS.EQ.0)GO TO 1900t4,linininininininininininininininininini4457
  1668. nininiDO 1450t4I=1,KLNGNSnininininininininininininininininininininininni4458
  1669. nininiIF(XKL(I,1).EQ.0.)GO TO 1450t4,lininininininininininininininininin4459
  1670. nininiIX=XKL(I,1)+.5nininininininininininininininininininininininnininin4460
  1671. nininiIY=XKL(I,2)+.5nininininininininininininininininininininininnininin4461
  1672. nininiIPQ(IX,IY)=LETR(3) 4,linininininininininininininininininininininin4462
  1673. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4463
  1674. 1450t4CONTINUEt4,lininininininininininininininininininininininininininni4464
  1675. nininiGO TO 1900t4,linininininininininininininininininininininininininin4465
  1676. 1100t4IX=XQE+.5nininininininininininininininininininininininnininininini4466
  1677. nininiIY=YQE+.5nininininininininininininininininininininininnininininini4467
  1678. nininiIF(ICLOAK.LT.0.AND.ION.EQ.1)GO TO 1300t4,linininininininininininin4468
  1679. nininiIPQ(IX,IY)=LETR(2),lininininininininininininininininininininininin4469
  1680. nininiGO TO 1300t4,linininininininininininininininininininininininininin4470
  1681. 1550t4IF(NSTARS.EQ.0)GO TO 1500t4,linininininininininininininininininini4471
  1682. nininiDO 1600lI=1,NSTARSninininininininininininininininininininininininn4472
  1683. nininiIF(STARS(I,1).EQ.0.)GO TO 1600t4,linininininininininininininininin4473
  1684. nininiIX=STARS(I,1)linininininininininininininininininininininininininin4474
  1685. nininiIY=STARS(I,2)linininininininininininininininininininininininininin4475
  1686. nininiIPQ(IX,IY)=LETR(1)lininininininininininininininininininininininini4476
  1687. nininiJPQ(IX,IY)=NUMS(I) 4,linininininininininininininininininininininin4477
  1688. 1600t4CONTINUEt4,lininininininininininininininininininininininininininni4478
  1689. nininiGO TO 1500t4,linininininininininininininininininininininininininni4479
  1690. Cninin...PRINTOUT AREA.inininininininininininininininininininininininini4480
  1691. 1900t4ICOND=1ininininininininininininininininininininiininininininininin4481
  1692. nininiIF(IDMG(6).GT.0)RETURNinininininininininininininininininininininin4482
  1693. nininiIF(IHERE.EQ.2)RETURNininininininininininininininininininininininin4483
  1694. nininiIGAL(ICE,JCE)=JGAL(ICE,JCE)nininininininininininininininininininin4484
  1695. nininiIF(ENERGY.LE.500.)ICOND=2ninininininininininininininininininininin4485
  1696. nininiIF(NROM+KLNGNS.EQ.0)GO TO 1950t4,linininininininininininininininin4486
  1697. nininiIF(KLNGNS.EQ.0)GO TO 1920t4,linininininininininininininininininini4487
  1698. nininiDO 1910tJ=1,KLNGNSnininininininininininininininininininininininnii4488
  1699. nininiIF(XKL(J,1).EQ.0..OR.ICNTL(J+1).EQ.1)GO TO 1910t4,lininininininini4489
  1700. nininiICOND=3ininininininininininininininininininininiininininininininin4490
  1701. nininiGO TO 1950t4,lininininininininininininininininniininininininininin4491
  1702. 1910t4CONTINUEt4,lininininininininininininininininininininininininininni4492
  1703. 1920t4IF(NROM.EQ.0)GO TO 1950t4,lininininininininininininininininniinini4493
  1704. nininiDO 1930tJ=1,NROMt4,linininininininininininininininininininininiini4494
  1705. nininiIF(XROM(J,1).EQ.0..OR.ICNTL(J+10).EQ.1)GO TO 1930t4,linininininini4495
  1706. nininiICOND=3ininininininininininininininininininininiininininininininin4496
  1707. nininiGO TO 1950t4,lininininininininininininininininniininininininininin4497
  1708. 1930t4CONTINUEt4,lininininininininininininininininininininininininininni4498
  1709. 1950t4IF(IHOLE.EQ.0)GO TO 1975ninininininininininininininininininininini4499
  1710. nininiIPQ(IHOLE,JHOLE)=LETR(9) 4,lininininininininininininininininininin4500
  1711. 1975niIF(ICOND.EQ.3.AND.DEFL.EQ.0.)ICOND=4ininininininininininininininin4501
  1712. nininiWRITE(*,11)(IPQ(I,10),JPQ(I,10),I=1,10),SDATE,XTIMEt4,lininininini4502
  1713. nininiWRITE(*,12)(IPQ(I,9),JPQ(I,9),I=1,10),JCOND(ICOND) 4,linininininin4503
  1714. nininiWRITE(*,13)(IPQ(I,8),JPQ(I,8),I=1,10),XQE,YQEninininininininininin4504
  1715. nininiWRITE(*,14)(IPQ(I,7),JPQ(I,7),I=1,10),ENERGYininininininininininin4505
  1716. nininiWRITE(*,15)(IPQ(I,6),JPQ(I,6),I=1,10) ,ITORPininininininininininin4506
  1717. nininiWRITE(*,16)(IPQ(I,5),JPQ(I,5),I=1,10),LEFTKini,LEFTRlinininininini4507
  1718. nininiWRITE(*,17)(IPQ(I,4),JPQ(I,4),I=1,10),MEN,ITRMEN(1)lininininininin4508
  1719. nininiWRITE(*,18)(IPQ(I,3),JPQ(I,3),I=1,10),DEFLinininininininininininin4509
  1720. nininiWRITE(*,19)(IPQ(I,2),JPQ(I,2),I=1,10),PDEG,PSPinininininininininin4510
  1721. nininiWRITE(*,20)(IPQ(I,1),JPQ(I,1),I=1,10),IR,TRATE,ILET(KP),IPLUSMinin4511
  1722. 11ininFORMAT(1X,20A1,5X,'STARDATE: ',F7.2,'  LEFT: ',F6.2)linininininini4512
  1723. 12ininFORMAT(1X,20A1,5X,'CONDITION: ',A10) ninininininininininininininin4513
  1724. 13ininFORMAT(1X,20A1,5X,'SHIP POSITION: ',F4.1,',',F4.1) 4,linininininin4514
  1725. 14ininFORMAT(1X,20A1,5X,'ENERGY: ',F8.2)lininininininiininininininininin4515
  1726. 15ininFORMAT(1X,20A1,5X,'TORPEDOS: ',I2)lininininininiininininininininin4516
  1727. 16ininFORMAT(1X,20A1,5X,'ENEMY LEFT(K,R): ',I3,',',I3) 4,lininininininin4517
  1728. 17ininFORMAT(1X,20A1,5X,'CREW: ',I4,' TROOPS: ',I4)inininininininininini4518
  1729. 18ininFORMAT(1X,20A1,5X,'DEFLECTOR POWER: ',F8.2)lininininininiinininini4519
  1730. 19ininFORMAT(1X,20A1,5X,'BEARING: ',F4.0,' SPEED: ',F5.3) 4,lininininini4520
  1731. 20t4,lFORMAT(1X,20A1,5X,'RATING: ',I3,' TIMEtRATIO: ',F4.2,'(',A1,I3,'%)4521
  1732. ninin1')t4,linininininininininininininininininininininininininninininini4522
  1733. nininiWRITE(*,21)t4,linininininininininininininininininininininininininn4523
  1734. 21ininFORMAT(' ------------------------------')t4,linininininininininini4524
  1735. nininiIF(KLNGNS+NROM.LT.9.OR.IHERE.NE.0)GO TO 99998inininininininininini4525
  1736. nininiWRITE(*,65310) nininininininininininininininlinininininininininini4526
  1737. 65310nFORMAT(' WELCOMEtTO THE4CONVENTION! HEH, HEH, HEH...')t4,linininin4527
  1738. 99998iIF(ISTORM.EQ.0.OR.IHERE.NE.0)GO TO 99999ininlinininininininininini4528
  1739. nininiWRITE(*,6534)inininininininininininininininininininininininininini4529
  1740. 99999iIF(IHERE.EQ.0)IHERE=1ininininininininininininininininininininiinin4530
  1741. nininiRETURNinininininininininininininininininininininininnininininiinin4531
  1742. nininiEND4,linininininininininininininininininininininininininninininini4532
  1743. ⌡tcnnini4445
  1744. nininiIPQ(IX,IY)=LETR(5)ininininininininininininininin050t46
  1745. Ga
  1746. niniELininininiInininin4430
  1747. 1010t4IF(NTORPS.EQ.0)GO TO 1100t4,linininininininini nininnini4444
  1748. nininiIY=GHOST(2)ini+.5nininininininininininininin1),lnininnininininininPf
  1749. nininiIF(XKL(I,1).EQ.0.)GOininininieninininiTING.4485
  1750. nininiIF)GOTO 1ninr. (' WELCOEQ.0.)GOin:gininiIF)GOTO 1ninr.9iIF(IHEREadnininfOin:gininiinininin*-nininin=TORPS((I,12u5c2),lininidIni1,10),Dnininimr((I,tnininCn4436inininininicb/nininniniininininin0t4CONinifO 1ninr.9pTnin4in4482kIY)f=GHOSTPEDtLinp7ininin9pTnin*-nnininin*-nininin=nininininkf=ininiinininininininininininininininininininininni4437
  1751. nininiGO TO ninininninninininivinininininininininininininininiinin4530
  1752. nininiRETURNinininininininii4440200t4,lininininininininininininininininininini4439
  1753. nininiIX=BASE(1)t4,linininininininininininI,tnr),I=1,10llininiininikf=ininiininininininininininin(IX,IY)=LETR(1,10),D. (ninninniG0blniniIX=BASE(1)t4,lininininininininiinir. cinininin╟T(1X,20A1,aTginFORMNROM.ninCn44
  1754. nninininini0t4B-nin5c2),liniinin453
  1755. 437
  1756. nininiGO TO ninininninninininivinininininininininininininininiinin45Rdninini4BASE(1)t4,lininininininiKREaninininininin=LETRnini┴3
  1757. 437t]abin=niningEninninninin3
  1758. ininkf=ineu14ninin3
  1759. ininKinip7ininin9pTnin*-nnininin*-nininin=nininininkf=ininiinininininininininininininininininininininni4437
  1760. nininiGO TO ninininninnininininninninininivinininininininininininininininiinin4530
  1761. nininiRETURNinininininininii4440200t4,lininini2)linininininininininininin
  1762. nin446 ininini4tminivinNu1)t4,lint1ffn(IXç╟T(ni4479
  1763. Cninin...PRIini/
  1764. nininiSuinin4504
  1765. nininiWinini44444nininc:ninininininininpfHnini0a5nin3
  1766. ininKinip7ininin9pTnin*-nnininin*-nininin=nininininkf=ininiinininininininininininininininininininininni4437
  1767. nininiGO TO ninininninnininininninninininivinininininininininininininininiinin4530
  1768. nininiRETURNinininninKiuininin44:4Cini, 5nin3
  1769. in=LEnininiIPQ(IX,IY)=LETR(5)inininin:R(5)iininininininiINTtnt1ffginininnininiiniJ=1,Kinininininininininin0
  1770. nininiRETURNinininninKiuininin44:4Cini, 5nin3
  1771. in=LEninin4440200t4,l4,lininininininintnin45iniinin4530
  1772. nininiRETURNinininninKiuininin44:4Cini, 5nin3
  1773. in=LEininiu_ninkiWRITE(G{Irnnininin.EQ.0)GO TO 1900t4,linininininininininininininininininini4457
  1774. nininininiinin4530
  1775. nininiRETURNinininininininii4440200t4,lininini2nr.inininininiinininininininininininininininininininininnininininini4467
  1776. nininininni O 1950t4,lininininininininininininininininniinini4493
  1777. nininiDO 1ARS.EQ.nin3
  1778. 2Pn:R(5)iinin.EQ.nin3gX,20inininininiinininininiRninniniRETUG0blnininininininininininininini.0.AND.i Or. kymLFORMAeninini,5Xperinininn4530
  1779. ninpeiIF(XKL(I,1IX,IYiniiniininini2nr.inininD.i OrAininini2s
  1780. nini"╛B-░inininniinin45S.Enin45ininink3peiI-RnFORMAninin4508
  1781. nininininiriniinD.i OrAiUinini44I=1,10)nota3ininin  .Enin4liniM2GO Tl    FE 45Sa3ininin1500tRnFORMAninPRpdtKninRETURNininRETni4479mrininREni2nr.-hn E RNiÖ>e    d479mtt508
  1782. nninniiinininu1iinininininininmlinp485
  1783. t37
  1784. ninink3peiI-iniIX=BASEniniinin1iinin1iinp17ininFOnCn4436rninehlsn45T
  1785. 9ninM1┐sETiiniOND.>ini)>OSTRS.c7ininFORMAT(╔TIOininin15-URNiniQ(IRNiÖ>e    4530
  1786. ninpeiIF(XKL(ImininininiRninniniRETUG0blnininininininininininininini.0.AND.i Or. kymLFORMAeninini,5Xperinininn4530
  1787. ninpeiIF(XKL(I,1IX,IYiniiniininini2nr.ininRETURNiniGO Tl    FtQ.0niRETymLFORnin45S.EoninE▄iinininininin),II >eYinimTieini }t4,linAND.i Or. kymLFORMAeTin4517
  1788. 17iiinir.mM:4CiÖ>(*,21)STRS0niRETinpeiIF8TINnir.oeni"╛Bin3
  1789. TymLFOninehlsnginin),IILFO ninin-snginin),)nota3ininR
  1790. niniRA Or.0niRERnniniRETUG0b'RATING: 'ninRElinuoF531
  1791. nininminFaERTnin45RdnininmnininlOrCb'RATIN',F4.O: ',F4.2,ninN-20A1,O T45Ru'ninRElinu1)t4,lin,MESTRS.c7ininFORMAT(╔TIOininin15-URNinir(IHERninRu'ninkb'RATIN',F4.O: ',F4.2,ninN-20A1,O T45nRuo30
  1792. G: STRS0-URNiniFdFtQZ531FtQZ
  1793. G: ininininininininFOninehlsnginin),u1.aiininE1100t4,lioRlOrninnnininininnE(1)t4,ltini.0.(ni4479
  1794. Cninin...PRIini/
  1795. nininiSuinin4504
  1796. nininiWinini44444nininc:ninininininininpfHnini0a5nin3
  1797. ininKinip7ininin9pTnin*-nnininin*-nininin=nininininkf=ininiinininininininininininininininininininininnScmo/sninini-tTnin*-n! HEH, n..uininininininninnininUninRElinuEiIFNninisnSnininii
  1798. nin╜iniiiniraAcvLROM.ini
  1799. 13ininFORniniinin9ninin9pTnink3ininininin inUn..')t4,lini.ininin*-ninrmLFORMAenininininin9.uinininivtnI1,KlnininininiluPQ(I,6),inK0tJ=1,NROMt4,liNiÖ>R (5)dumLFOinidInieninininRE
  1800. nininiWRITE(*,653ininindaninL1,KlninininnsningG: STR c-t4,linininini-RE
  1801. nstninininininininininininininiinin4530
  1802. nininiRETURNinininninKiuininin44:4Cini, 5nin3
  1803. in=LEnininiIPQ(IX,IY)=LETR(5)inininin:R(5)iininininininiINTtnt1ffginininnininiiniJ=1,Kinininininininininin0
  1804. nininiRETURNinininninKiuininin44:4Cini, 5nin3
  1805. in=LEninin4440200t4,l4,lininininininiaCzT.4nin
  1806. RElinuEY467rc]pInininininininPf
  1807. nininiIF(XKL(I,1).EQ.0.)GOininininieninininiTINGini4495
  1808. nininiICOND=3ininininininininininininininininininininiinIiL(*,ini(I,vinininininininininininininininiinin4530
  1809. nininiRETURNinininninKiTE,XTIMEt4,lininininini4502
  1810. nininiWRITE(*,12)(IPQ(I,9),JPQ(I,9),ni,5Xperinininn4530
  1811. ninpeiIF(XKL(I,1IX,IYiniiniininini2nr.ininRET(1Xrninn2P30
  1812. ninnKinip7ininin9pTnin*-Ninini4522
  1813. nininiWF)GOX,IX,IX,IX,IX,nfo/iL(*Linininininin451ndaninLFe
  1814. n(I,9),JPQ(I,9),ni,5Xperinininn4530
  1815. ninpeiIF(XKL(I,1IX,IYiniiniininini2nr.ininRET(1Xrninn2P30
  1816. ninnKinip7ininin9pTnin*-Ninini4522
  1817. nininiWF)GOX,IX,IX,IX,IX,nfo/iL(*Linininininin451ndaninLFe
  1818. n(I,9),JPQ(I,9),ni,5Xperinininn4530
  1819. ninpeiIF(XKL(I,1IX,IYiniiniininiinin inUn..ininiiininini2nininini-
  1820. ╜,1IXininRETXperinirninini
  1821. lin9pTninNE.0)GwbniWF)GTING.4485
  1822. ininn3
  1823. iiniininini-
  1824. ╜,1IXiA=LEininininininininininDniinidt436rninehlsn44COnininininininniniWFiREnnniFOninkinininib'R.oeni"╛BininRET(1Xrninn2P30
  1825. ninnKinip7ininin9pTnin*-Ninini4522
  1826. nininiWF)GOX,IX,IX,IX,IX,nfo/iL(*Linininini,5XperiBAS4522
  1827. niniFLEninin4KinipinL!inpGLehlsn49ininlinini BiFLE5I,ni,5XperiinininnB,JPQ(m T45nRunn2P30
  1828. *-nnini36rnint-nin5c2)ainnKinip(m T45L!inpGLnini
  1829. lin9pTninNE.0)Gwbn
  1830. nin4514
  1831. =LETRniniP30
  1832. CnininAnota3iniOFLEniiininiinininivinininin=niniiniinin inpGLninnininini8lAS45iniIX,4,ltit,IX,IX 110kiIYiniinininiINTtnt1ffginininininniRpnin3
  1833. i6tinini_dEinin4508b89pTninNPfT4,ltit,IXrniniin0t4CX,'lin9pTn=nininini8inininlnninignninninininkf=ininiininininininininininiINGini4BWF)GTI4n3
  1834. i6tminininini79pTPiiininiinininivinininin=niniinO ninR
  1835. ninitnv3iniOFLEniiinninininniRp, 5niP30
  1836. nAnota3SEXrnrS=inihnin3
  1837. i6tinini_dEinin45inpGGOX,IuREadnininfOinle
  1838. WRIP30
  1839. ninnKinip7ininin9pTnin*-Ninini4522
  1840. nininiWF)GOX,IX,IX,IX,IX,nfo/iL(*Linininini,5XperiBAS4522
  1841. niniFLEninin4KinipinL!inpGLehlsn49ininlinini BiFLE5I,ni,5XperiinininnB,JPQ(m T45nRunn2P30
  1842. *-nnini36rnint-nin5c2)ainnKinip(m T45L!ins:Orninnnitini.0Yh467
  1843. nininiiWininiLiniinininini ninininPQ(m T45nRunn2"iniWRIn*-Nininininin0
  1844. nininiRETUR6gnin4K, 5n-ninin n..uIX,IX,IX,nf    into5nRunn2P30
  1845. nininiRETi3sUnitini.04,lininin5S.Enin45ininink3peiI-RnFORMA,nf    itl3EninR╒r ninitninUninRElipeiI-RWRI0t4COi,5Xperinin530
  1846. nin44:4COinle
  1847. WRIP30
  1848. ninnKinip7inininI,9),ni,5Xperinf╜,1I_dEieinini 8[5EkTUR55niP30
  1849. TRU
  1850. WRnininiRni1GLehl3sUnitini.p7F0Nt4,liNiÖ>R E39mtt508
  1851. nninnini
  1852. i6ti4.O: 5mnn2>ininfO╕KinninininininUOutini.0.(ni4479
  1853. Cnininn44:4CO
  1854. 4:4CO
  1855. 4:4ini7iniininFLE5)hEntSo"=
  1856. guIX,IXinininin5Ru'2"iniWOnin,ni,uwQ(I,9),ni,
  1857. *-n7n2PfG+7G+ri BiFLBiFLBiFLBi04,liI45RdnininmnininlOrgnininininin╛Bin3
  1858. TymLFOninehlinKntSo"=n2PcdShl1)SORninin41.IXinpeinininini
  1859. cf TO ninininnininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1-nin0t4COCO
  1860. 4tl3ET,nininniin-20A1,O T,nininnilmRCNI,IX,+7G+ri BiFrsnmninib]ininininml T,nininnElinu1)t4,l+Eninin44402t:nininiininigoninininiurnnElinu1swini)t4,l+G0blnininiEin-20A7n2PfG+7fnini444L(I,1IX,IYnninin
  1861. niniiphpRnimI6pTnin*-nnininin*-ninniin-20A1,O 
  1862. .3peiIRpo,O T,De
  1863. nFOnCr[ 0A1,Oiniiin*-nnininin*-nininin=nininininkf=ininiinininininininininini,MESni nininnini4444
  1864. nininiIY=nininininininininininin
  1865. nin446 ininini4tminivinNu1)t4,lint1ffn(I t4,nrinL
  1866. n*-ninin41.IXinpeinininini
  1867. cf TO ninininnininniin-20A1,O T,nininniin-20A1
  1868. nin44:10t4IF(NTORPS.EQ.0)GO TO 1100t4,linininininininini nininnini4444
  1869. nininFninindni4444
  1870. niniiIFNnP(FeiIRpninREtnin,ninicn4436rninehlsn45T<Linininini,5ini0A1,O ininin*-nininin=ninininininini4tminivinNu1)t4,l2.>ini4504
  1871. nininiWX,IY)=LETR(1,10),$ininnScmo/sninini-tTnin*-n! HEmLFOninehlinKntSo"=n2PcdShl1)SORninin41.IXinpeinininini
  1872. cf TO ninininnininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1,O T,niniºLFOninehlinKntSo"=nVininn.i Or.αi Or.αi Or.αi Or.αi Or.αi Or.αi Or.αIX,IYiniiniininiin
  1873. niniiphiin-20A1,OiniRETURNinininninKiuininin44:np485
  1874. t37
  1875. inin*-nini2 nini=LEninininin,,e Elinu1)t4(1X,20A1t2)(IPQ(I,9),JPQ(I,9),ninininniniphinininininin
  1876. nin446 in7$hninni(FeiIRpninREtnin,ninicn4436rninehlsn45T<Linininini,5ini0A1,O ininin*-nininin=ninininininini4tminivinNu1)t4,l2.>ini4504
  1877. nininiWX,IY)=LETR(1,10),$ininnScmo/sninini-tTnin*-n! HEmLFOninehlinKntSo"=n2PcdShl1)SORninin41.IXinpeinininini
  1878. cf TO ninininnininniin-20A1,O T,nininniin-20A1,O T,nininniin-20A1niin-)Q(m T45nRu1)t4(1X,2ninn-2 t-nin0tUBROUTINE STAR79
  1879.  
  1880. c    include 'tcommon.for'
  1881.     %include tcommon.for
  1882.  
  1883.     character iiiii,idup
  1884. t-nin0character*8 NAMEX,PASSX,IDEMO,moldnm,noldnm
  1885. t-nin0datA POINT/0./
  1886.     data IDEMO/'master  '/,NAMEX/'t-nin0  '/,PASSX/'t-nin0  '/
  1887.     CALL QTIME(IZZ)
  1888. t-nin0J=10
  1889. t-nin0J=MOD(IZZ,J)
  1890. t-nin0J=J*10
  1891. t-nin0J=MOD(IZZ,J)
  1892. t-nin0DO 78888 I=1,J
  1893. t-nin0IIIIII=RAN(IZZ)
  1894. 78888 CONTINUE
  1895. C-nin0...SET USER LIMITS 
  1896. 5666  WRITE(*,1)
  1897. 1-nin0format(/nin0  ' At any point in the game where information is requ4592
  1898. t-nin1ired,'/'tyou may request a short explanation by typing "7777".'/'t4593
  1899. t-nin1good luck!tyou''ll need it.')
  1900. 5655  WRITE(*,77702)
  1901. 77702 FORMAT(' Enter your last name: ')
  1902.     read(*,676,end=9680)namex
  1903. cnin0  read(*,676)namex
  1904. nin0  write(*,77703)
  1905. 777030format(' enter your password: ')
  1906. nin0  read(*,676,end=9680)passx
  1907. nin0  iikk=1
  1908. nin0  moldnm=iyes
  1909. 81818 likk=iikk 
  1910. nin0  read(3,rec=likk,err=5666)mname,points,mpass,x6,x7,irst
  1911. nin0  if(namex.eq.mname.and.passx.eq.mpass)go to 71717
  1912. nin0  if(moldnm.eq.mname)go to 9776
  1913. nin0  moldnm=mname
  1914.     iikk=iikk+1
  1915. nin0  go to 81818
  1916. 71717 mmkey=iikk
  1917. nin0  if(irst.eq.1)call rstart(1)
  1918. nin0  if(irst.eq.1)return
  1919.  
  1920. nin0  write(*,77777)
  1921. 777770format(' Dotyou want to change your password (y or n)? ')
  1922. nin0  read(*,6,ERR=5666,END=9680)IIIII
  1923. t-nin0IF(IIIII.NE.'Y')GO TO 5654
  1924. t-nin0WRITE(*,77888)
  1925. 77888 FORMAT(' Enter new password: ')
  1926. nin0  READ(*,676,END=9680)PASSX
  1927. t-nin0IF(PASSX.EQ.'shazam'.AND.MNAME.EQ.'master')GO TO 77779
  1928. t-nin0IF(MNAME.EQ.IDEMO)GO TO 5654
  1929. t-nin0MPASS=PASSX
  1930. 5654n0WRITE(3,REC=MMKEY)MNAME,POINTS,MPASS,X6,X7,irst
  1931. nin0  GO TO 77714
  1932. 777790WRITE(3,REC=MMKEY)MNAME,POINTS,MPASS,X6,X7,irst
  1933. 65656 WRITE(*,77780)
  1934. 77780 FORMAT(' Dotyou want to add a name to the file (Y or N)? ')
  1935. nin0  READ(*,6,ERR=5666,END=9680)IIIII
  1936. t-nin0IF(IIIII.NE.'Y'.or.iiiii.ne.'y')GO TO 77789
  1937. t-nin0WRITE(*,77781)
  1938. 77781 FORMAT(' Enter the last name: ')
  1939. nin0  READ(*,676,END=9680)NAMEX
  1940. 676   FORMAT(A8)
  1941. nin0  WRITE(*,77783)
  1942. 77783 FORMAT(' Enter the password: ')
  1943. nin0  READ(*,676,END=9680)PASSX
  1944. t-nin0IIKK=1
  1945. nin0  MOLDNM=IYES
  1946. 77784 READ(3,REC=IIKK,ERR=5666)MNAME,POINTS,MPASS,X6,X7
  1947. t-nin0IF(MNAME.EQ.MOLDNM)GO TO 77785
  1948. nin0  MOLDNM=MNAME
  1949. nin0  GO TO 77784
  1950. 777850WRITE(3,REC=IIKK)NAMEX,POINT,PASSX,X6,X7,irst
  1951. nin0  WRITE(*,77786)NAMEX,PASSX
  1952. 77786 FORMAT(' Inductee ',A8,' has been added.  password = ',a8)
  1953. nin0  IIKK=IIKK+1
  1954. nin0  WRITE(3,REC=IIKK)NAMEX,POINT,MPASS,X6,X7,irst
  1955. nin0  GO TO 65656
  1956. 777890WRITE(*,77790)
  1957. 77790 FORMAT(' Dotyou want to display a name on the file (Y or N)? ')
  1958. nin0  READ(*,6,ERR=5666,END=9680)IIIII
  1959. t-nin0IF(IIIII.NE.'Y'.or.iiiii.ne.'y')GO TO 88889
  1960. t-nin0WRITE(*,77791)
  1961. 77791 FORMAT(' Enter the last name: ')
  1962. nin0  READ(*,676,END=9680)NAMEX
  1963. t-nin0IIKK=1
  1964. nin0  MOLDNM=IYES
  1965. nin0  NOLDNM=NAMEX
  1966. 77794 READ(3,REC=IIKK,ERR=5666)NAMEX,X,PASSX,X6,X7
  1967. t-nin0IF(NAMEX.EQ.NOLDNM)GO TO 77795
  1968. nin0  IF(NAMEX.EQ.MOLDNM)GO TO 77798
  1969. nin0  MOLDNM=NAMEX
  1970. t-nin0GO TO 77794
  1971. 777950WRITE(3,REC=IIKK)NAMEX,X,PASSX,X6,X7,irst
  1972. nin0  WRITE(*,77796)namex,passx
  1973. 777960format(1x,a8,' is on the file.  password = ',a8)
  1974. nin0  GO TO 77789
  1975. 77798 WRITE(*,77797)NOLDNM
  1976. 777970format(1x,a8,' is not on the file.')
  1977. nin0  go to 77789
  1978. 88889 write(*,77740)
  1979. 777400format(' dotyou want to add a holiday (Y or N)? ')
  1980. nin0  READ(*,6,ERR=5666,END=9680)IIIII
  1981. t-nin0IF(IIIII.NE.'Y'.or.iiiii.ne.'y')GO TO 77714 
  1982. nin0  WRITE(*,77741)
  1983. 77741 FORMAT(' Enter the next two holidays[I]: ')
  1984. nin0  READ(*,*,END=9680)NHOL1,NHOL2
  1985. t-nin READ(3,REC=1,ERR=5666)X1,X2,X3,X4,X5,X6,X7
  1986. t-nin0WRITE(3,REC=1)X1,X2,X3,X4,X5,NHOL1,NHOL2
  1987.  
  1988. 77714 READ(3,REC=MMKEY,ERR=5666)MNAME,POINTS,MPASS,X6,X7,irst
  1989. nin0  WRITE(3,REC=MMKEY)MNAME,POINTS,MPASS,X6,X7,irst
  1990. nin0  IOK=0
  1991. t-nin0CALL QTIME(NTIME)
  1992. nin0  CALL QDATE(NDATE)
  1993. nin0  IYR=NDATE/1000
  1994. t-nin0IDAY=NDATE-IYR*1000
  1995. t-nin0ISTYR=77
  1996. t-nin0IDIFF=IYR-ISTYR
  1997. t-nin0ISEVEN=7
  1998. t-nin0ITOT=IDIFF/4 
  1999. nin0  ITOT=ITOT+IDIFF+IDAY-1
  2000. nin0  ITOT=MOD(ITOT,ISEVEN)
  2001. nin0  ITOT=ITOT+1
  2002. nin0  IF(ITOT.EQ.1.OR.ITOT.EQ.2)GO TO 44400
  2003. t-nin0IF(ITOT.EQ.7.AND.NTIME.GE.54000)GO TO 44400
  2004. t-nin0READ(3,REC=1,ERR=5666)X1,X2,X3,X4,X5,NHOL1,NHOL2
  2005. t-nin IF(NDATE.EQ.NHOL1.OR.NDATE.EQ.NHOL2)GO TO 44400
  2006. t-nin0IF(NTIME.GE.28800.AND.NTIME.LT.42300)GO TO 5678
  2007. nin0  IF(NTIME.GE.46800.AND.NTIME.LT.61200)GO TO 5678
  2008. nin0  GO TO 44401
  2009. 44400 IOK=1
  2010. 44401 WRITE(*,677)
  2011. 677   FORMAT(' Dotyou want this game rated (Y or N)? ')
  2012. nin0  READ(*,6,END=9680)IDUP
  2013. 6in0  FORMAT(A1)
  2014. nin0  IF(IDUP.NE.NHELPS)GO TO 779
  2015. t-nin0CALL HELP(59)
  2016. nin0  GO TO 5654
  2017. 7790  IF(IDUP.NE.'Y')GO TO 5678
  2018. nin0  NRW=1
  2019. nin0  WRITE(9,rec=1)MNAME,POINTS,MPASS,MMKEY
  2020. t-nin0IF(POINTS.NE.0.)GO TO 778
  2021. nin0  IRANK=1
  2022. nin0  GO TO 769
  2023. C-nin0...PRINT CURRENT STATUS OF PLAYER.
  2024. 778in0DO 772 I=1,NRANKS
  2025. nin0  IF(RANKPT(I)-POINTS)772,771,773
  2026. 7710  IRANK=I
  2027. t-nin0GO TO 769
  2028. 7730  IRANK=I-1
  2029. nin0  GO TO 769
  2030. 772in0CONTINUE
  2031. nin0  IRANK=NRANKS
  2032. 7690  XNEED=RANKPT(IRANK+1)-POINTS
  2033. 7680  WRITE(*,668)RANKS(1,IRANK),RANKS(2,IRANK),MNAME 
  2034. 6680  FORMAT(' Welcome on board the Enterprise, ',2A8,2X,A8/nin0  ' you 4728
  2035. nin0 1have the con!')
  2036. nin0  IF(IRANK.EQ.NRANKS)GO TO 5678
  2037. nin0  WRITE(*,675)XNEED,RANKS(1,IRANK+1),RANKS(2,IRANK+1)
  2038. 6750  FORMAT(' You need ',f5.2,' points to reach the rank of ',2A8)
  2039. 5678inIF(NRW.EQ.0)WRITE(9,rec=1)MNAME,POINTS,MPASS,NRW
  2040. nin0  WRITE(*,5656)
  2041. 5656  FORMAT(' Enter game level desired.[1/3] ')
  2042. nin0  READ(*,*,ERR=800,END=9680)LEVEL
  2043. nin0  IF(LEVEL.EQ.XHELP)GO TO 800
  2044. t-nin0IF(LEVEL.LE.0.OR.LEVEL.GT.3)GO TO 800 
  2045. 11111 WRITE(*,5657)
  2046. 5657  FORMAT(' Enter galactic dimensions.[2/10] ')
  2047. nin0  READ(*,*,ERR=801,END=9680)NQUAD
  2048. nin0  IF(NQUAD.EQ.XHELP)GO TO 801
  2049. nin0  IF(NQUAD.LT.2.OR.NQUAD.GT.10)GO TO 801
  2050. nin0  MMAX=NQUAD*NQUAD*2-2
  2051. t-nin NMAX=400/(NQUAD*NQUAD)
  2052. nin0  IF(LEVEL-2)200,300,400
  2053. 2000  MAXKQ=3
  2054. t-nin MAXRQ=3
  2055.     MAXBQ=1
  2056. nin0  MINK=3
  2057. t-nin MINR=3
  2058. t-nin ICLOAK=0
  2059. t-nin0PHOLE=0.
  2060. t-nin0SNOVAP=0.
  2061. t-nin0GO TO 500
  2062. 300    iCLOAK=0
  2063. t-nin0PHOLE=0.
  2064. t-nin0SNOVAP=0.
  2065. t-nin0GO TO 500
  2066. 400     ICLOAK=1 
  2067.  
  2068. 5000  WRITE(*,77704)
  2069. 77704 FORMAT(' Mimimum enemy vessels?[I] ')
  2070. nin0  READ(*,*,ERR=50,END=9680)MTOT
  2071. t-nin0IF(MTOT.EQ.XHELP)GO TO 50
  2072. t-nin0IF(MTOT.GT.MMAX)MTOT=MMAX
  2073. t-nin NTOT=MIN0(MTOT,MMAX)
  2074. t-nin NTOT=MAX0(NTOT,MINK+MINR)
  2075. t-nin NTOT=NTOT+SIGN(.15*RAN(IZZ)*NTOT,.5-RAN(IZZ))
  2076. t-nin NTOT=MIN0(NTOT,MMAX)
  2077. t-nin NTOT=MAX0(NTOT,MINK+MINR)
  2078. t-nin IF(NTOT.LT.MTOT)NTOT=MTOT
  2079. t-nin0NKL=NTOT*RAN(IZZ)
  2080. t-nin IF(NKL.LE.0)NKL=1
  2081. nin0  IF(NKL.GT.MAXK)NKL=MAXK
  2082. t-nin0IF(MROM.LE.MAXR)GO TO 82829
  2083. t-nin0MROM=MAXR
  2084. t-nin0NKL=NTOT-MROM
  2085. 828290MROM=NTOT-NKL
  2086. t-nin0NDIFF=MROM-NKL
  2087. t-nin0IF(NDIFF.LT.0)GO TO 82828
  2088. nin0  IF(NDIFF.LE.25)GO TO 55
  2089. nin0  NDIFF=NDIFF/2
  2090. t-nin NKL=NKL+NDIFF
  2091. t-nin0MROM=MROM-NDIFF
  2092. t-nin0GO TO 82829
  2093. 82828 NDIFF=NKL-MROM
  2094. nin0  IF(NDIFF.LE.25)GO TO 55
  2095. nin0  NDIFF=NDIFF/2
  2096. t-nin NKL=NKL-NDIFF
  2097. t-nin0MROM=MROM+NDIFF
  2098. t-nin0GO TO 82829
  2099. 55    WRITE(*,5)
  2100. 5in0  FORMAT(' Enter game speed 1 (fast) to 50 (slow) ') 
  2101. nin0  READ(*,*,END=9680)ITFCTR
  2102. t-nin0IF(ITFCTR.LE.0)ITFCTR=1
  2103. nin0  IF(ITFCTR.GT.50)ITFCTR=50
  2104. t-nin0WRITE(*,7)ITFCTR
  2105. 7in0  FORMAT(' Timing Factor = ',I3)
  2106. t-nin NS=RAN(IZZ)*99.+1.
  2107. C-nin0...DETERMINE SETUP FOR THIS GAME
  2108. nin0  SDATE=RAN(IZZ)*5000.+500.
  2109. t-nin0XTIME=NKL*XKTIME+MROM*RTIME
  2110. t-nin0XTIME=XTIME+SQRT(XTIME)*RAN(IZZ)
  2111. C-nin0...REUSE XKTIME AND RTIME.
  2112. t-nin0XKTIME=.2
  2113. t-nin RTIME=XTIME/NTOT
  2114. t-nin0FDATE=SDATE+XTIME
  2115. t-nin0NBASES= SQRT(2.*FLOAT(NTOT))/NMAX+1.
  2116. t-nin0LEFTK=NKL
  2117. t-nin0LEFTR=MROM
  2118. C-nin0...OUTPUT STARTING0CONDITIONS
  2119. nin0  CALL CPAGE
  2120. t-nin0WRITE(*,3)SDATE,NS,NKL,MROM,NTOT,XTIME,FDATE
  2121. 3-nin0format(' Space, the Final Frontier.'/nin0  ' This is a Voyage of t4813
  2122. t-nin1he Starship "Enterprise".'/nin0  ' its five year mission, to explo4814
  2123. t-nin1re strange new worlds,'/nin0  ' to seek out new life and new civil4815
  2124. nin0 1izations,'/nin0  ' to boldly go where no man has gone before! 't-n4816
  2125. nin0 1//nin0  ' t-nin0             S T A R   T R E K'/nin0   ' t-nin0   4817
  2126. t-nin10 August 1984 Joseph V. DiMeo Consulting n0  '/nin0   '-----------4818
  2127. t-nin1-------------------------------------------------'/nin0    ' Order4819
  2128. t-nin1s: Stardate ',F7.2,'   Starfleet Command (TOP SECRET)'//nin0  ' co4820
  2129. t-nin1mmunications with sector ',i2,' of the galaxy were suddenly'/nin0 4821
  2130. nin0 1 ' cut off a few stardays ago. The last report from that area'/nin4822
  2131. t-nin10  ' was that a fleet of ',i3,' Klingons and ' ,i3,' Romulans had'4823
  2132. t-nin1/nin0  ' invaded and destroyed every federation ship in the area.'4824
  2133. t-nin1/nin0  ' your mission, as the pride of the federation starfleet,'/4825
  2134. nin0 1nin0  ' is to destroy the entire enemy force (',i3,' vessels).'/ni4826
  2135. nin0 1n0  ' you have only ',f6.2,' stardays to accomplish your task, as 4827
  2136. t-nin1The'/nin0  ' federation president''s reelection campaign begins on4828
  2137. nin0 1 stardate'/nin0  f8.2,' and, as you well know, his opponent propos4829
  2138. t-nin1es appropriations'/nin0  ' cutbacks for the space academy and elim4830
  2139. t-nin1ination of the '/nin0  ' traditional vulcan bowl game.')
  2140. C-nin0...SET UP GALACTIC MAP(JGAL).
  2141. C-nin0...IGAL SET INITIALLY TO ALL -1S 
  2142.     pause ' Pressn Return to continue '
  2143.     call cpage
  2144. 99    continue
  2145.     DO 1000   J=1,NQUAD
  2146. nin0  DO 1000   I=1,NQUAD
  2147. nin0  IGAL(I,J)=-1
  2148. nin0  JGAL(I,J)=RAN(IZZ)*MAXSQ
  2149. C-nin0...PUT IN BLACK HOLES AND WHERE THEY0GO TO.
  2150. t-nin0IBL(I,J)=0
  2151. t-nin0IF(RAN(IZZ).GT.PHOLE)GO TO 100
  2152. 95    CONTINUE
  2153.     Q=RAN(IZZ)
  2154.     ICE=RAN(IZZ)*NQUAD+1.
  2155. t-nin0JCE=RAN(IZZ)*NQUAD+1.
  2156. t-nin0IF(ICE.EQ.I.AND.JCE.EQ.J)GO TO 95
  2157. nin0  IBL(I,J)=ICE*100+JCE
  2158. 1000  CONTINUE
  2159. C-nin0...PUT THINGS IN QUADRANTS
  2160. nin0  CALL PLIN(NBASES,MAXBQ*10,10)
  2161. nin0  CALL PLIN(NKL,MAXKQ*100,100)
  2162. nin0  CALL PLIN(MROM,MAXRQ*1000,1000)
  2163. C-nin0...ENTERPRISE IN UNOCCUPIED QUADRANT
  2164. nin0  MMAX=9999
  2165. t-nin0DO 110 I=1,NQUAD
  2166. nin0  DO 110 J=1,NQUAD
  2167. nin0  IF(JGAL(I,J).GE.MMAX)GO TO 110
  2168. t-nin0MMAX=JGAL(I,J)
  2169. t-nin ICE=I
  2170. t-nin0JCE=J
  2171. t-nin0IF(MMAX.LE.99)GO TO 111
  2172. 1100  CONTINUE
  2173. t-nin0GO TO 99
  2174. 111   CONTINUE
  2175. t-nin0JCPS=0
  2176. C-nin0...SETUP E
  2177. t-nin0ENERGY=SENRGY
  2178. nin0  DO 9944 I=2,20
  2179. t-nin ITRMEN(I)=0
  2180. t-nin0ICNTL(I)=0
  2181. 9944 0CONTINUE
  2182. nin0  ITRMEN(1)=IFGHTM
  2183. nin0  MEN=NMEN
  2184. nin0  ITORP=NTRP
  2185. t-nin0ISTSH=0
  2186. t-nin0ISHD=0
  2187. C-nin0...ZERO DAMAGE ARRAY
  2188. nin0  DO 9950   I=1,10
  2189. t-nin0IF(I.EQ.10)GO TO 995
  2190. nin0  IFNDS(I)=0
  2191. 995in0IDMG(I)=0
  2192. t-nin0IX=RAN(IZZ)*10.+1.
  2193. nin0  IY=RAN(IZZ)*10.+1.
  2194. nin0  XQE=IX
  2195. t-nin YQE=IY
  2196. nin0  DEFL=0.
  2197. C-nin0...START WITH SHORT RANGE SCAN
  2198. nin0  IDOCK=0
  2199. t-nin0PNRGY=0.
  2200. t-nin0IHWARP=0
  2201. t-nin0DDEG=0.
  2202. t-nin0PDEG=0.
  2203. t-nin0DSP=0.
  2204. t-nin0PSP=0.
  2205. t-nin0ITRUCE=0
  2206. t-nin ITRSTP=0
  2207. t-nin0ITFIRE=0
  2208. t-nin IHERE=0
  2209. t-nin0CALL SCAN 
  2210. C-nin0...START TIMER. NTSTPS=TOTAL NO OF STEPS TO DATE
  2211. t-nin NTSTPS=0
  2212. t-nin0DVWP0=DVWP
  2213. t-nin0EWRP0=EWRP
  2214. t-nin0DISTP0=DISTPE
  2215. t-nin0ETVEL0=ETVEL
  2216. nin0  IETOF0=IETOFT
  2217. nin0  DISTG0=DISTGT
  2218. nin0  CODDS0=CODDS
  2219. t-nin0EODDS0=EODDS
  2220. t-nin0IDAMR0=IDAMRP
  2221. t-nin0SHLDF0=SHLDF
  2222. t-nin0TRNRG0=TRNRGY
  2223. nin0  PJAM0=PJAM
  2224. nin0  RETURN
  2225. 8000  CALL HELP(56)
  2226. nin0  GO TO 5678
  2227. 8010  CALL HELP(57)
  2228. nin0  GO TO 11111
  2229. 50nin0CALL HELP(58)
  2230. nin0  GO TO 500
  2231. 9776n0WRITE(*,9777)
  2232. 9777  FORMAT(' SORRY, BUT YOU ARE NOT AUTHORIZED TO USE THIS PROGRAM.') 4919
  2233. 9680    close (3)
  2234.     close (9)
  2235.     STOP
  2236. t-nin0END
  2237. ]pI TO 82829
  2238. 82828 NDIFF=NKL-MROM
  2239. nin0  IF(NDIFF.LE.25)GO TO 55
  2240. 96