//KLINGON JOB (JOB),'KL',CLASS=A,MSGCLASS=A,
//            REGION=1024K,USER=IBMUSER,PASSWORD=SYS1
//*
//* *******************************************************************
//*
//* CLEAN UP
//CLEANUP EXEC PGM=IDCAMS
//SYSIN    DD *
  DELETE SYSGEN.KLINGON.SOURCE SCRATCH PURGE
  DELETE SYSGEN.KLINGON.ASSETS SCRATCH PURGE
  SET MAXCC=0
  SET LASTCC=0
//SYSPRINT DD SYSOUT=*
//* Upload files
//SOURCE   EXEC PGM=PDSLOAD
//STEPLIB  DD  DSN=SYSC.LINKLIB,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  DSN=SYSGEN.KLINGON.SOURCE,DISP=(NEW,CATLG),
//             VOL=SER=PUB001,
//             UNIT=3390,SPACE=(CYL,(5,5,40))
//SYSUT1   DD  DATA,DLM=@@
./ ADD NAME=#ASMLIST
CPAGE
TIME
FSIO1
FSIO2
JULIAN
SHIFT
SHIFTAB
STAX
SZTERM
STIMER
GAINIT
./ ADD NAME=#JCLPROG
C*********************************************************************
C
C PROGRAM TO GENERATE JCL FOR COMPILING MEMBERS (FORTRAN G/H/VS COMPAT)
C
C*********************************************************************
      COMMON /PARMS/ IASML(100,2), ILNKL(100,2), ISRCE(46), IPLOAD(46),
     *   IOBJL(46), IFORTC(46), IFORTL(46),
     *   ICARDS(100,20), IASMC, ILNKC, ICCNT,
     *   ISTEP, IMEM(2)
      DATA IBLNK /' '/
      DATA ICOMMA /','/
      DATA IQUOTE /''''/
      CALL ASMLIS
      CALL LNKLIS
      REWIND 13
      READ (13,10000,END=999) ISRCE, IPLOAD, IOBJL, IFORTC, IFORTL
      ISRCE(45)  = IBLNK
      ISRCE(46)  = IBLNK
      IPLOAD(45) = IBLNK
      IPLOAD(46) = IBLNK
      IOBJL(45)  = IBLNK
      IOBJL(46)  = IBLNK
      IFORTC(45) = IBLNK
      IFORTC(46) = IBLNK
      IFORTL(45) = IBLNK
      IFORTL(46) = IBLNK
      DO 10 N=1,46
          J = N
          IF (ISRCE(N).EQ.IBLNK) GO TO 11
10    CONTINUE
11    CONTINUE
      ISRCE(J)   = IQUOTE
      ISRCE(J+1) = ICOMMA
      DO 20 N=1,46
          J = N
          IF (IPLOAD(N).EQ.IBLNK) GO TO 21
20    CONTINUE
21    CONTINUE
      IPLOAD(J) = IQUOTE
      IPLOAD(J+1) = ICOMMA
      DO 30 N=1,46
          J = N
          IF (IOBJL(N).EQ.IBLNK) GO TO 31
30    CONTINUE
31    CONTINUE
      IOBJL(J) = IQUOTE
      IOBJL(J+1) = ICOMMA
      DO 40 N=1,46
          J = N
          IF (IFORTC(N).EQ.IBLNK) GO TO 41
40    CONTINUE
41    CONTINUE
      IFORTC(J) = IQUOTE
      IFORTC(J+1) = ICOMMA
      DO 50 N=1,46
          J = N
          IF (IFORTL(N).EQ.IBLNK) GO TO 51
50    CONTINUE
51    CONTINUE
      IFORTL(J) = IQUOTE
      IFORTL(J+1) = ICOMMA
      ICCNT = 0
100   CONTINUE
      READ (13,10001,END=800) (ICARDS(ICCNT+1,N),N=1,20)
      ICCNT = ICCNT + 1
      IF (ICCNT.LT.100) GO TO 100
      WRITE (6,10003)
      GO TO 999
800   CONTINUE
      ISTEP = 100000
      ISTEPF = 999
      REWIND 12
200   CONTINUE
      READ (12,10002,END=999) IMEM
      CALL MEMPR (ISTEPF)
      GO TO 200
999   CONTINUE
      CALL LINKPR
      STOP
10000 FORMAT (46A1/46A1/46A1/46A1/46A1)
10001 FORMAT (2X,A2,19A4)
10002 FORMAT (2A4)
10003 FORMAT (' ','***** OVERFLOW OF ARRAY, USE LESS JCL CARDS')
      END
C*********************************************************************
C
      SUBROUTINE ASMLIS
C
C*********************************************************************
      COMMON /PARMS/ IASML(100,2), ILNKL(100,2), ISRCE(46), IPLOAD(46),
     *   IOBJL(46), IFORTC(46), IFORTL(46),
     *   ICARDS(100,20), IASMC, ILNKC, ICCNT,
     *   ISTEP, IMEM(2)
      IASMC = 0
      REWIND 10
100   CONTINUE
      READ (10,11000,END=999) (IASML(IASMC+1,N),N=1,2)
      IASMC = IASMC + 1
      IF (IASMC.LT.100) GO TO 100
      WRITE (6,11001)
      GO TO 999
999   CONTINUE
      RETURN
11000 FORMAT (2A4)
11001 FORMAT (' ','*** WARNING *** - MORE THAN 100 ASMLIST ENTRIES'/
     *        ' ','EXCESS ENTRIES INGORED')
      END
C*********************************************************************
C
      SUBROUTINE LNKLIS
C
C*********************************************************************
      COMMON /PARMS/ IASML(100,2), ILNKL(100,2), ISRCE(46), IPLOAD(46),
     *   IOBJL(46), IFORTC(46), IFORTL(46),
     *   ICARDS(100,20), IASMC, ILNKC, ICCNT,
     *   ISTEP, IMEM(2)
      ILNKC = 0
      REWIND 11
100   CONTINUE
      READ (11,11000,END=999) (ILNKL(ILNKC+1,N),N=1,2)
      ILNKC = ILNKC + 1
      IF (ILNKC.LT.100) GO TO 100
      WRITE (6,11001)
      GO TO 999
999   CONTINUE
      RETURN
11000 FORMAT (2A4)
11001 FORMAT (' ','*** WARNING *** - MORE THAN 100 LINKMEM ENTRIES'/
     *        ' ','EXCESS ENTRIES INGORED')
      END
C*********************************************************************
C
      SUBROUTINE MEMPR (ISTEPF)
C
C*********************************************************************
      COMMON /PARMS/ IASML(100,2), ILNKL(100,2), ISRCE(46), IPLOAD(46),
     *   IOBJL(46), IFORTC(46), IFORTL(46),
     *   ICARDS(100,20), IASMC, ILNKC, ICCNT,
     *   ISTEP, IMEM(2)
      ISTEPF = ISTEPF + 1
      ISTEP  = ISTEP + 1
      IF (ISTEPF.LT.35) GO TO 200
      DO 100 J=1, ICCNT
          WRITE (14,12000) (ICARDS(J,N),N=1,20)
100   CONTINUE
      ISTEPF = 1
200   CONTINUE
      ILANG = 0
      DO 300 J=1,IASMC
          IF (IMEM(1).EQ.IASML(J,1).AND.IMEM(2).EQ.IASML(J,2)) ILANG = 1
300   CONTINUE
      IF (ILANG.EQ.1) GO TO 400
          WRITE (14,12001) ISTEP, ISRCE, IOBJL, IFORTC, IMEM
          GO TO 900
400   CONTINUE
          WRITE (14,12002) ISTEP, ISRCE, IOBJL, IMEM
900   CONTINUE
      RETURN
12000 FORMAT ('//',A2,19A4)
12001 FORMAT ('//ST',I6,'    EXEC KLFORT,'/
     *        '//            INDS=''',46A1/
     *        '//            OBJDS=''',46A1/
     *        '//            FORTLIB=''',46A1/
     *        '//            MBR=',2A4/
     *        '//*')
12002 FORMAT ('//ST',I6,'    EXEC KLASM,'/
     *        '//            INDS=''',46A1/
     *        '//            OBJDS=''',46A1/
     *        '//            MBR=',2A4/
     *        '//*')
      END
C*********************************************************************
C
      SUBROUTINE LINKPR
C
C*********************************************************************
      COMMON /PARMS/ IASML(100,2), ILNKL(100,2), ISRCE(46), IPLOAD(46),
     *   IOBJL(46), IFORTC(46), IFORTL(46),
     *   ICARDS(100,20), IASMC, ILNKC, ICCNT,
     *   ISTEP, IMEM(2)
      ISTEP  = ISTEP + 1
      DO 300 J=1,ILNKC
          WRITE (14,12001) ISTEP, IPLOAD, IOBJL, ISRCE, IFORTL,
     *                                        (ILNKL(J,N),N=1,2)
      ISTEP = ISTEP + 1
300   CONTINUE
      RETURN
12001 FORMAT ('//ST',I6,'    EXEC KLLINK,'/
     *        '//            OUTDS=''',46A1/
     *        '//            OBJDS=''',46A1/
     *        '//            INDS=''',46A1/
     *        '//            FORTLNK=''',46A1/
     *        '//            MBR=',2A4/
     *        '//*')
      END
./ ADD NAME=#LINK
 ORDER   KL(P)
 ORDER   OUTUNT
 ORDER   TRACKR
 ORDER   TERMSZ
 ORDER   INFOSH
 ORDER   INFO
 ORDER   MISC
 ORDER   TRACOM
 ORDER   NUMBER
 ORDER   SHIPS
 ORDER   CPU
 ORDER   DEVICE
 ORDER   HURT
 ORDER   SSINFO
 ORDER   CWORD
 ORDER   SRCOPY
 ORDER   DEBUG
 ORDER   Z3270
 ORDER   PHASE
 ORDER   EXTRA
 ORDER   SHIFTF
 ORDER   IW
 ORDER   IWI
 ORDER   IWV
 ORDER   BRIDGE
 ORDER   ICROG
 ORDER   ISGN
 ORDER   LRSCAN
 ORDER   NUMREC
 ORDER   PRHIT
 ORDER   PRMIM
 ORDER   PRMRM
 ORDER   PRMSG
 ORDER   PRMSM
 ORDER   RAND
 ORDER   RANDF
 ORDER   READIN
 ORDER   SETFOR
 ORDER   SRSCAN
 ORDER   SR3270
 ORDER   SRS
 ORDER   XDEBUG
 ORDER   XFILLB
 ORDER   XCHEAD
 ORDER   DBUGRN
 INCLUDE O(ABANMS)
 INCLUDE O(ABSORB)
 INCLUDE O(ADDQUE)
 INCLUDE O(APDEV)
 INCLUDE O(AROUND)
 INCLUDE O(BATTCK)
 INCLUDE O(BATTLE)
 INCLUDE O(BEEP)
 INCLUDE O(BEEP2)
 INCLUDE O(BLOCKD)
 INCLUDE O(BRIDGE)
 INCLUDE O(BSTAT)
 INCLUDE O(CERT)
 INCLUDE O(COMOVE)
 INCLUDE O(COPVEC)
 INCLUDE O(CORAND)
 INCLUDE O(CPAGE)
 INCLUDE O(DAMAGE)
 INCLUDE O(DAMAGR)
 INCLUDE O(DBUGCH)
 INCLUDE O(DBUGIA)
 INCLUDE O(DBUGIN)
 INCLUDE O(DBUGRA)
 INCLUDE O(DBUGRN)
 INCLUDE O(DEBUGX)
 INCLUDE O(DEATHR)
 INCLUDE O(DESMSG)
 INCLUDE O(DISPIN)
 INCLUDE O(DIST)
 INCLUDE O(DOCK)
 INCLUDE O(DRAGIN)
 INCLUDE O(EMPLAC)
 INCLUDE O(ENGUSE)
 INCLUDE O(ENGYST)
 INCLUDE O(ESCAPE)
 INCLUDE O(FREEZE)
 INCLUDE O(FSIO1)
 INCLUDE O(FSIO2)
 INCLUDE O(GAINIT)
 INCLUDE O(GRAFIC)
 INCLUDE O(HELP)
 INCLUDE O(HELPRT)
 INCLUDE O(ICROG)
 INCLUDE O(IDENT)
 INCLUDE O(IFEDST)
 INCLUDE O(IFWIN)
 INCLUDE O(IN3270)
 INCLUDE O(INITCH)
 INCLUDE O(INITCT)
 INCLUDE O(INITDM)
 INCLUDE O(INITGR)
 INCLUDE O(INTERC)
 INCLUDE O(INTRO)
 INCLUDE O(ISBSET)
 INCLUDE O(ISGN)
 INCLUDE O(ITERPT)
 INCLUDE O(IW)
 INCLUDE O(IWI)
 INCLUDE O(IWV)
 INCLUDE O(JULIAN)
 INCLUDE O(KILLER)
 INCLUDE O(KL)
 INCLUDE O(LINEF)
 INCLUDE O(LOCATE)
 INCLUDE O(LONINT)
 INCLUDE O(LRSCAN)
 INCLUDE O(MAININ)
 INCLUDE O(M2FAST)
 INCLUDE O(NOVKIL)
 INCLUDE O(NUMREC)
 INCLUDE O(OLDNEW)
 INCLUDE O(ORBIT)
 INCLUDE O(PERHIT)
 INCLUDE O(PHASER)
 INCLUDE O(PHOTON)
 INCLUDE O(PLACE)
 INCLUDE O(PLAGAN)
 INCLUDE O(PLANET)
 INCLUDE O(PRCHRT)
 INCLUDE O(PRHIT)
 INCLUDE O(PRMIM)
 INCLUDE O(PRMRM)
 INCLUDE O(PRMSG)
 INCLUDE O(PRMSGC)
 INCLUDE O(PRMSG1)
 INCLUDE O(PRMSM)
 INCLUDE O(PROMOT)
 INCLUDE O(PRSC)
 INCLUDE O(PRTEND)
 INCLUDE O(RAND)
 INCLUDE O(RANDF)
 INCLUDE O(RANSET)
 INCLUDE O(READIN)
 INCLUDE O(REPAIR)
 INCLUDE O(RESORT)
 INCLUDE O(SCAN)
 INCLUDE O(SCORE)
 INCLUDE O(SECSET)
 INCLUDE O(SENDEC)
 INCLUDE O(SETFED)
 INCLUDE O(SETFOR)
 INCLUDE O(SHECON)
 INCLUDE O(SHIP)
 INCLUDE O(SHIFT)
 INCLUDE O(SHIFTC)
 INCLUDE O(SHIFTAB)
 INCLUDE O(SRS)
 INCLUDE O(SR3270)
 INCLUDE O(SRSCAN)
 INCLUDE O(SSDEST)
 INCLUDE O(SSFIND)
 INCLUDE O(SSINIT)
 INCLUDE O(SSMOVI)
 INCLUDE O(SSMOVO)
 INCLUDE O(SSPRNT)
 INCLUDE O(SSTART)
 INCLUDE O(STARTM)
 INCLUDE O(STAX)
 INCLUDE O(STIMER)
 INCLUDE O(SZTERM)
 INCLUDE O(TARSET)
 INCLUDE O(TIME)
 INCLUDE O(TIMMSG)
 INCLUDE O(TIMUSE)
 INCLUDE O(TRACK)
 INCLUDE O(TSMSG)
 INCLUDE O(XFILLB)
 INCLUDE O(XCHEAD)
 INCLUDE O(XDEBUG)
 INCLUDE O(YESNO)
 ENTRY KL
 NAME KL(R)
./ ADD NAME=#LINK
 ORDER   KL(P)
 ORDER   OUTUNT
 ORDER   TRACKR
 ORDER   TERMSZ
 ORDER   INFOSH
 ORDER   INFO
 ORDER   MISC
 ORDER   TRACOM
 ORDER   NUMBER
 ORDER   SHIPS
 ORDER   CPU
 ORDER   DEVICE
 ORDER   HURT
 ORDER   SSINFO
 ORDER   CWORD
 ORDER   SRCOPY
 ORDER   DEBUG
 ORDER   Z3270
 ORDER   PHASE
 ORDER   EXTRA
 ORDER   SHIFTF
 ORDER   IW
 ORDER   IWI
 ORDER   IWV
 ORDER   BRIDGE
 ORDER   ICROG
 ORDER   ISGN
 ORDER   LRSCAN
 ORDER   NUMREC
 ORDER   PRHIT
 ORDER   PRMIM
 ORDER   PRMRM
 ORDER   PRMSG
 ORDER   PRMSM
 ORDER   RAND
 ORDER   RANDF
 ORDER   READIN
 ORDER   SETFOR
 ORDER   SRSCAN
 ORDER   SR3270
 ORDER   SRS
 ORDER   XDEBUG
 ORDER   XFILLB
 ORDER   XCHEAD
 ORDER   DBUGRN
 INCLUDE O(ABANMS)
 INCLUDE O(ABSORB)
 INCLUDE O(ADDQUE)
 INCLUDE O(APDEV)
 INCLUDE O(AROUND)
 INCLUDE O(BATTCK)
 INCLUDE O(BATTLE)
 INCLUDE O(BEEP)
 INCLUDE O(BEEP2)
 INCLUDE O(BLOCKD)
 INCLUDE O(BRIDGE)
 INCLUDE O(BSTAT)
 INCLUDE O(CERT)
 INCLUDE O(COMOVE)
 INCLUDE O(COPVEC)
 INCLUDE O(CORAND)
 INCLUDE O(CPAGE)
 INCLUDE O(DAMAGE)
 INCLUDE O(DAMAGR)
 INCLUDE O(DBUGCH)
 INCLUDE O(DBUGIA)
 INCLUDE O(DBUGIN)
 INCLUDE O(DBUGRA)
 INCLUDE O(DBUGRN)
 INCLUDE O(DEBUGX)
 INCLUDE O(DEATHR)
 INCLUDE O(DESMSG)
 INCLUDE O(DISPIN)
 INCLUDE O(DIST)
 INCLUDE O(DOCK)
 INCLUDE O(DRAGIN)
 INCLUDE O(EMPLAC)
 INCLUDE O(ENGUSE)
 INCLUDE O(ENGYST)
 INCLUDE O(ESCAPE)
 INCLUDE O(FREEZE)
 INCLUDE O(FSIO1)
 INCLUDE O(FSIO2)
 INCLUDE O(GAINIT)
 INCLUDE O(GRAFIC)
 INCLUDE O(HELP)
 INCLUDE O(HELPRT)
 INCLUDE O(ICROG)
 INCLUDE O(IDENT)
 INCLUDE O(IFEDST)
 INCLUDE O(IFWIN)
 INCLUDE O(IN3270)
 INCLUDE O(INITCH)
 INCLUDE O(INITCT)
 INCLUDE O(INITDM)
 INCLUDE O(INITGR)
 INCLUDE O(INTERC)
 INCLUDE O(INTRO)
 INCLUDE O(ISBSET)
 INCLUDE O(ISGN)
 INCLUDE O(ITERPT)
 INCLUDE O(IW)
 INCLUDE O(IWI)
 INCLUDE O(IWV)
 INCLUDE O(JULIAN)
 INCLUDE O(KILLER)
 INCLUDE O(KL)
 INCLUDE O(LINEF)
 INCLUDE O(LOCATE)
 INCLUDE O(LONINT)
 INCLUDE O(LRSCAN)
 INCLUDE O(MAININ)
 INCLUDE O(M2FAST)
 INCLUDE O(NOVKIL)
 INCLUDE O(NUMREC)
 INCLUDE O(OLDNEW)
 INCLUDE O(ORBIT)
 INCLUDE O(PERHIT)
 INCLUDE O(PHASER)
 INCLUDE O(PHOTON)
 INCLUDE O(PLACE)
 INCLUDE O(PLAGAN)
 INCLUDE O(PLANET)
 INCLUDE O(PRCHRT)
 INCLUDE O(PRHIT)
 INCLUDE O(PRMIM)
 INCLUDE O(PRMRM)
 INCLUDE O(PRMSG)
 INCLUDE O(PRMSGC)
 INCLUDE O(PRMSG1)
 INCLUDE O(PRMSM)
 INCLUDE O(PROMOT)
 INCLUDE O(PRSC)
 INCLUDE O(PRTEND)
 INCLUDE O(RAND)
 INCLUDE O(RANDF)
 INCLUDE O(RANSET)
 INCLUDE O(READIN)
 INCLUDE O(REPAIR)
 INCLUDE O(RESORT)
 INCLUDE O(SCAN)
 INCLUDE O(SCORE)
 INCLUDE O(SECSET)
 INCLUDE O(SENDEC)
 INCLUDE O(SETFED)
 INCLUDE O(SETFOR)
 INCLUDE O(SHECON)
 INCLUDE O(SHIP)
 INCLUDE O(SHIFT)
 INCLUDE O(SHIFTC)
 INCLUDE O(SHIFTAB)
 INCLUDE O(SRS)
 INCLUDE O(SR3270)
 INCLUDE O(SRSCAN)
 INCLUDE O(SSDEST)
 INCLUDE O(SSFIND)
 INCLUDE O(SSINIT)
 INCLUDE O(SSMOVI)
 INCLUDE O(SSMOVO)
 INCLUDE O(SSPRNT)
 INCLUDE O(SSTART)
 INCLUDE O(STARTM)
 INCLUDE O(STAX)
 INCLUDE O(STIMER)
 INCLUDE O(SZTERM)
 INCLUDE O(TARSET)
 INCLUDE O(TIME)
 INCLUDE O(TIMMSG)
 INCLUDE O(TIMUSE)
 INCLUDE O(TRACK)
 INCLUDE O(TSMSG)
 INCLUDE O(XFILLB)
 INCLUDE O(XCHEAD)
 INCLUDE O(XDEBUG)
 INCLUDE O(YESNO)
 ENTRY KL
 NAME KL(R)
./ ADD NAME=#LNKINIT
 INCLUDE O(INITKL)
 NAME INITKL(R)
./ ADD NAME=#LNKINIT
 INCLUDE O(INITKL)
 NAME INITKL(R)
./ ADD NAME=#MEMLIST
ABANMS
ABSORB
ADDQUE
APDEV
AROUND
BATTCK
BATTLE
BEEP
BEEP2
BLOCKD
BRIDGE
BSTAT
CERT
COMOVE
COPVEC
CORAND
CPAGE
DAMAGE
DAMAGR
DBUGCH
DBUGIA
DBUGIN
DBUGRA
DBUGRN
DEBUGX
DEATHR
DESMSG
DISPIN
DIST
DOCK
DRAGIN
EMPLAC
ENGUSE
ENGYST
ESCAPE
FREEZE
FSIO1
FSIO2
GAINIT
GRAFIC
HELP
HELPRT
ICROG
IDENT
IFEDST
IFWIN
INITCH
INITCT
INITDM
INITGR
INITKL
INTERC
INTRO
IN3270
ISBSET
ISGN
ITERPT
IW
IWI
IWV
JULIAN
KILLER
KL
LINEF
LOCATE
LONINT
LRSCAN
MAININ
MEMLPG
M2FAST
NOVKIL
NUMREC
OLDNEW
ORBIT
PERHIT
PHASER
PHOTON
PLACE
PLAGAN
PLANET
PRCHRT
PRHIT
PRMIM
PRMRM
PRMSG
PRMSGC
PRMSG1
PRMSM
PROMOT
PRSC
PRTEND
RAND
RANDF
RANSET
READIN
REPAIR
RESORT
SCAN
SCORE
SECSET
SENDEC
SETFED
SETFOR
SHECON
SHIFT
SHIFTAB
SHIFTC
SHIP
SRS
SRSCAN
SR3270
SSDEST
SSFIND
SSINIT
SSMOVI
SSMOVO
SSPRNT
SSTART
STARTM
STAX
STIMER
SZTERM
TARSET
TIME
TIMMSG
TIMUSE
TRACK
TSMSG
XCHEAD
XDEBUG
XFILLB
YESNO
./ ADD NAME=ABANMS
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ABANMS
C
C     PURPOSE - PRINT "YOU CAN'T ABANDON" MSG
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('ABANMS ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('ABANDON!! THAT''S SOMETHING A SOFT SLIMY',IW(39))
      CALL PRMSG ('''EARTHER'' WOULD DO, NOT A KLINGON!',IW(34))
      CALL DBUGIN ('ABANMS EXITED ',IW(14),0)
      RETURN
      END
./ ADD NAME=ABSORB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ABSORB (HHIT,SHIPO,SHEO)
C
C  PURPOSE: DETERMINE HOW MUCH HIT IS TO BE ABSORBED BY THE SHIELDS,
C  AND HOW MUCH BY THE SHIP
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
      DATA IZDAMG / 'DAMG'/ ,IZDOWN / 'DOWN'/
      CALL DBUGIN ('ABSORB ENTERED',IW(14),0)
      CALL DBUGCH ('CURRENT SHIELD STATUS',IW(21),ISHUPD,IW(4))
      CALL DBUGRN ('HIT TO ABSORB ',IW(14),HIT)
      CALL DBUGIN ('SHIELD ENERGY ',IW(14),ISHENG)
      HIT = HHIT
      IF (ISHUPD.EQ.IZDAMG.OR.ISHUPD.EQ.IZDOWN.OR.ISHENG.EQ.0) GO TO 10
      IF (ISHENG.GT.2500) GO TO 20
      GO TO 40
10    CONTINUE
      CALL DBUGIN ('SHIP FULL HIT ',IW(14),0)
      SHE = 0.0
      SHIP = HIT
      GO TO 50
20    IF (HIT.GT.ISHENG) GO TO 30
      CALL DBUGIN ('SHLD FULL HIT ',IW(14),0)
      SHIP = 0.0
      SHE = HIT
      GO TO 50
30    HIT = HIT-FLOAT(ISHENG)
      SHE = FLOAT(ISHENG)
      SHIP = HIT
      GO TO 50
40    PCT = FLOAT(ISHENG)/25.0
      XPCT = 100.0-PCT
      SHIP = HIT*(XPCT/100.0)
      SHE = HIT*(PCT/100.0)
50    ENERGY = ENERGY-SHIP
      ISHENG = ISHENG-IFIX(SHE+.5)
      IF (ISHENG.LT.0) ISHENG = 0
      SHEO = SHE
      SHIPO = SHIP
      CALL DBUGRN ('SHIP ABSORB   ',IW(14),SHIPO)
      CALL DBUGRN ('SHIELD ABSORB ',IW(14),SHEO)
      CALL DBUGIN ('ABSORB EXITED ',IW(14),0)
      RETURN
      END
./ ADD NAME=ADDQUE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ADDQUE (ITEM)
C
C ADD A VALUE TO THE GRAFICS QUE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /WORKQ/ IGCNT, INQUE(10)
C
      CALL DBUGIN ('ADDQUE ENTERED',IW(14),0)
      CALL DBUGCH ('ADDQUE ITEM',IW(12),ITEM,IW(4))
      IGCNT = IGCNT + 1
      CALL DBUGIN ('IGCNT IS NOW',IW(13),IGCNT)
      INQUE(IGCNT) = ITEM
      CALL DBUGIN ('ADDQUE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=APDEV
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE APDEV
C
C  PURPOSE: ACTIVATE THE ANTI PHOTON DEVICE IS NOT SET, ELSE
C  DISPLAY MSG SAYING "IT'S ON"
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      CALL DBUGIN ('APDEV  ENTERED',IW(14),0)
      CALL DBUGIN ('AT ENTRY, THE DEVICE FLAG=',IW(25),IAPDEV)
      IF (IAPDEV.EQ.1) GO TO 270
      IF (XDSDC.LE.0.001) GO TO 260
      CALL LINEF
      CALL PRMSG (
     *     'ANTI-PHOTON DEVICE IS POWERED BY THE SHIELDS, AND CANNOT',
     *     IW(56))
      CALL PRMSG (
     *     'BE USED IF THE SHIELDS ARE NOT WORKING, LORD COMMANDER',
     *     IW(54))
      GO TO 150
260   IF (ISHENG.GT.500) GO TO 280
      CALL LINEF
      CALL PRMSG (
     *'INSUFFICENT ENERGY IN SHIELDS TO USE ANTI-PHOTON DEVICE',IW(55))
      GO TO 150
270   CALL LINEF
      CALL PRMSG (
     *'THE ANTI-PHOTON DEVICE IS ALREADY ARMED, LORD COMMANDER',IW(55))
      GO TO 150
280   CALL LINEF
      CALL PRMSG ('ANTI-PHOTON DEVICE ARMED, LORD COMMANDER',IW(40))
      ISHENG = ISHENG-500
      IAPDEV = 1
      CALL DBUGIN ('THE DEVICE FLAG IS NOW=',IW(22),IAPDEV)
150   CONTINUE
      CALL DBUGIN ('APDEV  EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=AROUND
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE AROUND (IIX,IIY)
C
C  PURPOSE:  HANDLE THE NOVA OF STARS IN A "RING" AROUND
C  A NOVA STAR
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('AROUND ENTERED',IW(14),0)
      IX = IIX
      IY = IIY
      CALL PRMSM (
     *  '*** STAR AT SECTOR: ',20,IW(20),IY,IX,'NOVAS',5,IW(5))
      ILOX = IX-ISGN(IX-1)
      IHIX = ISGN(10-IX)+IX
      ILOY = IY-ISGN(IY-1)
      IHIY = ISGN(10-IY)+IY
      DO 20 I = ILOY, IHIY
           DO 10 J = ILOX, IHIX
                CALL NOVKIL (J,I)
10         CONTINUE
20    CONTINUE
      CALL DBUGIN ('AROUND EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=BATTCK
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BATTCK
C
C  PURPOSE: CHECK TO SEE IF THE BATTERIES ARE CHARGED,
C  DISPLAY THE STATUS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      CALL DBUGIN ('BATTCK ENTERED',IW(14),0)
      CALL LINEF
      IF (BATTER.GT.0.9) GO TO 100
      CALL PRMSG ('RUBIDIUM ENERGY STORAGE CELLS DRAINED',IW(37))
      GO TO 110
100   CALL LINEF
      CALL PRMSG ('RUBIDUM ENERGY STORAGE CELLS COMPLETELY CHARGED',
     *    IW(47))
110   CONTINUE
      CALL DBUGIN ('BATTCK EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=BATTLE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BATTLE
C
C  CHECK TO SEE IF WE ARE CURRENTLY IN BATTLE, IF SO:
C
C  LET THE ENEMY ATTACK, THEN TALLY UP THE RESULTS
C  NEXT, OUR FRIENDS (COMMANDERS) WILL FIRE AT ANYTHING HANDY
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,IFX(9),IFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      DIMENSION NFX(9),NFY(9),IDMSG(11)
C
      DATA IZGRE / 'GREE'/ ,IZCLER / 'CLEA'/ ,ICRDOT / '.'/ ,KZF /'F'
     *     / ,KZB / 'B'/ ,KZC / 'C'/
C
      DATA IDMSG / '** S','TARS','HIP ','U.S.','S. ',0,0,0,
     *             'AT S','ECTO','R: '/
C
      CALL DBUGIN ('ROUTINE BATTLE ENTERED',IW(22),0)
      CALL SHECON
      IF (ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZGRE) GO TO 260
      NMCALL = 0
      GO TO 20
10    CONTINUE
20    CONTINUE
      CALL ITERPT
      IF (NFED.EQ.0) GO TO 90
      CALL LOCATE (KZF,INONE,INONE2)
      CALL RESORT (IFX,IFY,NFX,NFY,NFED)
      DO 80 J = 1, NFED
           MFX = NFX(J)
           MFY = NFY(J)
           CALL INTERC (MFX,MFY,IRTN)
           IF (IRTN.EQ.IZCLER) GO TO 40
30         CONTINUE
           IAFIRE = NSECE(MFX,MFY)/2
           IF (IPOF.EQ.1) IAFIRE = IAFIRE*1.2
           FIRE = IAFIRE*PERHIT(ISCPX2,ISCPY2,MFX,MFY)
           CALL ABSORB (FIRE,SHIP,SHE)
           JS = IFIX(SHIP+.5)
           JE = IFIX(SHE+.5)
           CALL LINEF
           CALL PRHIT (
     *     JS,JE,'UNIT HIT FROM FEDERATION STARSHIP AT: ',
     *          38,IW(38),MFY,MFX)
           CALL DAMAGE (SHIP)
           NSECE(MFX,MFY) = NSECE(MFX,MFY)-IAFIRE/3
           GO TO 70
40         CONTINUE
           IF (RAND(100.0).LT.20.0.OR.IPOF.EQ.1) GO TO 30
           IF (PERHIT(ISCPX2,ISCPY2,MFX,MFY).LT..6) GO TO 30
           CALL LINEF
           CALL PRMSM ('=== INCOMING PHOTON TORPEDOS FROM: ',
     *          35,IW(35),MFY,MFX,' ',0,1)
           DO 60 N = 1, 3
                CALL LINEF
                CALL PRMSG ('### TRACKING INCOMING PHOTON TORPEDO',
     *                       IW(36))
                IF (IAPDEV.EQ.1) GO TO 50
                CALL ABSORB (RAND(50.0)+650.0,SHIP,SHE)
                JS = IFIX(SHIP+.5)
                JE = IFIX(SHE+.5)
                CALL LINEF
                CALL PRHIT (JS,JE,'UNIT HIT, PHOTON TORPEDO FROM ',
     *               30,IW(30),MFY,MFX)
                CALL DAMAGE (SHIP)
                GO TO 60
50              CONTINUE
                CALL PRMSG (
     *            '*** ANTI-PHOTON DEVICE ABSORBS PHOTON TORPEDO',
     *            IW(45))
60         CONTINUE
70         CONTINUE
           IAPDEV = 0
80    CONTINUE
90    CONTINUE
      IF (NSBASE.EQ.0) GO TO 100
      CALL LOCATE (KZB,IIXB,IIYB)
      FIRE = (RAND(50.0)+750.0)*PERHIT(ISCPX2,ISCPY2,IIXB,IIYB)
      CALL ABSORB (FIRE,SHIP,SHE)
      JS = IFIX(SHIP+.5)
      JE = IFIX(SHE+.5)
      CALL LINEF
      CALL PRHIT (
     *     JS,JE,'UNIT HIT FROM STARBASE AT: ',27,IW(27),IIYB,IIXB)
      CALL DAMAGE (SHIP)
100   CONTINUE
      IF (NCOMM.EQ.0) GO TO 180
      CALL LOCATE (KZC,NONE,NONE2)
      DO 170 M = 1, NCOMM
           IIXC = NCX(M)
           IIYC = NCY(M)
           IFA = -NSECE(IIXC,IIYC)/2
           IF (NFED.EQ.0) GO TO 130
           IFA = IFA/NFED
           DO 120 NF = 1, NFED
                JFX = NFX(NF)
                JFY = NFY(NF)
                FIRE = IFA*PERHIT(IIXC,IIYC,JFX,JFY)
                IP1 = IFIX(FIRE)/3
                IP2D = IP1*2
                CALL LINEF
                CALL PRHIT (
     *               IP2D,IP1,'HIT ON FEDERATION STARSHIP AT: ',
     *               31,IW(31),JFY,JFX)
                CALL PRMSM (
     *              'FROM COMMANDER AT: ',19,IW(19),
     *              IIYC,IIXC,' ',0,1)
                NSECE(JFX,JFY) = NSECE(JFX,JFY)-IFIX(FIRE)
                IF (NSECE(JFX,JFY).GT.0) GO TO 110
                ET = ET+.3
                IFS = IFS-1
                IFSC = IFSC+1
                ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-100
                NSECE(JFX,JFY) = 0
                ISECT(JFX,JFY) = ICRDOT
                CALL SSDEST (IUSFED,ISCPX1,ISCPY1,JFX,JFY,IDMSG(6))
                CALL PRMSM (
     *          IDMSG,44,IWV(44),JFY,JFX,'DESTROYED',9,IW(9))
                CALL ITERPT
                GO TO 170
110             CONTINUE
120        CONTINUE
           GO TO 160
130        CONTINUE
           IF (NSBASE.EQ.0) GO TO 160
           CALL LOCATE (KZB,IIXB,IIYB)
           FIRE = IFA*PERHIT(IIXC,IIYC,IIXB,IIYB)
           IP1 = IFIX(FIRE)/3
           IP2D = IP1*2
           CALL LINEF
           CALL PRHIT (
     *         IP2D,IP1,'HIT ON STARBASE AT: ',20,IW(20),IIYB,IIXB)
           CALL PRMSM (
     *         'FROM COMMANDER AT: ',19,IW(19),IIYC,IIXC,' ',0,1)
           NSECE(IIXB,IIYB) = NSECE(IIXB,IIYB)-IFIX(FIRE)
           IF (NSECE(IIXB,IIYB).GT.0) GO TO 140
           CALL PRMSM ('*** STARBASE AT: ',17,IW(17),IIYB,IIXB,
     *          'DESTROYED',9,IW(9))
           NSECE(IIXB,IIYB) = 0
           ISECT(IIXB,IIYB) = ICRDOT
           ET = ET+.5
           ISB = ISB-1
           ISBC = ISBC+1
           ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-10
           CALL ITERPT
           GO TO 150
140        CONTINUE
           IF (NMCALL.EQ.1) GO TO 160
           IF (ILEV.NE.3) GO TO 150
           CALL DRAGCC
           NMCALL = 1
           CALL ITERPT
           IF (NFED.GT.0) GO TO 10
150        CONTINUE
160        CONTINUE
170   CONTINUE
180   CONTINUE
      CALL ITERPT
      CALL LOCATE (KZF,IDUM,IDUM2)
      CALL LOCATE (KZC,IDUM,IDUM2)
      IF (NFED.EQ.0.AND.NSBASE.EQ.0) GO TO 260
      IF (IPOF.NE.1) GO TO 250
190   CONTINUE
      IF (NCOMM.EQ.0.OR.NFED.EQ.0) GO TO 240
      MC = MIN0(NFED,NCOMM)
      DO 230 N = 1, MC
           IF (NSECE(IFX(N),IFY(N))+NSECE(NCX(N),NCY(N))) 200 , 210 ,
     *           210
200        CONTINUE
           ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-100
           NSECE(IFX(N),IFY(N)) = 0
           ISECT(IFX(N),IFY(N)) = ICRDOT
           ET = ET+.3
           IFS = IFS-1
           IFSC = IFSC+1
           CALL SSDEST (IUSFED,ISCPX1,ISCPY1,IFX(N),IFY(N),IDMSG(6))
           CALL PRMSM (
     *        IDMSG,44,IWV(44),IFY(N),IFX(N),'DESTROYED IN BATTLE',
     *        19,IW(19))
           GO TO 220
210        CONTINUE
           CALL PRMSM ('*** COMMANDER AT ',17,IW(17),NCY(N),NCX(N),
     *          'DESTROYED IN BATTLE',19,IW(19))
           ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-1000
           NSECE(NCX(N),NCY(N)) = 0
           ISECT(NCX(N),NCY(N)) = ICRDOT
           IKC = IKC-1
220        CONTINUE
230   CONTINUE
      CALL ITERPT
      CALL LOCATE (KZC,IDUM,IDUM2)
      CALL LOCATE (KZF,IDUM,IDUM2)
      GO TO 190
240   CONTINUE
      CALL ITERPT
      IF (NSBASE.EQ.0.OR.NCOMM.EQ.0) GO TO 250
      CALL LOCATE (KZB,IIXB,IIYB)
      CALL PRMSM ('*** STARBASE AT ',16,IW(16),IIYB,IIXB,
     *     'DESTROYED BY COMMANDER',22,IW(22))
      ISB = ISB-1
      ISBC = ISBC+1
      ET = ET+.5
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-10
      ISECT(IIXB,IIYB) = ICRDOT
      NSECE(IIXB,IIYB) = 0
250   CONTINUE
      IPCT = IFIX((FLOAT(ISHENG)/25.0)+.5)
      CALL BSTAT (ENERGY,ISHUPD,IPCT)
      IF (ENERGY.LE.-500.0) IPAD1(1) = -1000000
260   CONTINUE
      CALL DBUGIN ('ROUTINE BATTLE EXITED',IW(21),0)
      RETURN
      END
./ ADD NAME=BEEP
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BEEP
C
C  THIS ROUTINE IS CALLED WHEN SOMETHING URGENT HAPPENS, AT THE
C  PRESENT TIME, NOT USED.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL LINEF
      CALL DBUGIN ('SUBROUTINE BEEP CALLED (NOT USED)',IW(33),0)
      RETURN
      END
./ ADD NAME=BEEP2
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BEEP2
C
C  THIS ROUTINE IS CALLED WHEN SOMETHING VERY URGENT HAPPENS, AT THE
C  PRESENT TIME, NOT USED.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL LINEF
      CALL DBUGIN ('SUBROUTINE BEEP2 CALLED (NOT USED)',IW(34),0)
      RETURN
      END
./ ADD NAME=BLOCKD
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      BLOCK DATA
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,
     +KZH,KZI,KZJ,KZK,KZL,KZM,KZN,
     +KZO,KZP,KZQ,KZR,KZS,KZT,KZU,
     +KZV,KZW,KZX,KZY,KZZ,
     +ICRDOT,ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,
     +KZ2,KZ3,KZ4,KZ5,KZ6,KZ7,
     +KZ8,KZ9,ICRBLK
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     +IKY(8,8),INPUT(50),IPAD3
      DATA KZA/'A'/,KZB/'B'/,KZC/'C'/,
     +KZD/'D'/,KZE/'E'/,KZF/'F'/,KZG/'G'/,KZH/'H'/,
     +KZI/'I'/,KZJ/'J'/,KZK/'K'/,KZL/'L'/,KZM/'M'/,
     +KZN/'N'/,KZO/'O'/,KZP/'P'/,KZQ/'Q'/,KZR/'R'/,
     +KZS/'S'/,KZT/'T'/,KZU/'U'/,KZV/'V'/,KZW/'W'/,
     +KZX/'X'/,KZY/'Y'/,KZZ/'Z'/,ICRDOT/'.'/,ICRPLS/'+'/,
     +ICRCRH/'#'/,ICRSTR/'*'/,ICRMIN/'-'/ ,ICRZER/'0'/,KZ1/'1'/,
     +KZ2/'2'/,KZ3/'3'/,KZ4/'4'/,KZ5/'5'/,KZ6/'6'/,
     +KZ7/'7'/,KZ8/'8'/,KZ9/'9'/,ICRBLK/' '/
      COMMON /STRING/ IZSUPN, IZBLKH, IZMISS, IZNOVA, IZCDAM, IZCDES,
     * IZFDAM, IZFDES, IZBDAM, IZBDES, IZPDES,
     * IZP100, IZP200, IZP300, IZP400, IZERR
      DATA IPAD1 /9* 999999/, IPAD2 /9* 999999/,IPAD3 /')'/
      DATA IZSUPN / 'SNOV'/
      DATA IZBLKH / 'BHOL'/
      DATA IZMISS / 'MISS'/
      DATA IZNOVA / '*NOV'/
      DATA IZCDAM / 'CDAM'/
      DATA IZCDES / 'CDES'/
      DATA IZFDAM / 'FDAM'/
      DATA IZFDES / 'FDES'/
      DATA IZBDAM / 'BDAM'/
      DATA IZBDES / 'BDES'/
      DATA IZPDES / 'PDES'/
      DATA IZP100 / 'P100'/
      DATA IZP200 / 'P200'/
      DATA IZP300 / 'P300'/
      DATA IZP400 / 'P400'/
      DATA IZERR  / 'ERRO'/
      END
./ ADD NAME=BRIDGE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BRIDGE (IIPNTR)
C
C  PURPOSE:  POINT POINTER AT NEXT NON-BLANK CHARACTER AFTER A
C  BLANK IN THE COMMAND LINE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(51)
      DATA ICRBLK / ' '/
      CALL DBUGIN ('BRIDGE ENTERED',IW(14),0)
      IPNTR = IIPNTR
      DO 10 N = IPNTR, 52
           IF (INPUT(N).NE.ICRBLK) GO TO 10
           GO TO 20
10    CONTINUE
20    CONTINUE
      IPNTR = N
      CALL DBUGIN ('(BRIDGE), BLANK FOUND AT ',IW(25),N)
      GO TO 30
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      ENTRY GAP (IIPNTR)
C
C  PURPOSE:  POINT POINTER AT FIRST NON-BLANK IN COMMAND LINE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      IPNTR = 1
30    CONTINUE
      CALL DBUGIN ('GAP ENTERED',IW(11),0)
      DO 40 N = IPNTR, 51
           IF (INPUT(N).NE.ICRBLK) GO TO 50
40    CONTINUE
50    CONTINUE
      IIPNTR = N
      CALL DBUGIN ('(GAP), NON-BLANK FOUND AT ',IW(27),N)
      CALL DBUGIN ('BRIDGE/GAP EXITED',IW(17),0)
      RETURN
      END
./ ADD NAME=BSTAT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE BSTAT (ENERGY,ISHUPD,IPCT)
C
C  PURPOSE: DISPLAY INFORMATION ON ENERGY AND SHIELDS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /OUTUNT/ IOUTT
C
      CALL DBUGIN ('BSTAT ENTERED',IW(13),0)
      CALL LINEF
      WRITE (IOUTT,50000) ENERGY,ISHUPD,IPCT
      CALL LINEF
      CALL DBUGIN ('BSTAT EXITED',IW(12),0)
      RETURN
C
50000 FORMAT (' ENERGY: ',F9.2,' SHIELDS  ',A4,2X,I3,' PCT')
C
      END
./ ADD NAME=CERT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE CERT (NAME,INDIM,IRNK,IRDIM)
C
C  PRINT A "YOU WIN" CERTIFICATE IF EXPERT OR EMERITUS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /CPU/ IBMT
      DIMENSION IRNK(IRDIM),MSG1(7),MSG2(4),MSG3(3),IPL(20)
      DIMENSION NAME(INDIM)
      DATA IPL / 20*' '/
      DATA MSG1 / '  TH','E KL','INGO','N HI','GH C','OMMA','ND'/
      DATA MSG2 /        'AWAR','DS T','O YO','U   '/
      DATA MSG3 /        ' THE',' RAN','K OF'/
      CALL DBUGIN ('CERT ENTERED',IW(12),0)
      IF (IBMT.EQ.1) GO TO 10
           CALL PRMSG ('SET PRINTER TO TOP OF PAGE',IW(26))
           CALL READIN ('THEN HIT RETURN',IW(15),15,1,EOFF)
           GO TO 15
10    CONTINUE
           CALL PRMSG ('YOUR AWARD IS NOW BEING WRITTEN TO FT08F001  ',
     *                 IW(43))
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      CALL SHIP
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      CALL PRMSGC(' ',IW(1))
      DO 15 N=1,7
           IPL(N+7) = MSG1(N)
15    CONTINUE
      CALL PRMSGC(IPL,IWV(80))
      CALL PRMSGC(' ',IW(1))
      DO 16 N=8,14
           IPL(N) = IPL(1)
16    CONTINUE
      IPL(10)= MSG2(1)
      IPL(11)= MSG2(2)
      IPL(12)= MSG2(3)
      IPL(13)= MSG2(4)
      CALL PRMSGC(IPL,IWV(80))
      CALL PRMSGC(' ',IW(1))
      DO 13 N=2,20
           IPL(N) = IPL(1)
13    CONTINUE
      DO 14 N=1,INDIM
           IPL(N+9) = NAME(N)
14    CONTINUE
      CALL PRMSGC(IPL,IWV(80))
      CALL PRMSGC(' ',IW(1))
      DO 12 N=2,20
           IPL(N) = IPL(1)
12    CONTINUE
      IPL(10)= MSG3(1)
      IPL(11)= MSG3(2)
      IPL(12)= MSG3(3)
      CALL PRMSGC(IPL,IWV(80))
      CALL PRMSGC(' ',IW(1))
      DO 18 N=2,20
           IPL(N) = IPL(1)
18    CONTINUE
      DO 19 N=1,IRDIM
           IPL(N+6) = IRNK(N)
19    CONTINUE
      CALL PRMSGC(IPL,IWV(80))
      DO 20 N=1,45
           CALL PRMSGC(' ',IW(1))
20    CONTINUE
      CALL DBUGIN ('CERT EXITED',IW(11),0)
      RETURN
      END
./ ADD NAME=COMOVE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE COMOVE
C
C  PURPOSE: CHECK TO SEE IF A COMMANDER NEEDS TO MOVE AROUND
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      DATA ICRDOT / '.'/ ,KZC / 'C'/ ,IZRED / 'RED'/
C
      CALL DBUGIN ('COMOVE ENTERED',IW(14),0)
      DO 40 IY = 1, 8
           DO 30 IX = 1, 8
                J = ICHART(IX,IY)
                IF (J.EQ.9999.OR.J.LT.1000.OR.(IX.EQ.ISCPX1.AND.IY.EQ.
     *               ISCPY1)) GO TO 30
                IXM = 1
                IYM = 1
                IF (RAND(2.0).GT.1.0) IXM = -IXM
                IF (RAND(2.0).GT.1.0) IYM = -IYM
                IXM = IXM+IX
                IYM = IYM+IY
                IF (IXM.NE.ISCPX1.OR.IYM.NE.ISCPY1) GO TO 20
                IF (XLRDC.GT.0.001.AND.XSRDC.GT.001) GO TO 10
                CALL LINEF
      CALL PRMSG (
     *  'LORD COMMANDER, SENSORS INDICATE ONE OF OUR COMMANDERS IS',
     *  IW(57))
                CALL PRMSG ('ENTERING THE QUADRANT',IW(21))
10              M1 = RAND(10.0)+1.0
                M2 = RAND(10.0)+1.0
                IF (ISECT(M1,M2).NE.ICRDOT) GO TO 10
                ISECT(M1,M2) = KZC
                NSECE(M1,M2) = -4500
                ICHART(IX,IY) = ICHART(IX,IY)-1000
                ICHART(IXM,IYM) = ICHART(IXM,IYM)+1000
                GO TO 30
20              IF (IXM.LT.1.OR.IXM.GT.8.OR.IYM.LT.1.OR.IYM.GT.8.OR.
     *               ICROG(ICHART(IXM,IYM)).EQ.IZRED.OR.ICHART(IXM,IYM)
     *               .GT.1000) GO TO 30
                ICHART(IX,IY) = ICHART(IX,IY)-1000
                ICHART(IXM,IYM) = ICHART(IXM,IYM)+1000
30         CONTINUE
40    CONTINUE
      CALL DBUGIN ('COMOVE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=COPVEC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE COPVEC (VEC2,VEC1,IXL,IXH,IYL,IYH)
C
C  PURPOSE: SELECTIVELY COPY PARTS OF AN ARRAY TO ANOTHER ARRAY
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      DIMENSION VEC1(8,8),VEC2(8,8)
C
      CALL DBUGIN ('COPVEC ENTERED',IW(14),0)
      DO 20 N = IYL, IYH
           DO 10 M = IXL, IXH
                VEC2(M,N) = VEC1(M,N)
10         CONTINUE
20    CONTINUE
      CALL DBUGIN ('COPVEC EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=CORAND
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE CORAND (TME)
C
C  GENERATE A RANDOM PLACE FOR A COMMANDER TO MOVE TO
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      DATA ACCUM / 0.0 / ,TMIX / 0.0 /
C
      CALL DBUGIN ('CORAND ENTERED',IW(14),0)
      ACCUM = ACCUM+TME
      IF (ABS(TMIX).GT.0.0001) GO TO 10
      X = RAND(0.5)-.25
      TMIX = X+.50
10    IF (ACCUM.LT.TMIX) GO TO 20
      ACCUM = ACCUM-TMIX
      TMIX = 0.0
      CALL COMOVE
20    CONTINUE
      CALL DBUGIN ('CORAND EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=CPAGE
*********************************************************************
*                                                                   *
*  PURPOSE: FOR 3270 TERMINALS, THIS ROUTINE CLEARS THE SCREEN      *
*                                                                   *
*********************************************************************
CPAGE    CSECT                    CLEAR SCREEN ROUTINE
         STM   R14,R12,12(R13)          SAVE REGS
         LR    R2,R15                   SET BASE REG
         USING CPAGE,R2
         L     R3,=V(TERMSZ)            TERMINAL SIZE CSECT
         CLI   CLEARSCR+5,0             ALREADY GOT SCREEN SIZE?
         BNE   NOGTSIZE                 YES, SKIP GTSIZE ET AL
         GTSIZE ,                       OBTAIN IBM TERMINAL INFO
         LTR   R0,R0                    DETERMINE IF DISPLAY TERMINAL
         BZ    RETURN                   IF R0=0, WE IN WRONG PLACE, OUT
         ST    R0,0(R3)                 SAVE IT
         MR    R0,R0                    GET THE SCREEN SIZE
         BCTR  R1,0                     GET LAST SCREEN LOCATION
         STC   R1,CLEARSCR+6            SAVE LOW-ORDER
         SRL   R1,6
         STC   R1,CLEARSCR+5            SAVE HIGH-ORDER
         NI    CLEARSCR+6,X'3F'         CONVERT TO 3270 12-BIT
         TR    CLEARSCR+5(2),TBL12BIT            ADDRESS FORMAT
NOGTSIZE DS    0H
         LA    R1,CLEARSCR              ADDRESS OF CLEAR STRING
         ICM   R1,B'1000',=X'03'        SET "03" IN FRONT OF ADDRESS
         LA    R0,CLEARLEN              AND SET LENGTH
         TPUT  (1),(0),R                CLEAR SCREEN
RETURN   DS    0H
         LM    14,15,12(13)             RESTORE REGS
         LM    1,12,24(13)              RESTORE SOME MORE
         MVI   12(13),X'FF'             SET RETURN FLAG
         BR    14                       RETURN TO CALLER
         LTORG
         DS    0F
CLEARSCR DC    X'C31140403C0000001D6013' CLEAR SCREEN
CLEARLEN EQU   *-CLEARSCR
TBL12BIT DS    0D
         DC    X'40C1C2C3C4C5C6C7C8C94A4B4C4D4E4F'
         DC    X'50D1D2D3D4D5D6D7D8D95A5B5C5D5E5F'
         DC    X'6061E2E3E4E5E6E7E8E96A6B6C6D6E6F'
         DC    X'F0F1F2F3F4F5F6F7F8F97A7B7C7D7E7F'
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         END
./ ADD NAME=DAMAGE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DAMAGE (UHIT)
C
C  DAMAGE A PART OF THE SHIP IF GREATER THAN 400 UNIT HIT ABSORBED
C  PAST SHIELDS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      DATA IZDAMG / 'DAMG'/ ,IZUP / 'UP'/
C
      CALL DBUGIN ('DAMAGE ENTERED',IW(14),0)
      UNHIT = UHIT
      IBY = 0
10    CONTINUE
      UNIHIT = UNHIT-(RAND(30.0)+170.0)
      IF (UNIHIT.LE.0.0) GO TO 200
      IF (UNIHIT.GT.400.0) UNIHIT = 400.0
      IF (IBY.EQ.1) GO TO 20
      CALL LINEF
      CALL PRMSG ('*** DAMAGE CONTROL REPORTS',IW(26))
20    CONTINUE
      HIT = RAND(0.25)+(UNIHIT*.005)
      IIX = (IFIX(UNIHIT*RAND(3.5))/100)
      IIX = IIX+1
      IF (IIX.LT.4.OR.IIX.GT.14) GO TO 120
      IF (IIX.LT.5) GO TO 30
      IF (IIX.LT.7) GO TO 40
      IF (IIX.LT.9) GO TO 50
      IF (IIX.LT.11) GO TO 60
      IF (IIX.LT.12) GO TO 70
      IF (IIX.LT.13) GO TO 80
      IF (IIX.LT.14) GO TO 90
      IF (IIX.LT.15) GO TO 100
30    CALL PRMSG ('*** IMPULSE ENGINES DAMAGED, LORD COMMANDER.',
     *    IW(44))
      XIEDC = XIEDC+HIT
      GO TO 190
40    CALL PRMSG ('*** SUBSPACE RADIO DAMAGED, LORD COMMANDER.',
     *    IW(43))
      XSRDC = XSRDC+HIT
      GO TO 190
50    CALL PRMSG ('*** LONG RANGE SCANNERS DAMAGED, LORD COMMANDER.',
     *    IW(48))
      XLRDC = XLRDC+HIT
      GO TO 190
60    CALL PRMSG ('*** BATTLE COMPUTER DAMAGED, LORD COMMANDER.',
     *    IW(44))
      XCDC = XCDC+HIT
      GO TO 190
70    CALL PRMSG ('*** WARP ENGINES DAMAGED, LORD COMMANDER.',IW(41))
      XWEDC = XWEDC+HIT
      GO TO 190
80    CALL PRMSG ('*** SHORT RANGE SCANNERS DAMAGED, LORD COMMANDER.',
     *   IW(49))
      XSSDC = XSSDC+HIT
      GO TO 190
90    CALL PRMSG (
     *  '*** DISRUPTOR TORPEDO TUBES DAMAGED, LORD COMMANDER.',
     *   IW(52))
      XPTDC = XPTDC+HIT
      GO TO 190
100   CALL PRMSG ('*** DEFLECTOR SHIELDS DAMAGED',IW(29))
      IF (ISHUPD.NE.IZUP) GO TO 110
      CALL PRMSG (
     *  '*** DEFLECTOR SHIELDS ARE NOW DOWN, LORD COMMANDER.',
     *     IW(51))
110   XDSDC = XDSDC+HIT
      ISHUPD = IZDAMG
      GO TO 190
120   ID20 = IFIX(RAND(19.0)+2.0)
      ID15 = IFIX(RAND(6.0)+15.0)
      J = RAND(6.0)+1.0
      IF (J.EQ.1) GO TO 130
      IF (J.EQ.2) GO TO 140
      IF (J.EQ.3) GO TO 150
      IF (J.EQ.4) GO TO 160
      IF (J.EQ.5) GO TO 170
      IF (J.EQ.6) GO TO 180
      GO TO 130
130   CALL PRMIM ('--- MINOR DAMAGE TO BULKHEADS ON DECK ',
     *      38,IW(38),ID20,' ',0,1)
      GO TO 190
140   CALL PRMIM ('--- MINOR DAMAGE TO FOOD INTEGRATERS ON DECK ',
     *     45,IW(45),ID20,' ',0,1)
      GO TO 190
150   CONTINUE
      CALL PRMIM ('--- MINOR DAMAGE TO RE-PROCESSING CENTER ON DECK ',
     *     49,IW(49),ID15,' ',0,1)
      GO TO 190
160   CONTINUE
      CALL PRMIM ('--- MINOR DAMAGE TO STORAGE HOLDS ON DECK ',
     *     42,IW(42),ID15,' ',0,1)
      GO TO 190
170   CALL PRMIM (
     * '--- ENGINEERING REPORTS NON-CRITICAL POWER LOSS ON DECK ',
     * 56,IW(56),ID20,' ',0,1)
      GO TO 190
180   CONTINUE
      ID = RAND(10.0)+1.0
      CALL PRMIM ('--- ',4,IW(4),ID,
     *            'CASUALTIES FROM THIS HIT',24,IW(24))
      CALL PRMIM ('     ON DECK ',13,IW(13),ID20,' ',0,1)
      GO TO 190
190   IF (UNHIT.LT.600.0) GO TO 200
      UNHIT = UNHIT-400.0
      CALL PRMSG ('AND',IW(3))
      IBY = 1
      GO TO 10
200   CONTINUE
      CALL DBUGIN ('DAMAGE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=DAMAGR
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DAMAGR
C
C  DISPLAY STATUS OF DEVICES ON THE SHIP
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      CALL DBUGIN ('DAMAGR ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('    DAMAGE REPORT FOLLOWS:',IW(26))
      CALL LINEF
      IF (XCDC.GT.0.001.OR. XSRDC.GT.0.001.OR.XIEDC.GT.0.001.OR.
     *    XLRDC.GT.0.001.OR.XWEDC.GT.0.001.OR.XDSDC.GT.0.001.OR.
     *    XSSDC.GT.0.001.OR.XPTDC.GT.0.001) GO TO 350
C
      GO TO 360
350   IF (XCDC.GT.0.001)  CALL PRMRM ('COMPUTER           ',19,IW(19),
     *     XCDC,' ',0,1)
      IF (XSRDC.GT.0.001) CALL PRMRM ('SUBSPACE RADIO     ',19,IW(19),
     *     XSRDC,' ',0,1)
      IF (XIEDC.GT.0.001) CALL PRMRM ('IMPULSE ENGINES    ',19,IW(19),
     *     XIEDC,' ',0,1)
      IF (XLRDC.GT.0.001) CALL PRMRM ('LONG RANGE SENSORS ',19,IW(19),
     *     XLRDC,' ',0,1)
      IF (XWEDC.GT.0.001) CALL PRMRM ('WARP ENGINES       ',19,IW(19),
     *     XWEDC,' ',0,1)
      IF (XDSDC.GT.0.001) CALL PRMRM ('DEFLECTOR SCREENS  ',19,IW(19),
     *     XDSDC,' ',0,1)
      IF (XSSDC.GT.0.001) CALL PRMRM ('SHORT RANGE SENSORS',19,IW(19),
     *     XSSDC,' ',0,1)
      IF (XPTDC.GT.0.001) CALL PRMRM ('DISRUPTOR TORPEDOES',19,IW(19),
     *     XPTDC,' ',0,1)
      GO TO 150
360   CALL LINEF
      CALL PRMSG ('SHIP FULLY OPERATIONAL, LORD COMMANDER',IW(38))
150   CONTINUE
      CALL DBUGIN ('DAMAGR EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=DBUGCH
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DBUGCH(MSG,MSGDIM,ICHAR,IDIM)
C
C  PURPOSE: IF TRACE IS ACTIVE, DISPLAY DEBUGGING INFORMATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEBUG/ IDEBUG
C
      COMMON /DBUGUN/ IUDBUG
C
      DIMENSION MSG(MSGDIM), ICHAR(IDIM)
      IF (IDEBUG.NE.1) GO TO 100
          J = MSGDIM
          IF (J.GT.10) J = 10
          WRITE (IUDBUG,10000) (MSG(N),N=1,J)
          WRITE (IUDBUG,10001) ICHAR
          WRITE (IUDBUG,10002) (MSG(N),N=1,J)
100   RETURN
10000 FORMAT (' *DEBUG* BEGIN',1X,10A4)
10001 FORMAT (' ',5A10)
10002 FORMAT (' *DEBUG* END  ',1X,10A4)
      END
./ ADD NAME=DBUGIA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DBUGIA(MSG,MSGDIM,INTEG,IDIM)
C
C  PURPOSE: IF TRACE IS ACTIVE, DISPLAY DEBUGGING INFORMATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEBUG/ IDEBUG
C
      COMMON /DBUGUN/ IUDBUG
      DIMENSION MSG(MSGDIM), INTEG(IDIM)
      IF (IDEBUG.NE.1) GO TO 100
          J = MSGDIM
          IF (J.GT.10) J = 10
          WRITE (IUDBUG,10000) (MSG(N),N=1,J)
          WRITE (IUDBUG,10001) INTEG
          WRITE (IUDBUG,10002) (MSG(N),N=1,J)
100   RETURN
10000 FORMAT (' *DEBUG* BEGIN',1X,10A4)
10001 FORMAT (' ',I12,1X,I12,1X,I12,1X,I12)
10002 FORMAT (' *DEBUG* END  ',1X,10A4)
      END
./ ADD NAME=DBUGIN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DBUGIN(MSG,MSGDIM,INTEG)
C
C  PURPOSE: IF TRACE IS ACTIVE, DISPLAY DEBUGGING INFORMATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEBUG/ IDEBUG
C
      COMMON /DBUGUN/ IUDBUG
      DIMENSION MSG(MSGDIM)
      IF (IDEBUG.NE.1) GO TO 100
          J = MSGDIM
          IF (J.GT.10) J = 10
          WRITE (IUDBUG,10000) INTEG, (MSG(N),N=1,J)
100   RETURN
10000 FORMAT (' *DEBUG*',I20,1X,10A4)
      END
./ ADD NAME=DBUGRA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DBUGRA(MSG,MSGDIM,REALN,IDIM)
C
C  PURPOSE: IF TRACE IS ACTIVE, DISPLAY DEBUGGING INFORMATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEBUG/ IDEBUG
C
      COMMON /DBUGUN/ IUDBUG
      DIMENSION MSG(MSGDIM), REALN(IDIM)
      IF (IDEBUG.NE.1) GO TO 100
          J = MSGDIM
          IF (J.GT.10) J = 10
          WRITE (IUDBUG,10000) (MSG(N),N=1,J)
          WRITE (IUDBUG,10001) REALN
          WRITE (IUDBUG,10002) (MSG(N),N=1,J)
100   RETURN
10000 FORMAT (' *DEBUG* BEGIN',1X,10A4)
10001 FORMAT (' ',F12.7,1X,F12.7,1X,F12.7,1X,F12.7)
10002 FORMAT (' *DEBUG* END  ',1X,10A4)
      END
./ ADD NAME=DBUGRN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DBUGRN(MSG,MSGDIM,REALN)
C
C  PURPOSE: IF TRACE IS ACTIVE, DISPLAY DEBUGGING INFORMATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEBUG/ IDEBUG
C
      COMMON /DBUGUN/ IUDBUG
      DIMENSION MSG(MSGDIM)
      IF (IDEBUG.NE.1) GO TO 100
          J = MSGDIM
          IF (J.GT.10) J = 10
          WRITE (IUDBUG,10000) REALN, (MSG(N),N=1,J)
100   RETURN
10000 FORMAT (' *DEBUG*',F20.7,1X,10A4)
      END
./ ADD NAME=DEATHR
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DEATHR
C
C     PURPOSE - TO SAY DEATHRAY (SSTREK COMMAND) NOT AVAIL
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('DEATHR ENTERED',IW(14),0)
      CALL PRMSG (
     *  'KLINGONS DON''T NEED "TOY" WEAPONS LIKE A DEATHRAY    ',
     *     IW(49))
      CALL PRMSG ('TO DO THEIR FIGHTING FOR THEM.',IW(30))
      CALL DBUGIN ('DEATHR EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=DEBUGX
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DEBUGX
C
C  PURPOSE: WRITE GAME VARIABLES TO THE EXTENDED DEBUGGING FILE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
C     COMMON /SRCOPY/ ISCOP(10,10)
C
      COMMON /DBUGUN/ IUDBUG
C  IDATF IS OLD VARIABLE LEFTOVER FROM CDC DAYS
      WRITE (IUDBUG,09999)
09999 FORMAT (/' ================== XSNAP BEGIN')
      WRITE (IUDBUG,10000)
     *     CSDATE,TGIVEN,ILEV,WFACT,IDATF,BATTER,ISSAVE,IDUM,TARX
10000 FORMAT (' CSDATE=',F14.3/' TGIVEN=',F14.3/' ILEV  =',I14  /
     *        ' WFACT =',F14.3/' IDATF =',I14  /' BATTER=',F14.3/
     *        ' ISSAVE=',I14  /' IDUM  =',I14  /' TARX  =',F14.3)
      WRITE (IUDBUG,10001)
     *     TARY,ISCPX2,ISCPY2,NSECE,IHIT,ISBC,IFSC,IKCC,ITORCT,ISB,IFS
10001 FORMAT (' TARY  =',F14.3/' ISCPX2=',I14  /' ISCPY2=',I14  /
     *        ' NSECE = (10 * 10)',20(/5I15)/
     *                         ' IHIT  =',A4   /' ISBC  =',I14  /
     *        ' IFSC  =',I14  /' IKCC  =',I14  /' ITORCT=',I14  /
     *        ' ISB   =',I14  /' IFS   =',I14  )
      WRITE (IUDBUG,10002)
     *     IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,ISECT,TVX,TVY,ICMC
10002 FORMAT (' IKC   =',I14  /' IPR   =',I14  /' ISCPX1=',I14  /
     *        ' ISCPY1=',I14  /' ICHC  =',I14  /' IPLC  =',I14  /
     *        ' ISTC  =',I14  /' ET    =',F14.3/
     *        ' ISECT = (10 * 10)',10(/10A4)/
     *        ' TVX   =',F14.3/' TVY   =',F14.3/' ICMC  =',I14  )
      WRITE (IUDBUG,10003)
     *     ICHART,IPLNET,IKY,IPAD3,XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC
10003 FORMAT (' ICHART= (8 * 8)',16(/4I15)/
     *        ' IPLNET= (8 * 8)',16(/4I15)/
     *        ' IKY   = (8 * 8)',16(/4I15)/
     *                                          ' IPAD3 =',I14  /
     *        ' XCDC  =',F14.3/' XSRDC =',F14.3/' XIEDC =',F14.3/
     *        ' XLRDC =',F14.3/' XWEDC =',F14.3/' XDSDC =',F14.3)
      WRITE (IUDBUG,10004)
     *     XSSDC,XPTDC,NSTARS,NPLNTS,NSBASE,NFED,NCOMM,ICOND,ENERGY
10004 FORMAT (' XSSDC =',F14.3/' XPTDC =',F14.3/' NSTARS=',I14  /
     *        ' NPLTS =',I14  /' NSBASE=',I14  /' NFED  =',I14  /
     *        ' NCOMM =',F14.3/' ICOND =',2A4  /' ENERGY=',F14.3)
      WRITE (IUDBUG,10005)
     *     ISHUPD,ISHENG,IAPDEV,IPOF,IOVER,NOCALL,IPLENG,IPBASE,IFED2
10005 FORMAT (' ISHUPD=',A4   /' ISHENG=',I14  /' IAPDEV=',I14  /
     *        ' IPOF  =',I14  /' IOVER =',I14  /' NOCALL=',I14  /
     *        ' IPLENG=',I14  /' IPBASE=',I14  /' IFED2 =',I14  )
      WRITE (IUDBUG,10006)
     *     ICOMM2,IUSFED
10006 FORMAT (' ICOMM2=',I14  /
     *        ' IUSFED= (15 * 13)',13(/4I3,11A4))
      WRITE (IUDBUG,10007) NFX,NFY,NCX,NCY
10007 FORMAT (' NFX   =',5I15/' ',4I15/
     *        ' NFY   =',5I15/' ',4I15/
     *        ' NCX   =',5I15/' ',4I15/
     *        ' NCY   =',5I15/' ',4I15)
      WRITE (IUDBUG,10099)
10099 FORMAT (/' ================== XSNAP END')
      RETURN
      END
./ ADD NAME=DESMSG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DESMSG
C
C     PURPOSE - DISPLAY "YOU BLEW UP MSG"
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('DESMSG ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('  #CLICK#',IW(10))
      CALL LINEF
      CALL PRMSG (
     *     '*********************************************************',
     *     IW(57))
      CALL PRMSG (
     *     '****         SUPERCOMMANDER KAZH DESTROYED           ****',
     *     IW(57))
      CALL PRMSG (
     *     '*********************************************************',
     *     IW(57))
      CALL DBUGIN ('DESMSG EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=DISPIN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DISPIN
C
C     PURPOSE: DISPLAY INFORMATION ABOUT INITIAL SETUP
C     NUMBERS (I.E. FEDERATION AND KLINGON STRENGTHS)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,
     * ISTC,ET,ISECT(10,10),TVX,TVY,ICMC
C
      CALL DBUGIN ('DISPIN ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMIM (' ',0,IW(1),ISB,'FEDERATION STARBASES',20,IW(20))
      CALL PRMIM (' ',0,IW(1),IFS,'FEDERATION STARSHIPS',20,IW(20))
      CALL LINEF
      CALL PRMIM ('YOU WILL HAVE ',14,IW(14),IKC,
     *     'COMMANDERS TO ASSIST YOU',24,IW(24))
      CALL PRMSG ('GOOD LUCK. ALL OF KLINGON GOES WITH YOU',IW(39))
      CALL LINEF
      CALL DBUGIN ('DISPIN EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=DIST
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      REAL FUNCTION DIST (TQX,TSX,TQY,TSY,PQX,PSX,PQY,PSY)
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
C
C     DIST IS DISTANCE IN QUADRANTS
C     TQX - IS TARGET QUADRANT X VALUE.
C     TSX - IS TARGET SECTOR X VALUE.
C     TQY - IS TARGET QUADRANT Y VALUE
C     TSY - IS TARGET SECTOR Y VALUE
C     PQX - IS PRESENT QUADRANT X VALUE
C     PSX - IS PRESENT SECTOR X VALUE
C     PQY - IS PRESENT QUADRANT Y VALUE
C     PSY - IS PRESENT SECTOR Y VALUE.
C
C     TARGET IS AREA YOU WISH TO GO TO
C     PRESENT IS AREA WHERE YOU ARE NOW.
C
C    OTHER VARIABLES ARE USED AS INTERMEDIATE RESULT AREAS
C
      INTEGER TQX,TSX,TQY,TSY,PQX,PSX,PQY,PSY
      REAL XTP,XPP,YTP,YPP
      CALL DBUGIN ('FUNC DIST ENTERED',IW(17),0)
      CALL DBUGRN ('(DIST) PQX=',IW(11),PQX)
      CALL DBUGRN ('(DIST) PQY=',IW(11),PQY)
      CALL DBUGRN ('(DIST) PSX=',IW(11),PSX)
      CALL DBUGRN ('(DIST) PSY=',IW(11),PSY)
      CALL DBUGRN ('(DIST) TQX=',IW(11),TQX)
      CALL DBUGRN ('(DIST) TQY=',IW(11),TQY)
      CALL DBUGRN ('(DIST) TSX=',IW(11),TSX)
      CALL DBUGRN ('(DIST) TSY=',IW(11),TSY)
      XTP = TQX+(.1*(TSX-1))
      XPP = PQX+(.1*(PSX-1))
      YTP = TQY+(.1*(TSY-1))
      YPP = PQY+(.1*(PSY-1))
      D = SQRT(((XTP-XPP)**2)+((YTP-YPP)**2))
      DIST = D
      CALL DBUGRN ('(DIST) DIST=',IW(12),D)
      CALL DBUGIN ('FUNC DIST EXITED',IW(16),0)
      RETURN
      END
./ ADD NAME=DOCK
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DOCK
C
C     PURPOSE - PRINT MSG SAYING DOCK NOT AVAIL
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('DOCK ENTERED',IW(12),0)
      CALL LINEF
      CALL PRMSG ('WHAT ARE YOU PLANNING TO DO, DOCK WITH',IW(38))
      CALL PRMSG ('A FEDERATION STARBASE ???',IW(24))
      CALL DBUGIN ('DOCK EXITED',IW(11),0)
      RETURN
      END
./ ADD NAME=DRAGIN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE DRAGIN
C
C  HANDLE CONDITION OF STARBASE CALLING FOR HELP, PULL IN HELPERS
C  IF AVAIL
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /SSINFO/ IOXQ(9),IOYQ(9),INXS(9),INYS(9)
C
      CALL DBUGIN ('DRAGIN ENTERED',IW(14),0)
      ICTFLG = 0
      GO TO 10
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      ENTRY DRAGCC
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      ICTFLG = 1
10    CONTINUE
      CALL DBUGIN ('DRAGCC ENTERED',IW(14),0)
      CALL ITERPT
      IF (NFED.GT.0.OR.(NSBASE.EQ.0.AND.NPLNTS.EQ.0)) GO TO 200
      IF (NOCALL.EQ.1) GO TO 200
      IDAMG = 0
      IF (NPLNTS.EQ.0) GO TO 20
      CALL LOCATE (KZP,IIXP,IIYP)
      M1 = NSECE(IIXP,IIYP)
      IF (M1.NE.IPLENG.AND.M1.LE.-200000000) IDAMG = 2
20    IF (NSBASE.EQ.0) GO TO 30
      CALL LOCATE (KZB,IIXB,IIYB)
      IF (NSECE(IIXB,IIYB).NE.IPBASE) IDAMG = 1
30    IF (IDAMG.EQ.0) GO TO 200
      ILOX = ISCPX1-ISGN(ISCPX1-1)
      IHIX = ISGN(8-ISCPX1)+ISCPX1
      ILOY = ISCPY1-ISGN(ISCPY1-1)
      IHIY = ISGN(8-ISCPY1)+ISCPY1
      IF (XSRDC.GT.0.001) GO TO 80
      CALL LINEF
      CALL PRMSG (
     *  'LORD COMMANDER, WE HAVE INTERCEPTED A SUBSPACE RADIO',
     *  IW(52))
      CALL PRMSG (
     *  'TRANSMISSION ON A FEDERATION FREQUENCY:',IW(39))
      CALL LINEF
      CALL PRMSG (
     *  '# PRIORITY ONE # CALL TO ANY FEDERATION STARSHIP:',IW(49))
      CALL LINEF
      NOCALL = 1
      IF (IDAMG.EQ.2) GO TO 40
      CALL PRMSM (
     *  'FROM STARBASE IN QUADRANT: ',27,IW(27),
     *  ISCPY1,ISCPX1,' ',0,1)
      GO TO 50
40    CONTINUE
      CALL PRMSM (
     *  'FROM FEDERATION PLANET IN QUADRANT: ',36,IW(36),ISCPY1,
     *     ISCPX1,' ',0,1)
50    CONTINUE
      IF (ICTFLG.EQ.0) GO TO 60
      CALL PRMSG (
     *  'WE ARE CURRENTLY UNDER ATTACK FROM A KLINGON COMMANDER',
     *  IW(54))
      GO TO 70
60    CONTINUE
      CALL PRMSG (
     *  'WE ARE UNDER ATTACK FROM THE KLINGON SUPER-COMMANDER',
     *  IW(52))
70    CALL PRMSG ('       ... PLEASE RESPOND.',IW(26))
80    CALL LINEF
C
C      FIND IF THERE ARE ANY STARSHIPS HANDY
C
      IRESP = 0
      ISSCNT = 1
      DO 120 I = ILOY, IHIY
           DO 110 J = ILOX, IHIX
                IF (ISCPX1.EQ.J.AND.ISCPY1.EQ.I) GO TO 110
                CALL SCAN (ICHART(J,I))
                IF (IFED2.EQ.0) GO TO 110
                CALL ITERPT
                IF (NFED.EQ.9) GO TO 130
                IF (XLRDC.LE.0.001) CALL PRMSM (
     *               'INCOMING FEDERATION STARSHIP(S) FROM: ',
     *               38,IW(38),I,J,' ',0,1)
                IRESP = IRESP+1
                ICHART(J,I) = ICHART(J,I)-(100*IFED2)
                ICHART(ISCPX1,ISCPY1)=ICHART(ISCPX1,ISCPY1)+(100*IFED2)
                DO 100 M = 1, IFED2
90                   M1 = RAND(10.0)+1.0
                     M2 = RAND(10.0)+1.0
                     IF (ISECT(M1,M2).NE.ICRDOT) GO TO 90
                     ISECT(M1,M2) = KZF
                     NSECE(M1,M2) = IFEDST(DUMMY)
                     IOXQ(ISSCNT) = J
                     IOYQ(ISSCNT) = I
                     INXS(ISSCNT) = M1
                     INYS(ISSCNT) = M2
                     ISSCNT = ISSCNT+1
100             CONTINUE
110        CONTINUE
120   CONTINUE
130   IF (IRESP.GT.0) GO TO 140
      CALL LINEF
      CALL PRMSG ('NO FEDERATION STARSHIPS RESPOND',IW(31))
      CALL LINEF
      GO TO 200
140   CALL SSPRNT (1)
      IF (XSRDC.GT.0.001) GO TO 200
      CALL LINEF
      CALL PRMSG (
     *  'TOP ALERT CALL FROM SUPER-COMMANDER KAZH:',IW(41))
      CALL LINEF
      CALL PRMSG (
     *  'ALL COMMANDERS IN RANGE ARE ORDERED TO CONVERGE ',IW(48))
      CALL PRMSM ('ON QUADRANT: ',13,IW(13),ISCPY1,ISCPX1,' ',0,1)
      CALL LINEF
      IRESP = 0
      DO 190 I = ILOY, IHIY
           DO 180 J = ILOX, IHIX
                IF (J.EQ.ISCPX1.AND.I.EQ.ISCPY1) GO TO 180
                CALL SCAN (ICHART(J,I))
                IF (ICOMM2.EQ.0) GO TO 180
                CALL ITERPT
                IF (NCOMM.EQ.9) GO TO 200
                CALL PRMSM ('COMMANDER(S) IN QUADRANT: ',26,IW(26),
     *               I,J,'RESPOND',7,IW(7))
                IRESP = IRESP+1
                ICHART(J,I) = ICHART(J,I)-(1000*ICOMM2)
                ICHART(ISCPX1,ISCPY1)=ICHART(ISCPX1,ISCPY1)+
     *                                            (1000*ICOMM2)
                DO 170 M = 1, ICOMM2
160                  M1 = RAND(10.0)+1.0
                     M2 = RAND(10.0)+1.0
                     IF (ISECT(M1,M2).NE.ICRDOT) GO TO 160
                     ISECT(M1,M2) = KZC
                     NSECE(M1,M2) = -4500
170             CONTINUE
180        CONTINUE
190   CONTINUE
      IF (IRESP.GT.0) GO TO 200
      CALL LINEF
      CALL PRMSG ('NO COMMANDERS RESPONDED, LORD COMMANDER',IW(39))
      CALL LINEF
200   CONTINUE
      CALL DBUGIN ('DRAGIN/DRAGCC EXITED',IW(21),0)
      RETURN
      END
./ ADD NAME=EMPLAC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE EMPLAC (NFS)
C
C  PLACE FEDERATION STARSHIPS (FOR EMERITUS ONLY) SO THAT ALL
C  STARBASES ARE GUARDED BY A STARSHIP, AND "EXTRA" STARSHIPS ARE PUT
C  NEAR STARBASES TOO.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      CALL DBUGIN ('EMPLAC ENTERED',IW(14),0)
      IRF = 0
      DO 30 J = 1, 8
           DO 20 I = 1, 8
                IF (MOD(ICHART(I,J)/10,10).EQ.0) GO TO 20
                IRF = IRF+1
10              IX = (IFIX(RAND(3.0)+1.0)-2)+I
                IY = (IFIX(RAND(3.0)+1.0)-2)+J
                IF (IX.LT.1.OR.IX.GT.8.OR.IY.LT.1.OR.IY.GT.8) GO TO 10
                ICHART(IX,IY) = ICHART(IX,IY)+100
                CALL SSINIT (IUSFED,IX,IY)
20         CONTINUE
30    CONTINUE
      IFMORE = NFS-IRF
      DO 90 J = 1, IFMORE
40         IX = RAND(8.0)+1.0
           IY = RAND(8.0)+1.0
           ILOX = IX-ISGN(IX-1)
           IHIX = ISGN(8-IX)+IX
           ILOY = IY-ISGN(IY-1)
           IHIY = ISGN(8-IY)+IY
           DO 60 N = ILOY, IHIY
                DO 50 I = ILOX, IHIX
                     IF (MOD(ICHART(I,N)/10,10).NE.0) GO TO 70
50              CONTINUE
60         CONTINUE
           IOK = 0
           GO TO 80
70         IOK = 1
80         IF (IOK.EQ.0) GO TO 40
           ICHART(IX,IY) = ICHART(IX,IY)+100
           CALL SSINIT (IUSFED,IX,IY)
90    CONTINUE
      CALL DBUGIN ('EMPLAC EXITED',IW(14),0)
      RETURN
      END
./ ADD NAME=ENGUSE
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION ENGUSE (D,WF)
C
C  COMPUTE HOW MUCH ENERGY USED TO MOVE AT A CERTAIN WARP FACTOR
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
C D IS DISTANCE IN QUADRANTS
C WF IS CURRENT WARP FACTOR
C
      CALL DBUGIN ('ENGUSE ENTERED',IW(14),0)
      E = D*(WF**(2.0+((12.0-WF)*.1)))
      CALL DBUGRN ('ENGUSE VALUE=',IW(13),E)
      ENGUSE = E
      CALL DBUGIN ('ENGUSE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=ENGYST
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ENGYST (IENGST,IZRED)
C
C     PURPOSE - TEST LEVEL OF ENERGY LEFT IN SHIP
C     SET IENGST = -1 IF OUT OF ENERGY, 0 IF OK TO CONTINUE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      CALL DBUGIN ('ENGYST ENTERED',IW(16),0)
      IENGST = 0
      IF (ENERGY.GT.0.0) GO TO 180
      CALL LINEF
      IF (XCDC.GT.0.001) GO TO 160
      CALL PRMSG (
     * 'MAIN ENERGY BANKS HAVE FALLEN TO ZERO, BATTLE COMPUTER',IW(54))
      CALL PRMSG (
     * 'LOCKED INTO EMERGENCY ENERGY CIRCUITS, CROSS-CIRCUITING',IW(55)
     * )
      CALL PRMSG ('TO EMERGENCY RUBIDIUM ENERGY STORAGE CELLS',IW(42))
      CALL LINEF
      ENERGY = ENERGY+BATTER
      BATTER = 0.0
      IF (ENERGY.GT.0.0) GO TO 180
160   CONTINUE
      IF (ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZRED) GO TO 170
      CALL LINEF
      CALL PRMSG ('YOUR COMPUTER WAS UNABLE TO RESTORE YOUR ENERGY,',
     *     IW(48))
      CALL PRMSG ('YOU AND YOUR CREW DIE IN THE CRUEL COLDNESS OF SPACE'
     *     ,IW(52))
      GO TO 190
170   CONTINUE
      CALL LINEF
      CALL PRMSG ('THE SUPERCOMMANDER KAZH IS DESTROYED IN BATTLE',
     *     IW(46))
      CALL PRMSG ('AS FAR AS A KLINGON IS CONCERNED, THIS IS THE ONLY',
     *     IW(50))
      CALL PRMSG ('WAY TO DIE!',IW(11))
      GO TO 190
180   CONTINUE
      GO TO 200
190   CONTINUE
      IENGST = -1
200   CONTINUE
      CALL DBUGIN ('ENGYST EXITED',IW(16),0)
      RETURN
      END
./ ADD NAME=ESCAPE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ESCAPE (INX,INY,IOUTX,IOUTY)
C
C  COMPUTE A RANDOM LOCATION TO MOVE TO FOR SUPERNOVA IF COMPUTER
C  DAMAGED
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('ESCAPE ENTERED',IW(14),0)
10    CONTINUE
      IXX = (IFIX(RAND(3.0)+1.0)-2)+INX
      IYY = (IFIX(RAND(3.0)+1.0)-2)+INY
      IF (IXX.EQ.INX.AND.IYY.EQ.INY) GO TO 10
      IF (IXX.GT.8.OR.IXX.LT.1.OR.IYY.GT.8.OR.IYY.LT.1) GO TO 10
      IOUTX = IXX
      IOUTY = IYY
      CALL DBUGIN ('ESCAPE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=FREEZE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE FREEZE
C
C  PURPOSE: WRITE GAME VARIABLES TO A FREEZE FILE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /SRCOPY/ ISCOP(10,10)
C
      DATA ICRBLK / ' '/
C  IDATF IS OLD VARIABLE LEFTOVER FROM CDC DAYS
      CALL DBUGIN ('FREEZE ENTERED',IW(14),0)
      IDATF = 0
      REWIND 27
      WRITE (27) CSDATE,TGIVEN,ILEV,WFACT,IDATF,BATTER,ISSAVE,IDUM,TARX,
     *     TARY,ISCPX2,ISCPY2,NSECE,IHIT,ISBC,IFSC,IKCC,ITORCT,ISB,IFS,
     *     IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,ISECT,TVX,TVY,ICMC,
     *     ICHART,IPLNET,IKY,IPAD3,XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,
     *     XSSDC,XPTDC,NSTARS,NPLNTS,NSBASE,NFED,NCOMM,ICOND,ENERGY,
     *     ISHUPD,ISHENG,IAPDEV,IPOF,IOVER,NOCALL,IPLENG,IPBASE,IFED2,
     *     ICOMM2,IUSFED
      ENDFILE 27
      REWIND 27
      CALL PRMSG ('GAME NOW ON FROZEN FILE (TAPE27/FT27F001)',IW(41))
      CALL DBUGIN ('FREEZE EXITED',IW(13),0)
      GO TO 90
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      ENTRY GET
C
C     READ THE VARIABLES BACK FROM THE FROZEN FILE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C    PLEASE NOTE, IPAD1(1) IS USED AS AN ERROR FLAG
C    SINCE IT IS NOT OF GREAT IMPORTANCE TO THE MAIN
C    PROGRAM.
C
      CALL DBUGIN ('GET ENTERED',IW(11),0)
      IPAD1(1) = 999999
      REWIND 27
      READ (27,END=80,ERR=80)
     *     CSDATE,TGIVEN,ILEV,WFACT,IDATF,BATTER,ISSAVE,IDUM,
     *     TARX,TARY,ISCPX2,ISCPY2,NSECE,IHIT,ISBC,IFSC,IKCC,ITORCT,ISB,
     *     IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,ISECT,TVX,TVY,
     *     ICMC,ICHART,IPLNET,IKY,IPAD3,XCDC,XSRDC,XIEDC,XLRDC,XWEDC,
     *     XDSDC,XSSDC,XPTDC,NSTARS,NPLNTS,NSBASE,NFED,NCOMM,ICOND,
     *     ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER,NOCALL,IPLENG,IPBASE,
     *     IFED2,ICOMM2,IUSFED
      DO 75 I=1, 10
         DO 75 J=1,10
            ISCOP(I,J) = ICRBLK
75    CONTINUE
      CALL DBUGIN ('GET EXITED',IW(10),0)
      GO TO 90
80    CONTINUE
      CALL PRMSG ('ERROR WHILE READING FILE, TRY AGAIN',IW(35))
      IPAD1(1) = -99999
90    RETURN
      END
./ ADD NAME=FSIO1
         TITLE 'FS IO ROUTINE'
**********************************************************************
*
*  ROUTINE FSIO1 - DO FULLSCREEN TPUT/TGET
*
*  INPUT - BUFFERS IN CSECT FSBUFF
*          ADDRESSABILITY TO CSECT FSBUFF REQUIRED
*
*  OUTPUT - A LINE OF INPUT, 50 CHARACTERS LONG RETURNED IN V(FSBUFF)
*
**********************************************************************
FSIO1    CSECT                          INITIALIZATION
         STM   R14,R12,12(R13)          STORE REGS IN SUPPLIED SAVEAREA
         LR    R12,R15                  ESTABLISH ADDRESSABILITY
         USING FSIO1,R12                WE GOT IT
         ST    R13,SAVEAREA+4           NON-RENT, NO BIG DEAL HERE
         LA    R15,SAVEAREA             SET FORWARD/BACKWORD POINTERS
         ST    R15,8(,R13)                 *
         LA    R13,SAVEAREA                *
*
* 1) INIT THE COUNTERS FOR PROGRAM (AT LEAST MAKE PROGRAM "REUS")
*
         XC    COUNTER,COUNTER          ZERO OUT COUNTER
         XC    BUFFDISP,BUFFDISP        DISP TO CURRENT $WORK
         XC    LNCNT,LNCNT              ZERO OUT LINE COUNTER
         L     R11,=V(FSBUFF)           ADDRESS OF BUFFER CSECT
         USING $FSBUFF,R11              ADDRESS IT
*
* 2) OBTAIN INFO ABOUT TERMINAL (IBM3270) IS IT 24, 32 OR 43 LINES?
*
         L     R3,=V(TERMSZ)            TERMINAL SIZE CSECT
         ICM   R0,B'1111',0(R3)         FILLED IN?
         BNZ   NOGTSIZE
         GTSIZE ,                       OBTAIN IBM TERMINAL INFO
         LTR   R0,R0                    DETERMINE IF DISPLAY TERMINAL
         BZ    RETURN                   IF R0=0, WE IN WRONG PLACE, OUT
         ST    R0,0(R3)                 SAVE IT
NOGTSIZE DS    0H
         BCTR  R0,0                     DECREMENT FOR CONTIN LINE
         ST    R0,LNCNTMS               USE DISPLAY SIZE VALUE
         CLC   LNCNTMS,=F'42'           EXACTLY 42 LINES LEFT?
         BE    PROCEED                  CONTINUE IF OK
         CLC   LNCNTMS,=F'31'           EXACTLY 31 LINES LEFT?
         BE    PROCEED                  CONTINUE IF OK
         CLC   LNCNTMS,=F'23'           EXACTLY 23 LINES LEFT?
         BE    PROCEED                  CONTINUE IF OK
         LA    R1,NOT24#48              OTHERWISE LET USER KNOW
         LA    R0,NOT24LEN              WE CAN'T HANDLE THEM
         TPUT  (1),(0),R                NON-FS TPUT
         B     RETURN                   GET OUT
PROCEED  DS    0H
*
* 3) DO AN INITIAL CLEAR OF THE SCREEN FOR OUR DATA
*
         SR    R1,R1                    NO PARMS
         L     R15,=V(CPAGE)            CLEAR PAGE ROUTINE
         BALR  R14,R15
*
* 4) INIT THE BUFFER POINTERS AND COUNTERS, R9 IS CURRENT BUFFER
*    POSITION, R8 IS CURRENT LENGTH OF USED BUFFER
*
         L     R9,=V(BUFFER)            INIT THE POINTER TO BUFFER AREA
         SR    R8,R8                    SET "CURRENT" BUFFER LEN = 0
         MVC   LNCNT,LNCNTMS            INIT LINE COUNTER
         MVC   0(WCCSBAL,R9),WCCSBA     WCC-SBA ORDERS
         LA    R8,WCCSBAL(,R8)          ADD LENGTH OF WCC-SBA
         LA    R9,WCCSBAL(,R9)          SET R9 TO CURRENT BUFFER
         MVC   0(LINELEN,R9),WAITUP     FILL IN WITH "WAITING" MSG
         LA    R9,LINELEN(,R9)          PUSH UP BUFFER ADDRESS
         LA    R8,LINELEN(,R8)          PUSH UP LENGTH VALUE
*
* 5) FILL IN HEADER FROM FSBUFF AREA FOR IT
*
         LA    R3,HEADLEN               LENGTH TO MOVE TO BUFFER
         LR    R5,R3                    COPY LENGTH TO 2ND REG
         LR    R2,R9                    "TO" BUFFER ADDRESS
         LA    R4,$HEADER               "FROM" TEXT ADDRESS
         MVCL  R2,R4                    BUILD HEADING LINE
         LA    R8,HEADLEN(,R8)          INCR BUFFER SIZE
         LA    R9,HEADLEN(,R9)          INCR POSITION OF NEXT LINE
         L     R10,LNCNT                GET LINE COUNTER
         SH    R10,=AL2(HEADLINE+1)     DECREMENT LINE COUNTER (HEADER
         ST    R10,LNCNT                       PLUS STATUS LINE)
*
* 6) LOOK TO SEE IF ALL LINES DISPLAYED... IF SO EXIT
*    OTHERWISE LOOK TO SEE IF THE PAGE IS FULL, DISPLAY IT
*    OTHERWISE KEEP FILLING IN THE PAGE BUFFER
*
PUTLOOP  DS    0H                       TOP OF DISPLAY LOOP
         CLC   COUNTER,$LINECNT         ALL LINES BEEN DISPLAYED?
         BE    DONE                     IF YES, ALL DONE
         LTR   R10,R10                  IS THIS ZERO
         BP    FILLBUFF                 KEEP FILLING THIS PAGE IF POS
         MVC   LNCNT,LNCNTMS            RESET LINE COUNTER
         MVC   0(L'CNTMSG,R9),CNTMSG    INDICATE MORE TO COME
         LA    R8,L'CNTMSG(,R8)         INCR FOR CONTIN MESSAGE
         SR    R1,R1                    NO PARMS
         L     R15,=V(GRAFIC)           ADDRESS OF GRAFICS RTN
         BALR  R14,R15                  GO DO PRETTY PICTURES
         LR    R0,R8                    SETUP TPUT FULLSCR REQ
         L     R1,=V(BUFFER)
         ICM   R1,8,TPUTFLG             SETUP TPUT FLAGS
         TPUT  (1),(0),R                ISSUE FULLSCREEN TPUT
         TGET  INBUF,0                  DUMMY TGET, JUST FOR WAIT
         L     R9,=V(BUFFER)
         SR    R8,R8                    SET "CURRENT" BUFFER LEN = 0
         MVC   0(WCCSBAL,R9),WCCSBA     WCC-SBA ORDERS
         LA    R8,WCCSBAL(,R8)          ADD LENGTH OF WCC-SBA
         LA    R9,WCCSBAL(,R9)          SET R9 TO CURRENT BUFFER
         MVC   0(LINELEN,R9),WAITUP     FILL IN WITH "WAITING" MSG
         LA    R9,LINELEN(,R9)          PUSH UP BUFFER ADDRESS
         LA    R8,LINELEN(,R8)          PUSH UP LENGTH VALUE
         LA    R8,HEADLEN(,R8)          INCR BUFFER SIZE (ALLOW HEADER)
         LA    R9,HEADLEN(,R9)          INCR POSITION OF NEXT LINE
         L     R10,LNCNT                GET LINE COUNTER
         SH    R10,=AL2(HEADLINE+1)     DECREMENT LINE COUNTER
         ST    R10,LNCNT                STORE IT BACK
         B     LOOPBOT                  DROP TO BOTTOM OF LOOP
FILLBUFF DS    0H
         L     R2,BUFFDISP              LOAD WITH CURRENT BUFFER DISP
         LA    R1,$WORK                 AND WORK ADDRESS
         LA    R1,0(R1,R2)              ADD THEM TOGETHER
         LA    R2,LINELEN(,R2)          ADD TO POINTER
         ST    R2,BUFFDISP              STORE IT BACK
         MVC   0(LINELEN,R9),0(R1)      BUILD BUFFER ENTRY
         LA    R8,LINELEN(,R8)          INCR BUFFER SIZE
         LA    R9,LINELEN(,R9)          INCR A(NEXT BUFFER ENTRY)
         L     R1,COUNTER               LOAD COUNTER VALUE
         LA    R1,1(,R1)                INCR FOR NEXT ENTRY
         ST    R1,COUNTER               STORE BACK
         L     R10,LNCNT                DECREMENT LINE COUNTER
         BCTR  R10,0                    SUBTRACT ONE
         ST    R10,LNCNT                STORE IT BACK
LOOPBOT  DS    0H                       BOTTOM OF LOOP
         B     PUTLOOP                  DO THE NEXT SCREEN
*
*  7) THIS INVOKE OF THE ROUTINE DONE, READ THE NEXT LINE OF INPUT
*     FROM THE USER, AND THEN CLEAR THE SCREEN
*
DONE     DS    0H
         L     R15,=V(XCHEAD)           PREPARE TO FILL IN BUFFERS
         SR    R1,R1                    NO PARMS
         BALR  R14,R15                  CALL ROUTINE
         L     R1,=V(BUFFER)
         MVC   0(WCCSBAL,R1),WCCSBA     WCC-SBA ORDERS
         LA    R1,WCCSBAL(,R1)          PUSH UP POINTER
         MVC   0(LINELEN,R1),CURRMSG    FILL IN WITH "CURRENT" MSG
         L     R5,=V(PHASE)             ADDRESS TO "PHASE"
         ICM   R5,B'1111',0(R5)         AND IT'S VALUE
         BZ    NRMSG                    IF ZERO, NOT IN INIT
         MVC   0(LINELEN,R1),INITMSG    INIT MSG
NRMSG    DS    0H
         LA    R1,LINELEN(,R1)          PUSH UP BUFFER ADDRESS
         LA    R3,HEADLEN               LENGTH TO MOVE TO BUFFER
         LR    R5,R3                    COPY LENGTH TO 2ND REG
         LR    R2,R1                    "TO" BUFFER ADDRESS
         LA    R4,$HEADER               "FROM" TEXT ADDRESS
         MVCL  R2,R4                    BUILD HEADING LINE
         SR    R1,R1                    NO PARMS
         L     R15,=V(CPAGE)            CLEAR PAGE ROUTINE
         BALR  R14,R15
         SR    R1,R1                    NO PARMS
         L     R15,=V(GRAFIC)           ADDRESS OF GRAFICS RTN
         BALR  R14,R15                  GO DO PRETTY PICTURES
*
* 8) PULL IN THE "PROMPT" FOR THE LAST LINE
*
         L     R2,$PROMLEN              LENGTH OF MESSAGE
         LA    R1,$PROMPT               ADDRESS OF MESSAGE
         BCTR  R2,0                     SUBTRACT FOR 360 MOVE INST
         EX    R2,MOVEPROM              FILL IN PROMPT MESSAGE
         L     R2,$PROMLEN              LENGTH OF PROMPT
         LA    R2,0(R2,R9)              ADDRESS TO FILL IN " ?"
         MVC   0(2,R2),=CL2' ?'         ADD ? TO PROMPT
         L     R2,$PROMLEN              LOAD LENGTH OF MSG
         LA    R2,2(R2)                 ADD TWO FOR "?"
         LA    R8,0(R2,R8)              INCR LENGTH OF END MSG
         LA    R9,0(R2,R9)              AND BUFFER POINTER
         MVC   0(UNLOCKL,R9),UNLOCK     FILL IN UNLOCK STRING
         LA    R8,UNLOCKL(,R8)          ADD LENGTH OF UNLOCK
         LA    R9,UNLOCKL(,R9)          AND BUFFER ADDRESS
         LR    R0,R8                    SETUP TPUT FULLSCR REQ
         L     R1,=V(BUFFER)            ADDRESS OF BUFFER
         ICM   R1,8,TPUTFLG             SETUP TPUT FLAGS
         TPUT  (1),(0),R                FULLSCREEN
         L     R1,=V(BUFFER)            REUSE BUFFER FOR INPUT
         LA    R0,BUFFLEN               AND SET LENGTH
         MVI   $RETURN,C' '             FILL IN RETURN BUFFER W/BLANKS
         MVC   $RETURN+1(L'$RETURN-1),$RETURN           *
         TGET  (1),(0),EDIT,WAIT        GET INPUT FROM USER
         LTR   R15,R15                  RETURN CODE ZERO?
         BNZ   AROUND                   IF NOT, BLANKS LEFT ALONE
         LR    R3,R1                    SAVE LENGTH
         CH    R3,=AL2(L'$RETURN)       BIGGER THAN RETURN AREA?
         BL    NORESET                  IF LOW, IT'S OK
         LH    R3,=AL2(L'$RETURN)       OTHERWISE MAKE 50
NORESET  DS    0H
         BCTR  R3,0                     SUBTRACT ONE
         L     R1,=V(BUFFER)            ADDRESS BUFFER
         OC    0(L'$RETURN,R1),$RETURN  MAKE FIRST PART UPPER CASE
         EX    R3,MOVEDATA              FILL IN RETURN AREA
AROUND   DS    0H
         SR    R1,R1                    NO PARMS
         L     R15,=V(CPAGE)            CLEAR PAGE ROUTINE
         BALR  R14,R15
         XC    $LINECNT,$LINECNT        ZERO THE LINE COUNTER
         L     R3,=V(Z3270)             ADDRESS OF 12A4, AND 50A1 AREA
         USING $Z3270,R3
         MVC   $A12,$RETURN             MOVE FROM RETURN AREA
         LA    R6,$A50                  ADDRESS OF BUFFER
         SR    R4,R4                    ZERO COUNTER
FILLIN   DS    0H
         LA    R5,50                    HOW MANY CHARS?
         CR    R4,R5                    DONE YET?
         BE    RETURN
         MVC   0(4,R6),=CL4' '          BLANK OUT
         LA    R1,$RETURN               ADDRESS OF BUFFER
         LA    R1,0(R4,R1)              TO MOVE FROM
         MVC   0(1,R6),0(R1)            MOVE CHAR
         LA    R6,4(R6)                 PUSH UP POINTER
         LA    R4,1(R4)                 AND COUNTER
         B     FILLIN
*
* 9) RESTORE REGS AND RETURN
*
RETURN   DS    0H
         L     R13,SAVEAREA+4           GET ORIGINAL REGISTER 13
         LM    R14,R12,12(R13)          RESTORE INPUT REGISTERS
         SR    R15,R15                  SET RETURN CODE
         BR    R14                      AND RETURN ...
         EJECT
         LTORG
MOVEPROM MVC   0(*-*,R9),0(R1)          *** EXECUTED INSTRUCTION ***
MOVEDATA MVC   $RETURN(*-*),0(R1)       *** EXECUTED INSTRUCTION ***
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
*
*   WORK AREAS (NON-RENT CODE)
*
SAVEAREA DS    9D                       REG SAVE AREA
LNCNT    DS    F                        LINE COUNTER
LNCNTMS  DS    F                        MAX # LINES/PAGE (24, 32 OR 43)
COUNTER  DS    F                        WORK COUNTER
BUFFDISP DS    A                        DISPLACEMENT TO CURRENT $WORK
INBUF    DS    X                        DUMMY BUFFER
*
NOT24#48 DC    C'THIS PROGRAM SUPPORTS ONLY 24, 32 OR 43 LINE 3270'
NOT24LEN EQU   *-NOT24#48               LENGTH OF MSG
*
CNTMSG   DC    C' PRESS ENTER TO SEE NEXT PAGE'
*
UNLOCK   DC    X'1D4113'                UNLOCK KEYBOARD STRING
UNLOCKL  EQU   *-UNLOCK                 UNLOCK LENGTH
*
         DS    0F
WCCSBA   DC    X'C3114040'              WCC-SBA ORDERS
WCCSBAL  EQU   *-WCCSBA                 AND IT'S LENGTH
*
TPUTFLG  DC    X'03'                    TPUT FULLSCREEN FLAGS
*
*
LINELEN  EQU   80                       LENGTH OF ONE LINE
INITMSG  DC    CL(LINELEN)' K L I N G O N     V E R S I O N    1.2.0'
CURRMSG  DC    CL(LINELEN)' TACTICAL DISPLAY IS: *CURRENT*'
WAITUP   DC    CL(LINELEN)' TACTICAL DISPLAY IS: WAITING TO BE UPDATED'
*
         DS    0F
$FSBUFF  DSECT                          START OF MAP FOR FSBUFF DSECT
$PROMLEN DS    F                        AMOUNT OF PROMPT BUFFER FILLED
$PROMPT  DS    CL80                     BUFFER FOR PROMPT
$RETURN  DS    CL52                     RETURN AREA READ FROM USER
$HEADER  DS    (80*12)CL1               SPACE FOR HEADER AREA(12 LINES)
HEADLEN  EQU   *-$HEADER                LENGTH OF HEADER AREA
HEADLINE EQU   HEADLEN/80               NUMBER OF LINES IN HEADER
$LINECNT DS    F                        NUMBER OF ITEMS ON $WORK
$WORK    DS    CL(80*200)               WORK AREA FOR DISPLAY
$FSBUFFL EQU   *-$PROMLEN               TOTAL LENGTH
$Z3270   DSECT
$A12     DS    CL52                     12A4 FORMAT
$A50     DS    50A                      50A1 FORMAT
BUFFER   CSECT
         DS    XL(LINELEN*43+4)         43 LINES + 4 BYTE CNTL
BUFFLEN  EQU   *-BUFFER                 BUFFER LENGTH
         END
./ ADD NAME=FSIO2
         TITLE 'FS IO ROUTINE'
**********************************************************************
*
*  ROUTINE FSIO2 - DO FULLSCREEN TPUT FOR GRAFICS ROUTINES
*
**********************************************************************
FSIO2    CSECT                          INITIALIZATION
         STM   R14,R12,12(R13)          STORE REGS IN SUPPLIED SAVEAREA
         LR    R12,R15                  ESTABLISH ADDRESSABILITY
         USING FSIO2,R12                WE GOT IT
         ST    R13,SAVEAREA+4           NON-RENT, NO BIG DEAL HERE
         LA    R15,SAVEAREA             SET FORWARD/BACKWORD POINTERS
         ST    R15,8(,R13)                 *
         LA    R13,SAVEAREA                *
*
* 1) ADDRESS WORK BUFFER
*
         L     R11,=V(DISPLY)           ADDRESS OF BUFFER CSECT
         USING $DSBUFF,R11              ADDRESS IT
*
* 2) OBTAIN INFO ABOUT TERMINAL (IBM3270) IS IT 24, 32 OR 43 LINES?
*
         L     R3,=V(TERMSZ)            TERMINAL SIZE CSECT
         ICM   R0,B'1111',0(R3)         FILLED IN?
         BNZ   NOGTSIZE
         GTSIZE ,                       OBTAIN IBM TERMINAL INFO
         LTR   R0,R0                    DETERMINE IF DISPLAY TERMINAL
         BZ    RETURN                   IF R0=0, WE IN WRONG PLACE, OUT
         ST    R0,0(R3)                 SAVE IT
NOGTSIZE DS    0H
         CLC   =F'43',0(R3)             EXACTLY 43 LINES ?
         BE    PROCEED                  CONTINUE IF OK
         CLC   =F'32',0(R3)             EXACTLY 32 LINES ?
         BE    PROCEED                  CONTINUE IF OK
         CLC   =F'24',0(R3)             EXACTLY 24 LINES ?
         BE    PROCEED                  CONTINUE IF OK
         LA    R1,NOT24#48              OTHERWISE LET USER KNOW
         LA    R0,NOT24LEN              WE CAN'T HANDLE THEM
         TPUT  (1),(0),R                NON-FS TPUT
         B     RETURN                   GET OUT
PROCEED  DS    0H
         L     R3,0(R3)                 INIT LENGTH
*
*    FILL IN SBA
*
         MVC   8-WCCSBAL(WCCSBAL,R11),WCCSBA  WCC-SBA ORDERS
         MH    R3,=AL2(80)              80 BYTE LINES
         LA    R3,WCCSBAL(,R3)
         LR    R0,R3                    SETUP LENGTH
         LA    R1,8-WCCSBAL(,R11)       ADDRESS OF BUFFER
         ICM   R1,8,TPUTFLG             SETUP TPUT FLAGS
         TPUT  (1),(0),R                ISSUE FULLSCREEN TPUT
*
*    RESTORE REGS AND RETURN
*
RETURN   DS    0H
         L     R13,SAVEAREA+4           GET ORIGINAL REGISTER 13
         LM    R14,R12,12(R13)          RESTORE INPUT REGISTERS
         SR    R15,R15                  SET RETURN CODE
         BR    R14                      AND RETURN ...
         EJECT
         LTORG
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
*
*   WORK AREAS (NON-RENT CODE)
*
SAVEAREA DS    9D                       REG SAVE AREA
NOT24#48 DC    C'THIS PROGRAM SUPPORTS ONLY 24, 32 OR 43 LINE 3270'
NOT24LEN EQU   *-NOT24#48               LENGTH OF MSG
         DS    0F
WCCSBA   DC    X'C3114040'              WCC-SBA ORDERS
WCCSBAL  EQU   *-WCCSBA                 AND IT'S LENGTH
*
TPUTFLG  DC    X'03'                    TPUT FULLSCREEN FLAGS
$DSBUFF  DSECT                          START OF MAP FOR FSBUFF DSECT
$PREFIX  DS    D                        ROOM FOR SBA
$AREA    DS    (80*43)CL1               TPUT WORK AREA
         END
./ ADD NAME=GAINIT
*********************************************************************
*                                                                   *
*  PURPOSE:  THIS ROUTINE INITS THE GAME VARIABLES FOR GRAPHICS AND *
*            IF 3270/IBM TSO SUPPORTED                              *
*                                                                   *
*********************************************************************
GAINIT   CSECT                          SET VARIABLES ROUTINE
         STM   R14,R12,12(R13)          SAVE REGS
         LR    R2,R15                   SET BASE REG
         USING GAINIT,R2
         ICM   R3,B'1111',=V(INITVR)    FILLED IN?
         BZ    RETURN
         MVC   0(4,R3),IBMTSO           VALUE FOR IBMTSO
         MVC   4(4,R3),GRAFICS          AND GRAFICS
RETURN   DS    0H
         LM    14,15,12(13)             RESTORE REGS
         LM    1,12,24(13)              RESTORE SOME MORE
         MVI   12(13),X'FF'             SET RETURN FLAG
         BR    14                       RETURN TO CALLER
         LTORG
*
*  USING THE VARIABLES BELOW,
*
*  IF YOU SET IBMTSO TO ZERO, GRAFICS IS IGNORED
*  IF YOU LEAVE IBMTSO AT ONE, WE WILL ASSUME YOU ARE 3278 MODEL 2
*  OR MODEL 4, OR SOMETHING THAT RUNS LIKE IT.
*
*  THE GRAFICS FLAG IS SET TO ZERO, IF YOU WISH TO SUPPRESS ALL
*  GRAPHICS DISPLAYS, WHICH YOU MAY WANT TO DO IF IT DOES NOT
*  LOOK PRETTY...
*
*  THE GRAFICS FLAG CAN BE SET TO ZERO, BY ENTERING THE "EXT"
*  COMMAND (FOR "EXTERNAL VIEW") ANYTIME YOU ARE PROMPTED WITH
*  A "COMMAND - " PROMPT.
*
*  NOTE: IF YOU SET GRAFICS TO OFF, THE PLAYER CANNOT TURN IT ON
*
IBMTSO   DC    F'1'    1=FULL 3270 TSO SUPPORT, 0= SEQUENTIAL LINE MODE
*
GRAFICS  DC    F'1'    1=FULL 3270 GRAPHICS USE 0= GRAPHICS BORE ME,
*                                                  OR MY 3270 LOOK-
*                                                  ALIKES ARE SOOO...
*                                                  SLOW, GRAPHICS DON'T
*                                                  LOOK GOOD
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         END
./ ADD NAME=GRAFIC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE GRAFIC
C
C  HANDLE THE DISPLAY FOR "MOVING" IMAGES ON THE SCREEN
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /WORKQ/ IGCNT, INQUE(10)
C
      COMMON /DISPLY/ IDPAD(2), IGOUT(20,43)
C
      COMMON /TERMSZ/ IILINE
C
      COMMON /GRAPH/ IOK
C
      DIMENSION ITIMER(50)
      DIMENSION INCORE (20,43,50)
C
      DATA IEOF /'*EOF'/
      DATA INVAL /'    '/
      CALL DBUGIN ('GRAFIC ENTERED',IW(14),0)
      IF (IOK.EQ.0) IGCNT = 0
      IF (IGCNT.EQ.0.OR.IOK.NE.1) GO TO 1000
      I = 1
      IF (INVAL.EQ.INQUE(I)) GO TO 900
      K = 0
10    CONTINUE
      IF (I.GT.IGCNT) GO TO 900
      REWIND 97
      READ (97,50000,END=800) NTYPE, INLNEC, ITIME2
20    CONTINUE
      IF (NTYPE.EQ.IEOF) GO TO 800
      IF (NTYPE.NE.INQUE(I)) GO TO 50
      IF (IILINE.NE.INLNEC) GO TO 50
      INVAL = NTYPE
      K = K + 1
      IF (K.GT.50) K = 50
      DO 30 J=1, INLNEC
      READ (97,50001,END=800) (INCORE(M,J,K),M=1,20)
30    CONTINUE
      ITIMER(K) = ITIME2
      GO TO 60
50    CONTINUE
      DO 55 J=1, INLNEC
      READ (97,50002,END=800) IDUMMY
55    CONTINUE
60    CONTINUE
      READ (97,50000,END=800) NTYPE, INLNEC, ITIME2
      GO TO 20
800   CONTINUE
      I = I + 1
      GO TO 10
900   CONTINUE
      DO 905 J=1, K
      DO 910 M=1, IILINE
      DO 910 L=1,20
      IGOUT (L,M) = INCORE (L,M,J)
910   CONTINUE
      CALL FSIO2
      CALL STIMER (ITIMER(J))
905   CONTINUE
      IGCNT = 0
      CALL CPAGE
1000  CONTINUE
      CALL DBUGIN ('GRAFIC EXITED',IW(14),0)
      RETURN
50000 FORMAT (A4,I2,I6)
50001 FORMAT (20A4)
50002 FORMAT (A4)
      END
./ ADD NAME=HELP
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE HELP
C
C  DISPLAY THE HELP MENU AND CALL THE HELP ROUTINE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8),INPUT(50),IPAD3
      COMMON /CPU/ IBMT
      COMMON /PHASE/ INIT
      DIMENSION ICATAL(40,3)
      DIMENSION ILINE(15)
      DIMENSION ISTWRK (3)
      DIMENSION IST001 (3)
      DIMENSION IST002 (3)
      DIMENSION IST003 (3)
      DIMENSION IST004 (3)
      DIMENSION IST005 (3)
      DIMENSION IST006 (3)
      DIMENSION IST007 (3)
      DIMENSION IST008 (3)
      DIMENSION IST009 (3)
      DIMENSION IST010 (3)
      DIMENSION IST011 (3)
      DIMENSION IST012 (3)
      DIMENSION IST013 (3)
      DIMENSION IST014 (3)
      DIMENSION IST015 (3)
      DIMENSION IST016 (3)
      DIMENSION IST017 (3)
      DIMENSION IST018 (3)
      DIMENSION IST019 (3)
      DIMENSION IST020 (3)
      DIMENSION IST021 (3)
      DIMENSION IST022 (3)
      DIMENSION IST023 (3)
      DIMENSION IST024 (3)
      DIMENSION IST025 (3)
      DIMENSION IST026 (3)
      DIMENSION IST027 (3)
      DIMENSION IST028 (3)
      DIMENSION IST029 (3)
      DIMENSION IST030 (3)
      DATA IST001 /'A.P.','D.  ','    '/
      DATA IST002 /'ABAN','DON ','    '/
      DATA IST003 /'BATT','ERY ','    '/
      DATA IST004 /'BUGS','    ','    '/
      DATA IST005 /'CHAR','T   ','    '/
      DATA IST006 /'COMP','UTE ','    '/
      DATA IST007 /'DAMA','GE  ','    '/
      DATA IST008 /'DEST','RUCT','    '/
      DATA IST009 /'DISR','UPTO','R   '/
      DATA IST010 /'FREE','ZE  ','    '/
      DATA IST011 /'GRAP','HICS','    '/
      DATA IST012 /'HINT','S   ','    '/
      DATA IST013 /'HELP','    ','    '/
      DATA IST014 /'IMPU','LSE ','    '/
      DATA IST015 /'INTR','O   ','    '/
      DATA IST016 /'LRSC','AN  ','    '/
      DATA IST017 /'MOVE','    ','    '/
      DATA IST018 /'NEWS','    ','    '/
      DATA IST019 /'PHOT','ON  ','    '/
      DATA IST020 /'REST','    ','    '/
      DATA IST021 /'SENS','OR  ','    '/
      DATA IST022 /'SHIE','LDS ','    '/
      DATA IST023 /'SRSC','AN  ','    '/
      DATA IST024 /'FS32','70  ','    '/
      DATA IST025 /'STAT','US  ','    '/
      DATA IST026 /'TERM','INAT','E   '/
      DATA IST027 /'TRAC','TOR ','    '/
      DATA IST028 /'WARP','    ','    '/
      DATA IST029 /'    ','    ','    '/
      DATA IST030 /'    ','    ','    '/
      DATA ICATAL / 120 * ' ' /
      DATA IHELP  / '*HEL'/ ,ILIST / '*LIS' / ,IEND / '*END'/
      DATA IBLK   / ' '/
      CALL DBUGIN ('HELP ENTERED',IW(12),0)
      IHOLDI = INIT
      INIT = 1
      ICATAL(1,1)  = IST001(1)
      ICATAL(1,2)  = IST001(2)
      ICATAL(1,3)  = IST001(3)
      ICATAL(2,1)  = IST002(1)
      ICATAL(2,2)  = IST002(2)
      ICATAL(2,3)  = IST002(3)
      ICATAL(3,1)  = IST003(1)
      ICATAL(3,2)  = IST003(2)
      ICATAL(3,3)  = IST003(3)
      ICATAL(4,1)  = IST004(1)
      ICATAL(4,2)  = IST004(2)
      ICATAL(4,3)  = IST004(3)
      ICATAL(5,1)  = IST005(1)
      ICATAL(5,2)  = IST005(2)
      ICATAL(5,3)  = IST005(3)
      ICATAL(6,1)  = IST006(1)
      ICATAL(6,2)  = IST006(2)
      ICATAL(6,3)  = IST006(3)
      ICATAL(7,1)  = IST007(1)
      ICATAL(7,2)  = IST007(2)
      ICATAL(7,3)  = IST007(3)
      ICATAL(8,1)  = IST008(1)
      ICATAL(8,2)  = IST008(2)
      ICATAL(8,3)  = IST008(3)
      ICATAL(9,1)  = IST009(1)
      ICATAL(9,2)  = IST009(2)
      ICATAL(9,3)  = IST009(3)
      ICATAL(10,1) = IST010(1)
      ICATAL(10,2) = IST010(2)
      ICATAL(10,3) = IST010(3)
      ICATAL(11,1) = IST011(1)
      ICATAL(11,2) = IST011(2)
      ICATAL(11,3) = IST011(3)
      ICATAL(12,1) = IST012(1)
      ICATAL(12,2) = IST012(2)
      ICATAL(12,3) = IST012(3)
      ICATAL(13,1) = IST013(1)
      ICATAL(13,2) = IST013(2)
      ICATAL(13,3) = IST013(3)
      ICATAL(14,1) = IST014(1)
      ICATAL(14,2) = IST014(2)
      ICATAL(14,3) = IST014(3)
      ICATAL(15,1) = IST015(1)
      ICATAL(15,2) = IST015(2)
      ICATAL(15,3) = IST015(3)
      ICATAL(16,1) = IST016(1)
      ICATAL(16,2) = IST016(2)
      ICATAL(16,3) = IST016(3)
      ICATAL(17,1) = IST017(1)
      ICATAL(17,2) = IST017(2)
      ICATAL(17,3) = IST017(3)
      ICATAL(18,1) = IST018(1)
      ICATAL(18,2) = IST018(2)
      ICATAL(18,3) = IST018(3)
      ICATAL(19,1) = IST019(1)
      ICATAL(19,2) = IST019(2)
      ICATAL(19,3) = IST019(3)
      ICATAL(20,1) = IST020(1)
      ICATAL(20,2) = IST020(2)
      ICATAL(20,3) = IST020(3)
      ICATAL(21,1) = IST021(1)
      ICATAL(21,2) = IST021(2)
      ICATAL(21,3) = IST021(3)
      ICATAL(22,1) = IST022(1)
      ICATAL(22,2) = IST022(2)
      ICATAL(22,3) = IST022(3)
      ICATAL(23,1) = IST023(1)
      ICATAL(23,2) = IST023(2)
      ICATAL(23,3) = IST023(3)
      ICATAL(24,1) = IST024(1)
      ICATAL(24,2) = IST024(2)
      ICATAL(24,3) = IST024(3)
      ICATAL(25,1) = IST025(1)
      ICATAL(25,2) = IST025(2)
      ICATAL(25,3) = IST025(3)
      ICATAL(26,1) = IST026(1)
      ICATAL(26,2) = IST026(2)
      ICATAL(26,3) = IST026(3)
      ICATAL(27,1) = IST027(1)
      ICATAL(27,2) = IST027(2)
      ICATAL(27,3) = IST027(3)
      ICATAL(28,1) = IST028(1)
      ICATAL(28,2) = IST028(2)
      ICATAL(28,3) = IST028(3)
      ICATAL(29,1) = IST029(1)
      ICATAL(29,2) = IST029(2)
      ICATAL(29,3) = IST029(3)
      ICATAL(30,1) = IST030(1)
      ICATAL(30,2) = IST030(2)
      ICATAL(30,3) = IST030(3)
      NUMCAT = 30
      IF (IBMT.EQ.1) GO TO 24
10    CALL LINEF
      CALL READIN ('ENTER COMMAND NAME OR *HELP',IW(27),27,0,EOFF)
      IF (EOFF.GT..1) GO TO 10
      I = INPUT(1)
      IF (I.EQ.IBLK) GO TO 10
      IF (I.EQ.IEND) GO TO 70
      IF (I.NE.IHELP) GO TO 20
      CALL LINEF
      CALL PRMSG ('*HELP SUPPLIES YOU WITH THIS LISTING.',IW(37))
      CALL PRMSG
     *     ('*LIST GIVES YOU A COMMAND LIST TO CHOOSE FROM ',IW(45))
      CALL PRMSG ('*END RETURNS YOU TO THE GAME IN PROGRESS ',IW(40))
      CALL LINEF
      GO TO 10
20    CONTINUE
      IF (I.NE.ILIST) GO TO 40
24    CONTINUE
      CALL LINEF
      CALL PRMSG ('YOU MAY SELECT FROM THE FOLLOWING: ',IW(34))
25    CONTINUE
      CALL LINEF
      DO 30 N = 1, NUMCAT, 5
           ILINE(1) = ICATAL(N,1)
           ILINE(2) = ICATAL(N,2)
           ILINE(3) = ICATAL(N,3)
           ILINE(4) = ICATAL(N+1,1)
           ILINE(5) = ICATAL(N+1,2)
           ILINE(6) = ICATAL(N+1,3)
           ILINE(7) = ICATAL(N+2,1)
           ILINE(8) = ICATAL(N+2,2)
           ILINE(9) = ICATAL(N+2,3)
           ILINE(10) = ICATAL(N+3,1)
           ILINE(11) = ICATAL(N+3,2)
           ILINE(12) = ICATAL(N+3,3)
           ILINE(13) = ICATAL(N+4,1)
           ILINE(14) = ICATAL(N+4,2)
           ILINE(15) = ICATAL(N+4,3)
           CALL PRMSG (ILINE,IWV(60))
30    CONTINUE
      CALL LINEF
      GO TO 10
40    DO 50 N = 1, 28
           IF (I.NE.ICATAL(N,1)) GO TO 50
           ILINE(1) = ICATAL(N,1)
           ILINE(2) = ICATAL(N,2)
           ILINE(3) = ICATAL(N,3)
           GO TO 60
50    CONTINUE
      CALL PRMSG ('INVALID HELP CATEGORY, THE LIST TO CHOOSE FROM IS  ',
     *    IW(49))
      GO TO 25
60    CALL HELPRT (ILINE,IWV(12))
      CALL LINEF
      IF (IBMT.EQ.1) GO TO 24
      GO TO 10
70    CONTINUE
      INIT = IHOLDI
      CALL DBUGIN ('HELP EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=HELPRT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE HELPRT (ITYPE,ILEN)
C
C   REWIND THE HELP FILE, AND READ THE HELP ENTRIES FOR REQUESTED
C   CATAGORY
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ITEXT(20),ITYPE(ILEN)
      CALL DBUGIN ('HELPRT ENTERED',IW(14),0)
      REWIND 26
      IFLAG = 0
20    CONTINUE
      IF (IFLAG.EQ.-1) GO TO 40
      READ (26,50000,END=40) ITEXT
      IF   (ITYPE(1).NE.ITEXT(1).OR.ITYPE(2).NE.ITEXT(2).OR.
     *      ITYPE(3).NE.ITEXT(3)) GO TO 30
      CALL PRMSG (ITEXT(4),IWV(17*4))
      FLAG = 1
      GO TO 20
30    IF (IFLAG.EQ.1) IFLAG = -1
      GO TO 20
40    CONTINUE
      CALL DBUGIN ('HELPRT EXITED',IW(13),0)
      RETURN
C
50000 FORMAT (20A4)
C
      END
./ ADD NAME=ICROG
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION ICROG (J)
C
C  DETERMINE IF THE GIVEN QUADRANT IS AT BATTLE STATIONS
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      DATA IZGRE / 'GREE'/ ,IZRED / 'RED'/
      CALL DBUGIN ('ICROG ENTERED',IW(13),0)
      I = MOD(J,1000)
      II = IZGRE
      IF (I.GT.9) II = IZRED
      ICROG = II
      CALL DBUGCH ('ICROG VALUE ',IW(12),II,IW(4))
      CALL DBUGIN ('ICROG EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=IDENT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE IDENT (INPUT,IERROR,IOUT)
C
C  WITH A GIVEN CHARACTER STRING, SEE WHAT NUMBER IT IS
C
C JUL-1-87 REMOVED CALLS TO DEBUG ROUTINE DUE TO VOLUME OF OUTPUT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      DIMENSION IKEY(10)
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      EQUIVALENCE (IKEY(1),ICRZER)
C
C     CALL DBUGIN ('IDENT  ENTERED',IW(14),0)
      IERROR = 0
      DO 10 N = 1, 10
           IF (INPUT.EQ.IKEY(N)) GO TO 20
10    CONTINUE
      IERROR = 1
C     CALL DBUGIN ('IDENT, ERROR SET',IW(16),0)
      GO TO 30
20    IOUT = N-1
C     CALL DBUGIN ('IDENT, IOUT=',IW(12),IOUT)
30    CONTINUE
C     CALL DBUGIN ('IDENT  EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=IFEDST
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION IFEDST (DUMMY)
C
C  ASSIGN A RANDOM STRENGTH TO A GIVEN FEDERATION STARSHIP
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      CALL DBUGIN ('IFEDST ENTERED',IW(14),0)
      XXX = RAND(1.0)
      XOUT = 7500.0
      IF (XXX.GT..8) XOUT = XOUT-RAND(500.0)-2400.0
      IF (XXX.LT..18) XOUT = XOUT+RAND(500.0)+900.0
      IFEDST = IFIX(XOUT)
      CALL DBUGIN ('IFEDST EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=IFWIN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE IFWIN (IWIN)
C
C     PURPOSE - CHECK IF ALL STARBASES HAVE BEEN KILLED
C
C     IWIN
C     ----
C     0 - NOT ALL DEAD YET
C     1 - ALL DEAD WE HAVE A WINNER (ALSO SET IDIE = 0)
C
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      CALL DBUGIN ('IFWIN ENTERED',IW(13),0)
      IWIN = 0
      IF (ISB.GT.0) GO TO 100
      CALL BEEP2
      CALL PRMSG ('YOU HAVE DONE IT!, YOU HAVE SMASHED THE FEDERATION',
     *     IW(50))
      CALL PRMSG (
     *     'FORCES TO THEIR KNEES! THE RICHES OF CONQUEST ARE YOURS',
     *     IW(55))
      CALL LINEF
      IDIE = 0
      CALL PROMOT (ILEV)
      IWIN = 1
100   CONTINUE
      CALL DBUGIN ('IFWIN EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=IN3270
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE IN3270
C
C  FOR 3270 MVS/TSO INIT THE HEADER BUFFER AND LINECOUNT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /FSBUFF/ NPROML, NPROMT(20), NREAD(13),
     *     NHEAD(20,12), NCOUNT, NWORK(20,200)
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('IN3270 ENTERED',IW(14),0)
      IOUTT = 99
      NCOUNT = 0
      DO 10 I = 1, 12
          DO 10 J = 1, 20
              NHEAD (J,I) = ICRBLK
C         CONTINUE
10    CONTINUE
      CALL DBUGIN ('IN3270 EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=INITCH
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INITCH
C
C     PURPOSE OR ROUTINE: INIT THE ICHART
C     AND OTHER 8 X 8 ARRAYS TO PROPER
C     STARTING VALUES
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      CALL DBUGIN ('INITCH ENTERED',IW(14),0)
      DO 60 I = 1, 8
           DO 50 J = 1, 8
                ICHART(I,J) = RAND(10.0)
                IKY(I,J) = 0
                IPLNET(I,J) = 0
50         CONTINUE
60    CONTINUE
      CALL DBUGIN ('INITCH EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=INITCT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INITCT (IZNOHT,IZRED,IZDOWN)
C
C     PURPOSE: INITIALIZE COUNTERS FOR GAME
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8), INPUT(50),IPAD3
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      CALL DBUGIN ('INITCT ENTERED',IW(14),0)
      IPOF = 0
      ISSAVE = 0
      IHIT = IZNOHT
      IAPDEV = 1
      ET = 0.0
      ICMC = 0
      IPLC = 0
      ISTC = 0
      ISBC = 0
      IFSC = 0
      IKCC = 0
      BATTER = 750.0
      IF (ILEV.EQ.1) GO TO 70
      IF (ILEV.EQ.2) GO TO 80
      IF (ILEV.EQ.3) GO TO 90
C
C--->COMMENT LABEL 70    IS BRANCHED TO FOR ''GOOD'' GAME.
C
70    ISB = RAND(2.0)+5.0
      IFS = RAND(3.0)+4.0
      IKC = RAND(3.0)+3.0
      GO TO 100
C
C--->COMMENT LABEL 80    IS FOR ''EXPERT'' GAME.
C
80    ISB = RAND(2.0)+10.0
      IFS = RAND(2.0)+12.0
      IKC = RAND(2.0)+6.0
      GO TO 100
C
C--->COMMENT LABEL 90    IS FOR ''EMERITUS'' GAME.
C
90    ISB = 11
      IFS = 13
      IKC = 7
100   CONTINUE
C
C PLACE STARBASES
C
      CALL PLACE (ISB,10,9)
C
C PLACE STARSHIPS
C
      IF (ILEV.NE.3) GO TO 105
           CALL EMPLAC (IFS)
           GO TO 106
105   CONTINUE
           CALL PLACE (IFS,100,99)
106   CONTINUE
C
C PLACE COMMANDERS
C
      CALL PLACE (IKC,1000,9)
C
C PLACE PLANETS
C
      IPR = RAND(12.0)+4.0
      DO 130 N = 1, IPR
110        I = RAND(8.0)+1.0
           J = RAND(8.0)+1.0
           IF (IPLNET(I,J).NE.0) GO TO 110
           IF (RAND(1.0).LT.0.40) GO TO 120
           IPLNET(I,J) = RAND(10000.0)
120        CONTINUE
           IPLNET(I,J) = ((IPLNET(I,J)*10)+1)
           IF (RAND(1.0).LT.0.52) IPLNET(I,J) = IPLNET(I,J)+100000
130   CONTINUE
C
C PLACE SUPER-COMMANDER (US)
C
140   ISCPX1 = RAND(8.0)+1.0
      ISCPY1 = RAND(8.0)+1.0
      IF (ISCPX1.NE.1.AND.ISCPX1.NE.8.AND.ISCPY1.NE.1.AND.ISCPY1.NE.
     *     8.OR.ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZRED) GO TO 140
      ISCPX2 = RAND(10.0)+1.0
      ISCPY2 = RAND(10.0)+1.0
C
C INIT MISC VARIABLES, TORPEDO COUNT, STARDATE, GIVEN TIME,
C                      ENERGY, SHIELD STATUS, WARP FACTOR,
C                      SHIELD ENERGY
C
      ITORCT = 150
      CSDATE = 3500.0 + FLOAT(IFIX(RAND(10.0))*100)
      TGIVEN = CSDATE + 7.0
      ENERGY = 6000.0
      ISHUPD = IZDOWN
      WFACT  = 10.0
      ISHENG = 12500
      CALL DBUGIN ('INITCT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=INITDM
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INITDM
C
C     PURPOSE OF ROUTINE: INIT DAMAGE
C     CONTROLS TO ALL ZEROES (ALL FIXED)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
      CALL DBUGIN ('INITDM ENTERED',IW(14),0)
      XCDC  = 0.00
      XSRDC = 0.00
      XIEDC = 0.00
      XLRDC = 0.00
      XWEDC = 0.00
      XDSDC = 0.00
      XSSDC = 0.00
      XPTDC = 0.00
      CALL DBUGIN ('INITDM EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=INITGR
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INITGR
C
C INIT GRAFICS VARIABLES AND SETUP WORK FILE 97
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /WORKQ/ IGCNT, INQUE(10)
C
      COMMON /GRAPH/ IOK
C
      DIMENSION I(20)
      IGCNT = 0
      REWIND 25
      REWIND 97
5     READ (25,1001,END=1000) I
      WRITE (97,1001) I
      GO TO 5
1000  CONTINUE
      CALL SZTERM
      CALL ADDQUE ('INTR')
      RETURN
1001  FORMAT (20A4)
      END
./ ADD NAME=INITKL
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C  PROGRAM TO INITAILIZE FILE27 (FREEZE FILE) FOR KLINGON
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER I(1000)
      DATA I/1000*0/
      REWIND 27
      WRITE (27) I
      ENDFILE 27
      REWIND 27
      STOP
      END
./ ADD NAME=INTERC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INTERC (IIX,IIY,IRTN)
C
C  CHECK TO SEE IF THE PATH BETWEEN THE CURRENT SUPER COMMANDER
C  AND IIX, AND IIY (QUADRANT POSITION) IS CLEAR
C  IRTN IS "CLEA" IF CLEAR, OR THE CHARACTER REPRESENTAION OF WHAT
C  IS IN THE WAY OTHERWISE (I.E. "C", "F",ETC.)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER LRUDD,CSEC
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,CSEC(10,10),TVX,TVY,ICMC
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      DATA IZCLER / 'CLEA'/
      CALL DBUGIN ('INTERC ENTERED',IW(14),0)
      DPRESX = FLOAT(IIX)
      DPRESY = FLOAT(IIY)
      TVX = DPRESX
      TVY = DPRESY
      SCX = FLOAT(ISCPX2)
      SCY = FLOAT(ISCPY2)
      CALL TARSET (DPRESX,DPRESY,SCX,SCY,ITRCON,LRUDD,SC)
      XLRUD = FLOAT(LRUDD)
10    IF (ITRCON.EQ.KZX) GO TO 20
      TVY = TVY+XLRUD
      TVX = TVX+SC
      GO TO 30
20    TVX = TVX+XLRUD
      TVY = TVY+SC
30    CONTINUE
      ITX = IFIX(TVX+0.5001)
      ITY = IFIX(TVY+0.5001)
      IF (CSEC(ITX,ITY).EQ.KZS) GO TO 40
      IF (CSEC(ITX,ITY).EQ.ICRDOT) GO TO 10
      IRTN = CSEC(ITX,ITY)
      CALL DBUGCH ('INTERC - BLOCKED BY',IW(19),IRTN,IW(4))
      GO TO 50
40    IRTN = IZCLER
      CALL DBUGCH ('INTERC - CLEAR',IW(14),IRTN,IW(4))
50    CONTINUE
      CALL DBUGIN ('INTERC EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=INTRO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE INTRO
C
C  INTRODUCE THE GAME, ASK IF INTRUCTIONS ARE WANTED, AND CONTINUE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /CPU/ IBMT
C
      COMMON /TERMSZ/ IILINE
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('INTRO ENTERED',IW(13),0)
      CALL LINEF
      CALL PRMSG ('                        KLINGON  ',IW(33))
      CALL PRMSG ('               WRITTEN BY LARRY WILLIAMS ',IW(41))
      CALL LINEF
      CALL HELPRT ('LOGONMSG    ',IW(12))
10    CALL READIN ('INSTRUCTIONS      ',IW(14),14,1,EOFF)
      IF (EOFF.GT..1) GO TO 20
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 20
      IF (INPUT(N2).EQ.ICRBLK) GO TO 10
      IF (INPUT(N2).EQ.KZH.AND.INPUT(N2+1).EQ.KZE.AND.INPUT(N2+2).
     *  EQ.KZL) GO TO 100
      IF (INPUT(N2).NE.KZY) GO TO 20
      CALL LINEF
      CALL HELPRT ('INTRO       ',IW(12))
20    CONTINUE
      IF (IBMT.EQ.1) GO TO 30
      CALL LINEF
      CALL YESNO ('ARE YOU USING A SMALL SCREEN TERMINAL ',
     *            IW(38),38,IYES)
      ITTY = 0
      IF (IYES.EQ.1) ITTY = 1
30    CONTINUE
      IF (IBMT.EQ.1.AND.IILINE.LT.43) ITTY = 1
      CALL DBUGIN ('INTRO EXITED',IW(12),0)
      RETURN
C
C  USER ENTERED "HELP" - TELL HIM WHERE HE IS.
C
100   CONTINUE
      CALL HELPRT ('INTROHLP    ',IW(12))
      GO TO 10
      END
./ ADD NAME=ISBSET
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION ISBSET (DUMMY)
C
C  SET RANDOM STRENGTH OF FEDERATION STARBASE, THIS WILL DETERMINE
C  WHETHER 4 5 OR 6 TORPEDOES NEEDED TO KILL THE BASE
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      CALL DBUGIN ('ISBSET ENTERED',IW(14),0)
      XOUT = 12400.0
      XXX = RAND(1.0)
      IF (XXX.GT..8) XOUT = XOUT-2800.0
      IF (XXX.LT..2) XOUT = XOUT+2000.0
      ISBSET = IFIX(XOUT)
      CALL DBUGIN ('ISBSET EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=ISGN
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION ISGN (IVAL)
C
C     SET FUNCTION ACCORDING TO SIGN  1 = POSITIVE
C                                     0 = ZERO
C                                    -1 = NEGATIVE
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      IF (IVAL) 10 , 20 , 30
10    ISGN = -1
      GO TO 40
20    ISGN = 0
      GO TO 40
30    ISGN = +1
40    RETURN
      END
./ ADD NAME=ITERPT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ITERPT
C
C  RETURN COUNTERS FOR NUMBER OF THINGS IN THIS QUADRANT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER PLCHT,CHRT
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),
     *     NCX(9),NCY(9)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),CHRT(8,8),IPAD2(9),IPLNET(8,8),IKY(8,8),
     *     INPUT(50),IPAD3
C
      CALL DBUGIN ('ITERPT ENTERED',IW(14),0)
      ICHART = CHRT(ISCPX1,ISCPY1)
      PLCHT = IPLNET(ISCPX1,ISCPY1)
      NPLNTS = MOD(PLCHT,10)
      NCOMM = ICHART/1000
      NFED = MOD(ICHART/100,10)
      NSBASE = MOD(ICHART/10,10)
      NSTARS = MOD(ICHART,10)
      CALL DBUGIN ('ITERPT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=IW
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION IW(ILEN)
C
C  RETURN THE NUMBER OF WORDS NEEDED FOR A CERTAIN STRING
C
C  *IBM* DEPENDANT MODULE
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      COMMON  /CWORD/ IHOLD
      IW = (ILEN+3)/4
      IHOLD = ILEN
      RETURN
      END
./ ADD NAME=IWI
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION IWI(IDUMMY)
C
C    RETURN LAST LEN VALUE PASSED TO IW...
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      COMMON  /CWORD/ IHOLD
      IWI = IHOLD
      RETURN
      END
./ ADD NAME=IWV
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION IWV(ILEN)
C
C  RETURN WORD LENGTH GIVEN A CERTAIN VARIABLE LENGTH
C
C  *IBM*
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      COMMON  /CWORD/ IHOLD
      IWV = (ILEN+3)/4
      IHOLD = ILEN
      RETURN
      END
./ ADD NAME=JULIAN
**********************************************************************
*
*  JULIAN/GREGORIAN DAY OF WEEK ROUTINE, TAKEN FROM CBT TAPE FILE 336
*
*  MODIFIED TO NOT USE FILE 336 MACROS IN ASSEMBLY
*
**********************************************************************
JULIAN   CSECT                     INITIALIZATION
         STM   R14,R12,12(R13)     STORE REGS IN SUPPLIED SAVEAREA
         LR    R12,R15             ESTABLISH ADDRESSABILITY
         USING JULIAN,R12          WE GOT IT
         ST    R13,SAVEAREA+4      NON-RENT, NO BIG DEAL HERE
         LA    R15,SAVEAREA        SET FORWARD/BACKWORD POINTERS
         ST    R15,8(,R13)                 *
         LA    R13,SAVEAREA                *
         LM    R2,R3,0(R1)         GET THE PARMS
         SLR   R9,R9               ASSUME ONLY TWO PARMS       *MW82098
         LTR   R3,R3               SECOND PARM LAST?           *MW82098
         BM    ONLY2PRM            NO:                         *MW82098
         L     R9,8(,R1)           --SAVE WEEKDAY ADDRESS      *MW82098
         MVI   0(R9),C'0'          --FLAG UNKNOWN WEEKDAY      *MW82098
ONLY2PRM DS    0H                  END                         *MW82098
         ZAP   DMONTH,=P'0'
         ZAP   DDAY,=P'0'
         ZAP   DYEAR,=P'0'
         ZAP   JDAY,=P'0'
*
*   R1 CONTAINS THE ADDRESS OF THE IDENTIFIER LIST.  R2 AND R3 POINT
*   TO THE BEGINNING OF JDATE AND GDATE, RESPECTIVELY.  JDATE
*   IS 5 BYTES LONG AND GDATE IS 6 BYTES LONG.
*
*   COMPUTE JULIAN DATE FROM GREGORIAN DATE
*
JUL      PACK  DMONTH,0(2,R3)
         CVB   R4,DMONTH
         SR    R5,R5
         CR    R4,R5
         BE     GREG             BRANCH TO GREG IF ZERO MONTH
         LA    R5,12
         CR    R4,R5
         BH    GOBACK2          BRANCH IF MONTH > 12           *MW82098
         SLL   R4,1               MULTIPLY BY 2 TO INDEX ON HALFWORDS
         PACK  DDAY,2(2,R3)
         PACK  DYEAR,4(2,R3)
         CVB   R5,DDAY
         DP    DYEAR,FOUR
         L     R6,DYEAR+4
         N     R6,MASK1            ELIMINATE SIGN BITS OF REMAINDER
         BZ    JULLEAP
         AH    R5,NORM(R4)
         B     JULANYYR
JULLEAP  AH    R5,LEAP(R4)
JULANYYR CVD   R5,JDAY
         UNPK  2(3,R2),JDAY        JULIAN DATE IS IN YYDDD FORMAT
         OI    4(R2),X'F0'
         MVC   0(2,R2),4(R3)
GOBACK   DS    0H
*                                                              *MW82098
*   COMPUTE DAY OF WEEK IF REQUESTED?                          *MW82098
*                                                              *MW82098
         LTR   R9,R9               FOURTH PARMS?               *MW82098
         BZ    NOWEEKDY            YES:                        *MW82098
         PACK  DYEAR,0(2,R2)       --RECREATE YEAR             *MW82098
         CVB   R4,DYEAR            --R4 = YY                   *MW82098
         LR    R5,R4               --R5 = YY                   *MW82098
         BCTR  R5,0                --R5 = YY-1                 *MW82098
         SRL   R5,2                --R5 = (YY-1)/2             *MW82098
         AR    R5,R4               --R5 = YY+(YY-1)/4          *MW82098
         PACK  JDAY,2(3,R2)        --RECREATE DAYS             *MW82098
         CVB   R4,JDAY             --R4 = DDD                  *MW82098
         AR    R5,R4               --R5 = YY+(YY-1)/4+DDD      *MW82098
         SLR   R4,R4               --PREPARE FOR DIVIDE        *MW82098
         D     R4,SEVEN            --R4 = (YY+(YY-1)/4+DDD)MOD *MW82098
         LA    R4,1(,R4)           --UP ONE FOR COBOL          *MW82098
         STC   R4,0(R9)            --SAVE FOR CALLER           *MW82098
         OI    0(R9),C'0'          --PRETTY IT UP              *MW82098
NOWEEKDY DS    0H                  END                         *MW82098
GOBACK2  DS    0H                                              *MW82098
*
*    RESTORE REGS AND RETURN
*
RETURN   DS    0H
         L     R13,SAVEAREA+4           GET ORIGINAL REGISTER 13
         LM    R14,R12,12(R13)          RESTORE INPUT REGISTERS
         SR    R15,R15                  SET RETURN CODE
         BR    R14                      AND RETURN ...
*
*   COMPUTE GREGORIAN DATE FROM JULIAN DATE
*
GREG     PACK  JDAY,2(3,R2)
         CVB   R4,JDAY            R4 CONTAINS BINARY JULIAN DAY
         CR    R4,R5
         BE    CURDAT           GET CURRENT DATE IF BOTH DATES ZERO
         PACK  DYEAR,0(2,R2)
GREG2    DS    0H
         LA    R5,24               R5 IS THE 'MONTH' INDEX
         L     R6,MTWO             INCREMENT BACKWARDS BY HALFWORDS
         SR    R7,R7                STOP AT ZERO
         DP    DYEAR,FOUR
         L     R8,DYEAR+4
         N     R8,MASK1           ELIMINATE SIGN BITS OF REMAINDER
         BZ    LEAP2
LOOP     CH    R4,NORM(R5)
         BH    BOX4             BRANCH IF JULIAN DAY (R4) HIGH
         BXH   R5,6,LOOP
BOX4     SH    R4,NORM(R5)
BOX5     SRL   R5,1                DIVIDE BY 2 TO GET MONTH
         CVD   R5,DMONTH
         CVD   R4,DDAY
         UNPK  0(2,R3),DMONTH
         OI    1(R3),X'F0'         REMOVE ZONE SIGNS
         UNPK  2(2,R3),DDAY
         OI    3(R3),X'F0'
         MVC   4(2,R3),0(R2)        YEAR
         B     GOBACK
LEAP2    CH    R4,LEAP(R5)
         BH    BOX6
         BXH   R5,6,LEAP2
BOX6     SH    R4,LEAP(R5)
         B     BOX5
*
*   OBTAIN CURRENT DATE
*
CURDAT   DS    0H
         TIME
         SR    R6,6
         LR    R5,R1
         N     R1,MASK2           R1   0000DDDC
         ST    R6,JDAY
         ST    R1,JDAY+4
         SRL   R5,12
         ST    R6,DYEAR
         ST    R5,DYEAR+4
         OI    DYEAR+7,X'0F'       FIX UP SIGN                 *MW82098
         UNPK  2(3,R2),JDAY        STORE JULIAN CURRENT DATE
         OI    4(R2),X'F0'
         UNPK  0(2,R2),DYEAR
         OI    1(R2),X'F0'
         CVB   R4,JDAY
         B     GREG2           OBTAIN GREGORIAN CURRENT DATE
         LTORG
*
SAVEAREA DS    9D
DMONTH   DS    D
DDAY     DS    D
DYEAR    DS    D
JDAY     DS    D
TWO      DC    F'2'
MTWO     DC    F'-2'
SEVEN    DC    F'7'                # DAYS IN WEEK              *MW82098
MASK1    DC    X'000000F0'
MASK2    DC    X'0000FFFF'
FOUR     DC    PL1'4'
NORM     DS    0F
         DC    F'0'
         DC    H'31'
         DC    H'59'
         DC    H'90'
         DC    H'120'
         DC    H'151'
         DC    H'181'
         DC    H'212'
         DC    H'243'
         DC    H'273'
         DC    H'304'
         DC    H'334'
LEAP     DS    0F
         DC    F'0'
         DC    H'31'
         DC    H'60'
         DC    H'91'
         DC    H'121'
         DC    H'152'
         DC    H'182'
         DC    H'213'
         DC    H'244'
         DC    H'274'
         DC    H'305'
         DC    H'335'
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         END
./ ADD NAME=KILLER
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE KILLER
C
C  SEE IF A DISRUPTOR TORPEDO HIT SOMETHING, KILL THE OBJECT AS NEEDED
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER CSEC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /TRACOM/ TARX,TARY,PRESX,PRESY,NSECE(10,10),IHIT,ISBC,IFSC,
     *     IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,
     *     CSEC(10,10),TVX,TVY,ICMC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),
     *     NCX(9),NCY(9)
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,
     *  KZM,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *  ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *  KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /STRING/ IZSUPN, IZBLKH, IZMISS, IZNOVA, IZCDAM, IZCDES,
     * IZFDAM, IZFDES, IZBDAM, IZBDES, IZPDES,
     * IZP100, IZP200, IZP300, IZP400, IZERR
C
      DIMENSION ISAVX(10),ISAVY(10),IDMSG(11)
C
      DATA IDMSG / '** S','TARS','HIP ','U.S.','S. ',0,0,0,
     *              'AT S','ECTO','R: '/
C
      CALL DBUGIN ('KILLER ENTERED',IW(14),0)
      ITX = IFIX(TVX+0.5001)
      ITY = IFIX(TVY+0.5001)
      IF (ITX.GT.10.OR.ITX.LT.1.OR.ITY.GT.10.OR.ITY.LT.1) GO TO 280
      IF (CSEC(ITX,ITY).EQ.ICRDOT) GO TO 270
      CALL PRTEND
      IF (CSEC(ITX,ITY).NE.ICRCRH) GO TO 10
      CALL PRMSG (
     *  '*** SENSOR CONTROL REPORTS DISRUPTOR TORPEDO SUCKED',
     *  IW(51))
      CALL PRMSM ('INTO BLACK HOLE AT: ',20,IW(20),ITY,ITX,' ',0,1)
      IHIT = IZBLKH
      GO TO 270
C
10    IF (CSEC(ITX,ITY).NE.ICRSTR) GO TO 100
      XXX = RAND(1.0)
      IF (XXX.LE.0.05) GO TO 20
      IF (XXX.LE.0.90) GO TO 40
      GO TO 30
20    CONTINUE
      CALL PRMSM (
     *  '*** LORD COMMANDER, THE STAR AT: ',33,IW(33),ITY,ITX,' ',0,1)
      CALL PRMSG ('WAS NOT AFFECTED BY OUR DISRUPTOR TORPEDO',IW(41))
      IHIT = IZMISS
      GO TO 270
C
30    CALL BEEP
      CALL ADDQUE ('REDA')
      CALL PRMSG ('RED ALERT---RED ALERT',IW(21))
      CALL PRMSM ('SUPERNOVA OF STAR AT: ',22,IW(22),ITY,ITX,' ',0,1)
      CALL PRMSG (
     *  'AUTOMATIC SUPERNOVA NAVIGATIONAL CONTROL ACTIVATING',IW(51))
      CALL PRMSG ('STARSHIP ON FULL AUTOMATIC',IW(26))
      CALL LINEF
      IHIT = IZSUPN
      GO TO 270
C
40    CONTINUE
      IHIT = IZNOVA
      CSEC(ITX,ITY) = ICRDOT
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-1
      CALL AROUND (ITX,ITY)
      ICNTR = 1
      ISAVX(1) = ITX
      ISAVY(1) = ITY
      N3 = 1
50    ILOX = ISAVX(N3)-ISGN(ISAVX(N3)-1)
      IHIX = ISGN(10-ISAVX(N3))+ISAVX(N3)
      ILOY = ISAVY(N3)-ISGN(ISAVY(N3)-1)
      IHIY = ISGN(10-ISAVY(N3))+ISAVY(N3)
      DO 90 I = ILOY, IHIY
           DO 80 J = ILOX, IHIX
                IF (CSEC(J,I).NE.ICRSTR) GO TO 70
                ICNTR = ICNTR+1
                ISAVX(ICNTR) = J
                ISAVY(ICNTR) = I
                IF (RAND(100.0).LT.10) GO TO 60
                CSEC(J,I) = ICRDOT
                CALL AROUND (J,I)
                ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-1
                NSECE(J,I) = 0
                GO TO 70
60              ITX = J
                ITY = I
                GO TO 30
70              CONTINUE
80         CONTINUE
90    CONTINUE
      N3 = N3+1
      IF (N3.LE.ICNTR) GO TO 50
      GO TO 270
100   IF (CSEC(ITX,ITY).NE.KZC) GO TO 130
      XXX = RAND(1.0)
      CALL PRMSG (
     *  '*** LORD COMMANDER, SENSOR CONTROL REPORTS WE''VE HIT AND...',
     *  IW(45))
      IF (XXX.GT..2) GO TO 120
      CALL PRMSM (
     * 'DAMAGED OUR COMMANDER AT SECTOR: ',33,IW(33),ITY,ITX,' ',0,1)
      NSECE(ITX,ITY) = NSECE(ITX,ITY)+2500
      IHIT = IZCDAM
      IF (NSECE(ITX,ITY).LT.0) GO TO 270
      CALL PRMSG (
     *  'NEW UPDATE LORD COMMANDER, COMMANDER DESTROYED',IW(46))
110   NSECE(ITX,ITY) = 0
      CSEC(ITX,ITY) = ICRDOT
      IHIT = IZCDES
      IKCC = IKCC+1
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-1000
      IKC = IKC-1
      GO TO 270
120   CALL PRMSM (
     *  'DESTROYED OUR COMMANDER AT SECTOR: ',35,IW(35),ITY,ITX,' '
     *     ,0,1)
      GO TO 110
130   IF (CSEC(ITX,ITY).NE.KZF) GO TO 150
      NSECE(ITX,ITY) = NSECE(ITX,ITY)-2500
      IF (NSECE(ITX,ITY).LE.0) GO TO 140
      IHIT = IZFDAM
      CALL PRMSM (
     *  '*** HIT ON FEDERATION STARSHIP AT: ',35,IW(35),ITY,ITX,' '
     *     ,0,1)
      GO TO 270
140   CONTINUE
      NSECE(ITX,ITY) = 0
      CSEC(ITX,ITY) = ICRDOT
      IHIT = IZFDES
      ET = ET+0.3
      IFS = IFS-1
      IFSC = IFSC+1
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-100
      CALL SSDEST (IUSFED,ISCPX1,ISCPY1,ITX,ITY,IDMSG(6))
      CALL PRMSM (IDMSG,44,IWV(44),ITY,ITX,'DESTROYED',9,IW(9))
      GO TO 270
C
150   IF (CSEC(ITX,ITY).NE.KZB) GO TO 170
      NSECE(ITX,ITY) = NSECE(ITX,ITY)-2500
      IF (NSECE(ITX,ITY).LE.0) GO TO 160
      IHIT = IZBDAM
      CALL PRMSM (
     *  '*** HIT ON FEDERATION STARBASE AT: ',35,IW(35),ITY,ITX,' '
     *     ,0,1)
      GO TO 270
C
160   NSECE(ITX,ITY) = 0
      CSEC(ITX,ITY) = ICRDOT
      IHIT = IZBDES
      ET = ET+.5
      ISB = ISB-1
      ISBC = ISBC+1
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-10
      CALL PRMSM (
     *  '*** STARBASE AT: ',17,IW(17),ITY,ITX,'DESTROYED',9,IW(9))
      GO TO 270
C
170   IF (CSEC(ITX,ITY).NE.KZP) GO TO 290
      NSECE(ITX,ITY) = NSECE(ITX,ITY)+100000000
      IF (NSECE(ITX,ITY).GE.0) GO TO 180
      IF (NSECE(ITX,ITY).EQ.-100000000) GO TO 210
      IF (NSECE(ITX,ITY).EQ.-200000000) GO TO 240
      IF (NSECE(ITX,ITY).EQ.-300000000) GO TO 250
      GO TO 260
180   CALL PRMSM (
     *  '*** PLANET AT: ',15,IW(15),ITY,ITX,'DESTROYED',9,IW(9))
      CSEC(ITX,ITY) = ICRDOT
      IPR = IPR-1
      NSECE(ITX,ITY) = 0
      IHIT = IZPDES
      IPLNET(ISCPX1,ISCPY1) = IPLNET(ISCPX1,ISCPY1)/10
      IF (IPLNET(ISCPX1,ISCPY1).GT.9999) GO TO 190
      IPLC = IPLC+100
      GO TO 200
190   IPLC = IPLC+600
      ET = ET+.25
200   IPLNET(ISCPX1,ISCPY1) = 0
      GO TO 270
C
210   CONTINUE
      CALL PRMSM (
     *  '*** THE ATMOSPHERE OF THE PLANET AT ',36,IW(36),ITY,ITX,
     *     'HAS',3,IW(3))
      CALL PRMSG (
     *  'BEEN RIPPED AWAY, ALL LIFE FORMS ON THE PLANET HAVE',
     *     IW(51))
      CALL PRMSG ('BEEN WIPED OUT',IW(14))
      IHIT = IZP100
      IF (IPLNET(ISCPX1,ISCPY1).GT.99999) GO TO 220
      IPOP = IPLNET(ISCPX1,ISCPY1)/10
      IPLNET(ISCPX1,ISCPY1) = 1
      GO TO 230
220   IPOP = (IPLNET(ISCPX1,ISCPY1)-100000)/10
      IPLNET(ISCPX1,ISCPY1) = 100001
230   ET = ET+.000025*IPOP
      GO TO 270
240   CALL PRMSG (
     *  '*** SENSOR CONTROL REPORTS THE DEFENSE SYSTEM OF',IW(48))
      CALL PRMSM (
     *  'THE PLANET AT: ',15,IW(15),ITY,ITX,'HAS BEEN KNOCKED OUT',
     *     20,IW(20))
      IHIT = IZP200
      GO TO 270
250   CALL PRMSG (
     *  '*** SENSOR CONTROL REPORTS THE DEFENSES OF THE PLANET',
     *  IW(53))
      CALL PRMSM (
     *  'AT: ',4,IW(4),ITY,ITX,'HAVE BEEN WEAKENED',18,IW(18))
      IHIT = IZP300
      GO TO 270
260   CALL PRMSG (
     *  '*** SENSOR CONTROL REPORTS PLANETARY DEFENSES OF',IW(48))
      CALL PRMSM (
     *  'PLANET AT: ',11,IW(11),ITY,ITX,
     *  'ARE HOLDING STRONG',18,IW(18))
      IHIT = IZP400
270   CONTINUE
      GO TO 300
280   CONTINUE
      CALL PRTEND
      CALL PRMSG ('TORPEDO MISSED, LORD COMMANDER',IW(30))
      IHIT = IZMISS
      RETURN
290   CALL PRMSG ('INTERNAL ERROR, ROUTINE=KILLER (ERROR 04)',IW(40))
      CALL PRMSG ('NOW CALLING FREEZE ROUTINE TO SAVE DATA',IW(38))
      CALL FREEZE
      IHIT = IZERR
300   CONTINUE
      CALL DBUGCH ('KILLER IHIT',IW(11),IHIT,IW(4))
      CALL DBUGIN ('KILLER EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=KL
C PROGRAM KLINGON
C===================================================================*
C                                                                   *
C    PROGRAM KLINGON          A SPACE WAR GAME                      *
C    BY LARRY WILLIAMS                                              *
C    WITH CONSULTING AND ASSISTANCE: MARK STEVENS                   *
C                                                                   *
C    PROGRAMMER'S NOTES                                             *
C    ------------------                                             *
C                                                                   *
C    KLINGON IS A SPACE WAR GAME WRITTEN FOR CONTROL                *
C    DATA CORPORATION MACHINES 6000 OR HIGHER WITH                  *
C    FORTRAN 5 (ANSI 1977 STANDARD)                                 *
C                                                                   *
C    VERSION 1.1 WAS UPDATED IN 1987 - MARCH TO OPERATE UNDER       *
C    MVS/TSO ON 3270 24 OR 43 LINE TERMINALS IN FULLSCREEN MODE     *
C    AND VIA FORTRAN I/O (UNITS 5/6) FOR NON 3270                   *
C                                                                   *
C        COPYRIGHT NOTICE                                           *
C                                                                   *
C      PERMISSION IS HEREBY GRANTED FOR THE COPYING,                *
C DISTRIBUTION, MODIFICATION AND USE OF THIS PROGRAM                *
C AND  ASSOCIATED  DOCUMENTATION  FOR   RECREATIONAL                *
C PURPOSES,  PROVIDED  THAT  ALL  REFERENCES  TO THE                *
C AUTHOR ARE RETAINED.  HOWEVER, PERMISSION  IS  NOT                *
C AND   WILL   NOT   BE  GRANTED  FOR  THE  SALE  OR                *
C PROMOTIONAL  USE  OF  THIS  PROGRAM   OR   PROGRAM                *
C DOCUMENTATION,  OR  FOR  USE  IN  ANY SITUATION IN                *
C WHICH PROFIT MAY BE CONSIDERED AN OBJECTIVE, SINCE                *
C IT IS THE DESIRE OF  THE  AUTHOR  TO  RESPECT  THE                *
C COPYRIGHTS OF THE ORIGINATORS OF STAR TREK.                       *
C                                                                   *
C   THIS PROGRAM WAS FINISHED IN JANUARY, 1983.                     *
C                                                                   *
C===================================================================*
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /CPU/ IBMT
C
      COMMON /INITVR/ IBMTSO, IGRAFC
C
      COMMON /PHASE/ INIT
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /DBUGUN/ IUDBUG
C
      COMMON /DEBUG/ IDEBUG
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /SRCOPY/ ISCOP(10,10)
C
      COMMON /GRAPH/ IOK
C
      COMMON /TRACKR/ ITRKC, RTRK(15,2)
C
      DIMENSION IVALS(4),
     * MSG3(9),MSG4(9),MSG5A(6),MSG5B(8),IDMSG2(15),IDMSG3(15)
C
      DIMENSION NUMS(10), ICHAR(26)
C
      EQUIVALENCE  (NUMS(1),ICRZER)
      EQUIVALENCE  (ICHAR(1),KZA)
C
C
      DATA LNAVXX / 0 /
      DATA MSG3 / 'THE ','PATH',' TO ','THE ' ,'TARG','ET I','S:',0,0/
      DATA MSG4 /'WOUL','D CA','USE ','YOUR',' ENE','RGY ','TO  ',0,0/
      DATA MSG5A / 'SHIE','LDS ','CURR','ENTL','Y',0/
      DATA MSG5B / 'DO Y','OU W','ISH ','TO ',0,0,'SHIE','LDS'/
      DATA IDMSG2 / 'HAS ','BEEN',' IDE','NTIF','IED ','AS T',
     *              'HE F','EDER','ATIO','N ',0,0,0,'U.S.','S.' /
      DATA IDMSG3 / 0,0,0,',CAP','TAIN', 10 * ' '/
      DATA IZRED  / 'RED'/
      DATA IZGRE  / 'GREE'/
      DATA IZCLER / 'CLEA'/
      DATA IZDAMG / 'DAMG'/
      DATA IZDOWN / 'DOWN'/ ,IZUP / 'UP'/
      DATA IZYELL / 'YELL'/ ,IZNOHT / 'NOHT'/
      DATA IZYEL2 / 'OW'/
      DATA IZLOW / 'LOWE'/
      DATA IZRAIS / 'RAIS'/
      DATA IZSUPN / 'SNOV'/
      DATA IZBLOC / 'BLOC'/
      DATA IZBLC2 / 'KED'/
      DATA IZINCR / 'INCR'/ ,IZDECR / 'DECR'/
      DATA IZEASE / 'EASE'/
      ITRKC = 0
CYBER*CYBER*CYBER *BEGIN*
C
C  SET IBMT = ZERO IF MACHINE IS A CYBER, ONE FOR IBM TSO-3270
C                                                 (24-43 LINES ONLY)
C
      CALL GAINIT
      IBMT = IBMTSO
      IOK  = IGRAFC
C
C
CYBER*CYBER*CYBER *EXIT*
C
C    AT THIS POINT IF THIS IS IBM TSO, CALL THE IN3270 ROUTINE
C
      NQFLAG = 0
      IOUTT = 6
      IUDBUG = 10
      INIT = 1
      IF (IBMT.NE.1) GO TO 6
      CALL STAX(0)
      CALL INITGR
      CALL IN3270
C
C  CHECK TO SEE IF THE PLAYER IS IN THE ALLOWED SHIFT FOR PLAYING
C
      CALL SHIFTC (I)
      IF (I.NE.1) GO TO 2680
6     CONTINUE
C
C  CALL INIT ROUTINES
C
C    AT THIS POINT CALL THE INTRO ROUTINE TO
C    SEE IF INSTRUCTIONS ARE NEEDED
C
      CALL INTRO
10    CONTINUE
C
C    THEN CHECK IF OLD OR NEW GAME REQUESTED
C
      CALL OLDNEW (I)
C
C
C     -1 = OLD GAME REQUESTED, ERROR IN GET (STOP)
C      1 = OLD GAME, GET OK    (TO PROMPT FOR COMMAND)
C      0 = NEW GAME REQUESTED  (CONTINUE INIT ROUTINES)
C
C
      IF (I.EQ.-1) GO TO 2680
      IF (I.EQ.1)  GO TO 150
C
C
      CALL MAININ (IZNOHT,IZRED,IZDOWN)
C
C    INIT COMPLETE... THIS LABEL BELOW IS THE TOP OF THE COMMAND
C    DRIVER LOOP
C
150   CALL LINEF
      INIT = 0
C
C  CHECK TO SEE IF ENERGY HAS RUN OUT, IF IT HAS, CHECK TO SEE
C  IF COMPUTER AVAIL AND BATTERIES CHARGED, IF SO GIVE HIM A LITTLE
C  JOLT
C
C    I
C  ------
C   -1  = OUT OF ENERGY
C    0  = O.K.
C
      CALL ENGYST (I,IZRED)
C
C
      IF (I.LT.0) GO TO 2560
C
C  SEE IF THE PLAYER WON THE GAME, IF NO BASES LEFT, PLAYER HAS WON
C
      CALL IFWIN (I)
      IF (I.EQ.1) GO TO 2570
C
C  SET THE CURRENT STATUS OF THE USER (RED, GREEN OR YELLOW)
C  SET CURRENT SHIELD STATUS IF SHIELD WERE DAMAGED
C
      ICOND(2) = ICRBLK
      ICOND(1) = ICROG(ICHART(ISCPX1,ISCPY1))
      IF (ICOND(1).EQ.IZGRE) ICOND(2) = KZN
      IF (ENERGY.GT.1000.0.OR.ICOND(1).NE.IZGRE) GO TO 195
      ICOND(1) = IZYELL
      ICOND(2) = IZYEL2
195   CONTINUE
      IF (XDSDC.GT.0.001) ISHUPD = IZDAMG
      IHIT = IZNOHT
C
C  NOW CHECK IF THE USER HAS RUN OUT OF TIME
C
C  NOTE THE DIVIDE BY 2.1 FACTOR, I DECIDED THE GAME WAS TOO EASY
C  WITH ORIGINAL ET (EXTRA TIME) VALUES, SO SHAVED IT IN ABOUT HALF
C
C  IF USER RUNS OUT OF TIME, GO TO SAME ROUTINE THAT HANDLES
C  SELF-DESTRUCT (CALL TIMMSG TO SAY WHAT HAPPENED)
C
      TGIVEN = TGIVEN+(ET/2.1)
      ET = 0.0
      NOCNG = 0
      REMAIN = TGIVEN-CSDATE
      IF (REMAIN.GT.0.0) GO TO 210
      CALL TIMMSG
      GO TO 380
C
C  EVERYTHING IS READY TO PROMPT FOR NEXT COMMAND
C
210   CONTINUE
      CALL READIN ('COMMAND - ',IW(10),10,1,EOFF)
      IF (EOFF.GT.0.9) GO TO 220
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 220
      GO TO 225
220   CONTINUE
      CALL LINEF
      CALL PRMSG ('DID YOU SAY SOMETHING, LORD COMMANDER ?',IW(39))
      CALL LINEF
      GO TO 210
C
C          FIND FIRST LETTER OF COMMAND, BRANCH TO:
C
C                1)--- PROPER ROUTINE TO EXECUTE COMMAND
C                      IF IT CAN BE DETERMINED FROM FIRST
C                      LETTER. I IS SET TO AVOID ARRAY REFERENCE
C
C                2)--- ROUTINE TO FIND REMAINING LETTERS
C                      AS NEEDED.
C
225   CONTINUE
      I = INPUT(N2)
      DO 227 J=1,26
          N = J
          IF (I.EQ.ICHAR(N)) GO TO 228
227   CONTINUE
      GO TO 1720
228   CONTINUE
C             A    B    C    D    E    F    G    H    I    J    K
      GO TO (250, 230, 310, 320, 1630,300, 1720,2660,1470,1720,1720,
C
C             L    M    N    O    P    Q    R    S    T    U    V
     *       1610,1740,1720,2510,790, 1720,490, 410, 390, 1720,1720,
C
C             W    X    Y    Z
     *       2420,2700,1720,1720),N
C
C**** "B" COMMANDS
C
C  CALL BATTERY ROUTINE
C
230   CONTINUE
      CALL BATTCK
      GO TO 150
C
C
C**** "A" COMMANDS
C
C
C   "ABANDON"
C   "ANTI PHOTON"
C
250   CONTINUE
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 290
C
      IF (INPUT(N2).NE.KZP) GO TO 1720
C
C
C  CALL ROUTINE TO HANDLE ANTI-PHOTON
C
      CALL APDEV
      GO TO 150
C
C  CALL ROUTINE TO SAY "YOU CAN'T ABANDON"
C
290   CONTINUE
      CALL ABANMS
      GO TO 150
C
C
C**** "F" COMMANDS
C
C  "FREEZE"
C
300   IF (INPUT(N2+1).NE.KZR.OR.INPUT(N2+2).NE.KZE.OR.INPUT(N2+3).NE.KZE
     *     .OR.INPUT(N2+4).NE.KZZ.OR.INPUT(N2+5).NE.KZE) GO TO 1720
      CALL FREEZE
      CALL LINEF
      CALL PRMSG ('KLINGON STOPPED BY FREEZE',IW(25))
      GO TO 2680
C
C**** "C" COMMANDS
C
C   "CHART"
C   "COMPUTE"
C
310   CONTINUE
      N2 = N2+1
C
C  FOLLOWING IF IS FOR CHART
C
      IF (INPUT(N2).NE.ICRBLK.AND.INPUT(N2).NE.KZH) GO TO 311
      CALL PRCHRT
      GO TO 150
C
C  FOLLOWING IF IS FOR COMPUTE
C
311   CONTINUE
      IF (INPUT(N2).EQ.KZO) GO TO 1810
C
      GO TO 1720
320   CONTINUE
C
C**** "D" COMMANDS
C
C  "DESTRUCT"
C  "DEATHRAY"
C  "DAMAGE"
C  "DISRUPTOR"
C  "DOCK"
C
      N2 = N2+1
      IF (INPUT(N2).EQ.KZA) GO TO 330
      IF (INPUT(N2).EQ.KZE) GO TO 370
      IF (INPUT(N2).EQ.KZI) GO TO 800
      IF (INPUT(N2).EQ.KZO.OR.INPUT(N2).EQ.ICRBLK) GO TO 331
      GO TO 1720
C
C  CALL ROUTINE TO SAY DOCK NOT AVAIL
C
331   CONTINUE
      CALL DOCK
      GO TO 150
C
C  CALL THE DAMAGE ROUTINE
C
330   CONTINUE
      CALL DAMAGR
      GO TO 150
C
C  LOOK FURTHER AT "DE" STRING
C
370   CONTINUE
      N2 = N2+1
      IF (INPUT(N2).EQ.KZA) GO TO 381
      IF (INPUT(N2).NE.KZS.OR.INPUT(N2+1).NE.KZT.OR.INPUT(N2+2).NE.
     *    KZR.OR.INPUT(N2+3).NE.KZU.OR.INPUT(N2+4).NE.KZC.OR.INPUT(N2+5)
     *    .NE.KZT) GO TO 1720
C
C  THIS PORTION CHECKS IF THE PLAYER REALLY WANTS TO KILL SELF
C
      CALL PRMSG ('SELF-DESTRUCT SEQUENCE BEGIN:',IW(29))
      CALL LINEF
      CALL YESNO ('DID YOU SAY # DESTRUCT # LORD COMMANDER ',
     *         IW(40),40,IYES)
      IF (IYES.NE.1) GO TO 150
C
C* CONTINUE BELOW MUST BE KEPT FOR "RUN OUT OF OF TIME" ROUTINE
C* ABOVE
C
380   CONTINUE
      CALL DESMSG
      GO TO 2560
C
C  CALL ROUTINE TO SAY DEATHRAY (SSTREK COMMAND) NOT AVAIL
C
381   CONTINUE
      CALL DEATHR
      GO TO 150
C
C
C
C**** "T" COMMANDS
C
C  "TRACTOR"
C  "TERMINATE"
C  "TRANSPORTER"
C
C
390   CONTINUE
C
C  LOOK FOR T-R-A
C
      IF (INPUT(N2+1).NE.KZR.OR.INPUT(N2+2).NE.KZA) GO TO 400
C
C  FALL THRU TO HERE MEANS IT DOES START WITH T-R-A
C
      IF (INPUT(N2+3).EQ.KZN) GO TO 399
C
C  FALL THRU TO HERE, MEANS MAY BE TRACTOR COMMAND
C
      IF (INPUT(N2+3).EQ.KZC) GO TO 1500
      GO TO 1720
C
C  CALL ROUTINE TO SAY WE DON'T HAVE SHUTTLE OR TRANSPORTER
C
399   CONTINUE
      CALL TSMSG
      GO TO 150
C
C  AT THIS POINT THE COMMAND MIGHT BE "TERMINATE"
C
400   CONTINUE
      IF (INPUT(N2+1).EQ.KZE.AND.INPUT(N2+2).EQ.KZR.AND.INPUT(N2+3).EQ.
     *     KZM.AND.INPUT(N2+4).EQ.KZI.AND.INPUT(N2+5).EQ.KZN.AND.
     *     INPUT(N2+6).EQ.KZA.AND.INPUT(N2+7).EQ.KZT.AND.INPUT(N2+8).EQ.
     *     KZE.AND.INPUT(N2+9).EQ.ICRBLK) GO TO 2640
      GO TO 1720
C
C**** "S" COMMANDS
C
410   CONTINUE
      N2 = N2+1
      IF (INPUT(N2).EQ.KZR.OR.INPUT(N2).EQ.ICRBLK) GO TO 430
      IF (INPUT(N2).EQ.KZE) GO TO 420
      IF (INPUT(N2).EQ.KZT.AND.INPUT(N2+1).EQ.KZA) GO TO 431
      IF (INPUT(N2).EQ.KZH.AND.INPUT(N2+1).EQ.KZU) GO TO 419
      IF (INPUT(N2).EQ.KZH.AND.(INPUT(N2+1).EQ.KZE.OR.INPUT(N2+1).EQ.KZI
     *     .OR.(INPUT(N2+1).EQ.ICRBLK))) GO TO 580
      IF (INPUT(N2).EQ.KZT.AND.INPUT(N2+1).EQ.KZO.AND.INPUT(N2+2).EQ.KZP
     *     ) GO TO 2680
      GO TO 1720
C
C  CALL ROUTINE TO SAY WE DON'T HAVE SHUTTLE OR TRANSPORTER
C
419   CONTINUE
      CALL TSMSG
      GO TO 150
C
C  CALL ROUTINE TO DISPLAY INFO ON SENSOR SCAN
C
420   CONTINUE
      CALL SENDEC (IPLNET(ISCPX1,ISCPY1))
      GO TO 150
C
C  CALL ROUTINE TO DISPLAY SRSCAN
C
430   CONTINUE
      IF (IBMT.EQ.1) GO TO 432
      CALL SRS
      GO TO 150
432   CONTINUE
      CALL PRMSG ('YOUR FIRST OFFICER GREETS YOU WITH A PUZZLED ',
     *                                                         IW(44))
      CALL PRMSG ('LOOK AND SAYS: "ALL SHORT RANGE DATA IS ON THE ',
     *                                                         IW(46))
      CALL PRMSG ('FORWARD TACTICAL SCREEN, LORD COMMANDER"  ',IW(41))
      GO TO 150
C
C  CALL ROUTINE FOR STATUS ONLY
C
431   CONTINUE
      IF (IBMT.EQ.1) GO TO 433
      CALL SRSCAN(1,0,ISECT)
      GO TO 150
433   CONTINUE
      CALL PRMSG ('YOUR FIRST OFFICER GREETS YOU WITH A PUZZLED ',
     *                                                         IW(44))
      CALL PRMSG ('LOOK AND SAYS: "ALL STATUS INFORMATION IS ON THE  ',
     *                                                         IW(48))
      CALL PRMSG ('FORWARD TACTICAL SCREEN, LORD COMMANDER"  ',IW(42))
      GO TO 150
C
C**** "R" COMMANDS
C
490   CONTINUE
      IF (INPUT(N2+1).NE.KZE) GO TO 1720
      IF (INPUT(N2+2).EQ.KZS) GO TO 510
      GO TO 1720
500   CALL READIN ('HOW LONG ',IW(9),9,1,EOFF)
      IF (EOFF.GT..1) GO TO 500
      CALL GAP (N2)
      GO TO 520
510   CALL BRIDGE (N2)
520   IF (N2.GT.50) GO TO 500
      CALL NUMREC (INPUT,N2,IERR,REST)
      IF (IERR.NE.0.OR.REST.LT.0.0) GO TO 1720
      IF (ABS(REST).LT..0001) GO TO 540
      IF (REST.LT.REMAIN) GO TO 530
      CALL PRMSG ('LORD COMMANDER, WE DON''T HAVE THAT MUCH TIME LEFT',
     *     IW(49))
      CALL YESNO ('DO YOU STILL WANT TO REST ',IW(26),26,IYES)
      IF (IYES.NE.1) GO TO 540
      CALL TIMMSG
      GO TO 380
530   CALL LINEF
      IF (ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZGRE) GO TO 570
      CALL LINEF
      CALL PRMSG ('LORD COMMANDER, WE ARE CURRENTLY IN BATTLE,',IW(43))
      CALL YESNO ('ARE YOU SURE YOU WANT TO REST?',IW(30),30,IYES)
      IF (IYES.EQ.1) GO TO 550
540   CALL PRMSG ('NO REST TAKEN',IW(13))
      GO TO 150
550   K = REST*20.0
      DO 560 J = 1, K
           CALL BATTLE
560   CONTINUE
570   CALL REPAIR (REST)
      CSDATE = CSDATE+REST
      ENERGY = ENERGY+(REST*1024.0)
      T = TGIVEN-CSDATE
      CALL PRMRM ('STARDATES REMAINING ',20,IW(20),T,' ',0,1)
      GO TO 150
580   CALL LINEF
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 610
      IF (INPUT(N2).NE.KZT) GO TO 660
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 620
590   CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 1720
      IF (ABS(RTN).LT..5) GO TO 150
      J = ISHENG+ IFIX(RTN)
      IF (ENERGY-RTN.LT.0.0) GO TO 650
      IF (ABS(RTN).LT.0.001) GO TO 150
      IF (J.LT.0.OR.J.GT.12500) GO TO 630
      IF (RTN.LT.0.0) GO TO 591
      ENERGY = ENERGY-RTN
      GO TO 592
591   CONTINUE
      ENERGY = ENERGY-(FLOAT(IFIX(RTN)))
592   CONTINUE
      ISHENG = J
600   CALL PRMRM ('MAIN ENERGY BANKS NOW AT: ',26,IW(26),ENERGY,
     *             ' ',0,1)
      CALL PRMIM ('SHIELDS NOW AT: ',16,IW(16),ISHENG,'UNITS',5,IW(5))
      GO TO 780
610   CONTINUE
      CALL LINEF
      CALL YESNO('DO YOU WISH TO CHANGE SHIELD ENERGY ',IW(36),36,IYES)
      IF (IYES.EQ.1) GO TO 620
      IF (IYES.EQ.0) GO TO 750
620   CALL READIN ('ENERGY TO TRANSFER TO SHIELDS (NEGATIVE TO DRAIN) ',
     *     IW(50),50,1,EOFF)
      IF (EOFF.GT..1) GO TO 150
      CALL GAP (N2)
      GO TO 590
630   CONTINUE
      CALL LINEF
      IF (J.GT.12500) GO TO 640
      CALL PRMSG ('ALL SHIELD ENERGY TRANSFERED TO MAIN ENERGY BANKS',
     *           IW(49))
      CALL LINEF
      ENERGY = ENERGY+FLOAT(ISHENG)
      ISHENG = 0
      GO TO 600
640   CONTINUE
      CALL PRMSG (
     *     'SHIELD ENERGY MAXIMIZED, EXCESS RETURNED TO MAIN ENERGY',
     *     IW(55))
      CALL LINEF
      ENERGY = ENERGY-FLOAT(12500-ISHENG)
      ISHENG = 12500
      GO TO 600
650   CONTINUE
      CALL PRMSG (
     *     'LORD COMMANDER, ENGINEERING REPORTS THE ENERGY LEVEL YOU',
     *     IW(56))
      CALL PRMSG('HAVE REQUESTED WOULD DROP OUR MAIN POWER BANKS TO 0.'
     *     ,IW(52))
      GO TO 150
660   IF (INPUT(N2).NE.KZU.AND.INPUT(N2).NE.KZD) GO TO 1720
      IF (ISHUPD.NE.IZDAMG) GO TO 680
670   CALL PRMSG ('SHIELDS ARE DAMAGED AND DOWN.',IW(29))
      GO TO 150
680   IF (INPUT(N2).EQ.KZU.AND.ISHUPD.EQ.IZUP) GO TO 690
      GO TO 700
690   CALL PRMSG ('SHIELDS ALREADY UP.',IW(19))
      GO TO 150
700   IF (INPUT(N2).EQ.KZD.AND.ISHUPD.EQ.IZDOWN) GO TO 710
      GO TO 720
710   CALL PRMSG ('SHIELDS ALREADY DOWN.',IW(21))
      GO TO 150
720   IF (INPUT(N2).EQ.KZD) GO TO 740
      IF (ENERGY.GT.50.0) GO TO 730
      CALL PRMSG ('INSUFFICENT ENERGY TO RAISE SHIELDS.',IW(36))
      GO TO 150
730   ENERGY = ENERGY-50.0
      IOVER = 1
      ISHUPD = IZUP
      CALL PRMSG ('AUTOMATIC CONTROL OVERRIDDEN.',IW(29))
      CALL PRMSG ('SHIELDS RAISED',IW(14))
      GO TO 780
740   IOVER = 1
      ISHUPD = IZDOWN
      CALL PRMSG ('AUTOMATIC CONTROL OVERRIDDEN.',IW(28))
      CALL PRMSG ('SHIELDS DROPPED',IW(15))
      GO TO 780
750   IF (ISHUPD.EQ.IZDAMG) GO TO 670
      J = ISHUPD
      K = IZRAIS
      K2 = KZE
      IF (J.EQ.IZUP) K = IZLOW
      IF (J.EQ.IZUP) K2 = KZR
      MSG5A(6) = J
      MSG5B(5) = K
      MSG5B(6) = K2
      CALL PRMSG (MSG5A,IWV(24))
760   CONTINUE
      CALL READIN (MSG5B,IWV(37),37,1,EOFF)
      IF (EOFF.GT..1) GO TO 760
      CALL GAP (N2)
      IF (INPUT(N2).EQ.KZN) GO TO 150
      IF (INPUT(N2).EQ.KZY) GO TO 770
      CALL PRMSG ('YES OR NO PLEASE',IW(16))
      GO TO 760
770   N2 = 1
      INPUT(1) = KZU
      IF (J.EQ.IZUP) INPUT(1) = KZD
      GO TO 720
780   CALL BATTLE
      GO TO 150
790   CONTINUE
      IF (INPUT(N2+1).EQ.ICRBLK) GO TO 800
      IF (INPUT(N2+1).EQ.KZL) GO TO 799
      IF (INPUT(N2+1).NE.KZH) GO TO 1720
      IF (INPUT(N2+2).EQ.KZO.OR.INPUT(N2+2).EQ.ICRBLK) GO TO 800
      IF (INPUT(N2+2).NE.KZA) GO TO 1720
C
C  CALL ROUTINE TO SAY WE DON'T HAVE PHASERS
C
      CALL PHASER
      GO TO 150
C
C  CALL ROUTINE TO SAY PLANET RECORD NOT KEPT (WE JUST BLOW THEM UP)
C
799   CONTINUE
      CALL PLANET
      GO TO 150
800   CONTINUE
      CALL PHOTON (IRETRN,ITQX,ITSX,ITQY,ITSY,N2)
      IF (IRETRN.EQ.0) GO TO 150
      IF (IRETRN.EQ.1) GO TO 1720
      IF (IRETRN.EQ.2) GO TO 2560
      IF (IRETRN.EQ.3) GO TO 1950
C  150-PROMPT 1720-N2.GT.50 2560-DIE 1950-MOVE
      GO TO 150
1470  IF (XIEDC.GT.0.001) GO TO 1490
      IF (ENERGY.GT.50.0) GO TO 1480
      CALL LINEF
      CALL PRMSG ('INSUFFIENT ENERGY TO ACTIVATE IMPULSE ENGINES',
     * IW(45))
      GO TO 150
1480  IMPULS = 1
      GO TO 1800
1490  CALL LINEF
      CALL PRMSG ('IMPULSE ENGINES DAMAGED',IW(23))
      GO TO 150
1500  CONTINUE
      CALL LINEF
      GO TO 1520
1510  CALL READIN ('TARGET QUADRANT ',IW(16),16,1,EOFF)
      IF (EOFF.GT..1) GO TO 1510
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 150
      GO TO 1530
1520  CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1510
1530  CALL IDENT (INPUT(N2),IERR,ITRACY)
      IF (IERR.NE.0) GO TO 1720
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1720
      CALL IDENT (INPUT(N2),IERR,ITRACX)
      IF (IERR.NE.0) GO TO 1720
      IF (ITRACX.GT.8.OR.ITRACY.GT.8) GO TO 1720
      IF (ITRACX.LT.1.OR.ITRACY.LT.1) GO TO 150
      IF (ITRACX.EQ.ISCPX1.AND.ITRACY.EQ.ISCPY1) GO TO 150
      TRENG = DIST(ITRACX,5,ITRACY,5,ISCPX1,ISCPX2,ISCPY1,ISCPY2)*650.0
      IF (TRENG.GE.ENERGY) GO TO 1590
      CALL PRMRM ('THAT WOULD REQUIRE ',19,IW(19),TRENG,
     *    'UNITS OF ENERGY,',16,IW(16))
      CALL YESNO ('DO YOU STILL WISH TO ENGAGE THE TRACTOR BEAM ',
     *     IW(45),45,IYES)
      IF (IYES.NE.1) GO TO 150
      CALL LINEF
      CALL PRMSG ('AS YOU SO ORDER, LORD COMMANDER...',IW(34))
      CALL LINEF
      CALL PRMSG ('TRACTOR BEAM ON FULL POWER, LORD COMMANDER',IW(42))
      CALL LINEF
      ENERGY = ENERGY-TRENG
      IF (ICHART(ITRACX,ITRACY).LT.100.OR.ICHART(ITRACX,ITRACY).
     *      EQ.9999) GO TO 1600
      ICCNT = ICHART(ITRACX,ITRACY)/1000
      IFCNT = MOD(ICHART(ITRACX,ITRACY)/100,10)
      CP = (RAND(1.0)+.1)*ICCNT
      FP = (RAND(1.0)+.1)*IFCNT
1540  IX = RAND(10.0)+1.0
      IY = RAND(10.0)+1.0
      IF (ISECT(IX,IY).NE.ICRDOT) GO TO 1540
      IF (CP.LT.FP) GO TO 1550
      FLAG = 1000
      GO TO 1560
1550  FLAG = 100
1560  ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)+FLAG
      ICHART(ITRACX,ITRACY) = ICHART(ITRACX,ITRACY)-FLAG
      CALL LINEF
      CALL PRMSG('WE''VE LOCKED ONTO SOMETHING, LORD COMMANDER',IW(43))
      CALL LINEF
      IF (FLAG.GT.999.9) GO TO 1570
      CALL PRMSG (
     *  '*** FEDERATION STARSHIP CAUGHT IN LONG RANGE TRACTOR BEAM',
     *     IW(57))
      CALL PRMSG ('ALL HANDS... BATTLE STATIONS!',IW(29))
      CALL ADDQUE ('REDA')
      ISECT(IX,IY) = KZF
      NSECE(IX,IY) = IFEDST(DUMMY)
      CALL LINEF
      CALL SSMOVI (IUSFED,ISCPX1,ISCPY1,IX,IY,ITRACX,ITRACY,IDMSG3(1),
     *     IDMSG3(6),IDMSG2(12))
      CALL PRMSG ('...LORD COMMANDER, THE SHIP WE TRACTORED IN',IW(43))
      CALL PRMSG (IDMSG2,IWV(60))
      CALL PRMSG (IDMSG3,IWV(60))
      CALL PRMSG ('LAST KNOWN TO BE IN COMMAND.',IW(28))
      CALL LINEF
      GO TO 1580
1570  CONTINUE
      CALL PRMSG ('*** COMMANDER CAUGHT IN LONG RANGE TRACTOR BEAM',
     *   IW(47))
      ISECT(IX,IY) = KZC
      NSECE(IX,IY) = -4500
1580  CALL LINEF
      CALL PRMSG ('TRACTORS "OFF", LORD COMMANDER',IW(30))
      CALL BATTLE
      GO TO 150
1590  CONTINUE
      CALL PRMSG ('WE DON''T HAVE THE ENERGY TO PULL A SHIP THAT FAR,',
     *     IW(48))
      CALL PRMSG ('LORD COMMANDER',IW(14))
      GO TO 150
1600  ENERGY = ENERGY+(TRENG*.5)
      CALL PRMSG ('OUR TRACTOR BEAM WAS UNABLE TO LOCK ONTO ANYTHING,',
     *    IW(50))
      CALL PRMSG ('LORD COMMANDER',IW(14))
      GO TO 1580
1610  CONTINUE
      IF (IBMT.EQ.1) GO TO 1620
      CALL LRSCAN
      GO TO 150
1620  CONTINUE
      CALL PRMSG ('YOUR FIRST OFFICER GREETS YOU WITH A PUZZLED   ',
     *                                                         IW(44))
      CALL PRMSG ('LOOK AND SAYS: "ALL LONG RANGE DATA IS ON THE  ',
     *                                                         IW(45))
      CALL PRMSG ('FORWARD TACTICAL SCREEN, LORD COMMANDER"  ',IW(42))
      GO TO 150
1630  CONTINUE
      IF (INPUT(N2+1).NE.KZX) GO TO 1720
      CALL LINEF
      IF (IGRAFC.EQ.0) GO TO 1640
      IF (IOK.EQ.1) GO TO 1640
      IOK = 1
      CALL PRMSG ('EXTERNAL VISUAL DISPLAYS WILL BE DISPLAYED',IW(42))
      GO TO 1650
1640  CONTINUE
      IOK = 0
      CALL PRMSG ('EXTERNAL VISUAL DISPLAYS NOW "OFF"        ',IW(42))
1650  CONTINUE
      CALL PRMSG ('LORD COMMANDER',IW(14))
      GO TO 150
1720  CONTINUE
      CALL PRMSG (
     *  'BEGGING YOUR LEAVE, LORD COMMANDER, BUT I DO NOT UNDERSTAND'
     *     ,IW(59))
      CALL PRMSG ('THE COMMAND:',IW(12))
      CALL PRMSG1 (INPUT,50)
      GO TO 150
1730  CONTINUE
      CALL PRMSG (
     *  'THE SUPERCOMMANDER KAZH CANNOT USE DILITHIUM CRYSTALS',IW(53))
      GO TO 150
1740  CONTINUE
      IF (INPUT(N2+1).NE.KZI) GO TO 1800
      GO TO 1730
1750  CALL LINEF
      CALL READIN ('MANUAL OR AUTOMATIC ',IW(20),20,1,EOFF)
      IF (EOFF.GT..1) GO TO 1780
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 1780
      GO TO 1830
C
C
C
1760  CALL LINEF
      CALL READIN ('ENTER QUADRANT AND\OR SECTOR ',IW(29),29,1,EOFF)
      IF (EOFF.GT..1) GO TO 1780
      NCO = 0
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 1780
      GO TO 1840
C
C
1770  CALL LINEF
      CALL READIN ('ENTER X AND Y DISPLACEMENTS: ',IW(29),29,1,EOFF)
      IF (EOFF.GT..1) GO TO 1780
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 1780
      GO TO 1900
C
C
1780  CALL LINEF
      CALL PRMSG ('MOVE OR COMPUTE COMMAND ABORTED.',IW(31))
      GO TO 150
C
1790  CALL LINEF
      CALL PRMSG ('COMPUTER DAMAGED, MANUAL MOVE ONLY.',IW(35))
      GO TO 150
C
C
1800  LNAVXX = 0
      GO TO 1820
1810  LNAVXX = 1
      IF (XCDC.GT..001) GO TO 1819
      GO TO 1820
C
C  THIS IS THE COMPTER DAMAGED ROUTINE, COMES HERE IF FUNCTION
C  UNDER COMPUTER CONTROL AND IT'S BROKEN
C
1819  CONTINUE
      CALL LINEF
      CALL PRMSG ('COMPUTER DAMAGED',IW(16))
      GO TO 150
1820  CONTINUE
      ITQY = ISCPY1
      ITQX = ISCPX1
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1750
1830  IF (INPUT(N2).EQ.KZM) GO TO 1890
C
      IF (INPUT(N2).NE.KZA) GO TO 1720
      IF (XCDC.GT.0.001) GO TO 1790
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1760
C
      NCO = 0
1840  IF (N2.GT.50) GO TO 1870
      CALL IDENT (INPUT(N2),IERR,IOUT)
      IF (IERR.NE.0) GO TO 1720
      IF (IOUT.NE.1) GO TO 1850
      IF (INPUT(N2+1).EQ.ICRBLK) GO TO 1850
      IF (INPUT(N2+1).NE.ICRZER) GO TO 1720
      IVALUE = 10
      GO TO 1860
1850  IVALUE = IOUT
1860  NCO = NCO+1
      IVALS(NCO) = IVALUE
      CALL BRIDGE (N2)
      GO TO 1840
C
C
1870  IF (NCO.NE.2.AND.NCO.NE.4) GO TO 1720
      IF (NCO.EQ.2) GO TO 1880
      ITQY = IVALS(1)
      ITQX = IVALS(2)
      ITSY = IVALS(3)
      ITSX = IVALS(4)
      GO TO 1930
1880  ITSY = IVALS(1)
      ITSX = IVALS(2)
      GO TO 1930
C
C
1890  CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1770
1900  CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 1720
      XVAL = RTN
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 1910
      CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 1720
      YVAL = RTN
      GO TO 1920
1910  YVAL = 0.0
1920  YVAL = -YVAL
      IDISPX = IFIX(XVAL*100.0)
      IDISPY = IFIX(YVAL*100.0)
      IDISPX = (IDISPX+ISGN(IDISPX))/10
      IDISPY = (IDISPY+ISGN(IDISPY))/10
      ISCX = (ISCPX1*10+ISCPX2-1)+IDISPX
      ISCY = (ISCPY1*10+ISCPY2-1)+IDISPY
      ITQX = ISCX/10
      ITSX = MOD(ISCX,10)+1
      ITQY = ISCY/10
      ITSY = MOD(ISCY,10)+1
1930  IF (ITQX.EQ.ISCPX1.AND.ITQY.EQ.ISCPY1.AND.ITSX.EQ.ISCPX2.AND.
     *     ITSY.EQ.ISCPY2) GO TO 1780
      IF (ITQY.GT.8.OR.ITQY.LT.1.OR.ITQX.GT.8.OR.ITQX.LT.1.OR.ITSY.GT.
     *     10.OR.ITSY.LT.1.OR.ITSX.LT.1.OR.ITSX.GT.10) GO TO 1940
      GO TO 1950
1940  CONTINUE
      CALL PRMSG ('LORD COMMANDER, I DO NOT THINK IT WISE TO LEAVE',
     *   IW(47))
      CALL PRMSG ('FEDERATION SPACE UNTIL OUR MISSION IS COMPLETE.',
     *   IW(47))
      GO TO 150
1950  CONTINUE
      IF (IMPULS.EQ.1.OR.XWEDC.LE.0.001.OR.LNAVXX.EQ.1) GO TO 1970
      IF (XWEDC.LE.5.0.AND.WFACT.LE.5.0) GO TO 1970
      IF (XWEDC.GT.5.0) GO TO 1960
      CALL LINEF
      CALL PRMSG ('LORD COMMANDER, WE MUST REDUCE SPEED TO WARP 5.',
     *  IW(47))
      GO TO 150
1960  CALL LINEF
      CALL PRMSG ('WARP ENGINES NON-OPERATIONAL',IW(28))
      GO TO 150
1970  CONTINUE
      WFDDST = DIST(ITQX,ITSX,ITQY,ITSY,ISCPX1,ISCPX2,ISCPY1,ISCPY2)
      IF (LNAVXX.NE.1) CALL M2FAST (WFACT,WFDDST,WFDAMG)
      IF (ITQY.EQ.ISCPY1.AND.ITQX.EQ.ISCPX1) GO TO 2050
      IF (ICHART(ITQX,ITQY).NE.9999.OR.XCDC.GT.0.001.OR.LNAVXX.EQ.1)
     *      GO TO 1980
      CALL BEEP2
      CALL PRMSG ('EMERGENCY NAVIGATIONAL OVERRIDE BY COMPUTER',
     *   IW(43))
      CALL PRMSG (
     *  'TARGET QUADRANT CONTAINS SUPERNOVA, ENGINES SHUT DOWN',IW(53))
      IF (IHIT.NE.IZSUPN) GO TO 150
      CALL PRMSG ('YOUR SHIP LANDED IN A QUADRANT WITH A SUPERNOVA',
     *                                                         IW(47))
      CALL PRMSG ('YOU AND YOUR  SHIP ARE BURNED TO A CRISP',IW(40))
      GO TO 2560
1980  IF (LNAVXX.EQ.1) GO TO 2040
      IF (IHIT.EQ.IZSUPN) GO TO 2010
      IPOF = 1
      CALL BATTLE
      IPOF = 0
      CALL LOCATE (KZF,J,J)
      IF (NFED.EQ.0) GO TO 2000
      DO 1990 J = 1, NFED
           CALL SSMOVO(IUSFED,ISCPX1,ISCPY1,NFX(J),NFY(J),ISCPX1,ISCPY1
     *          ,I)
1990  CONTINUE
2000  IF (IMPULS.EQ.1) GO TO 2030
2010  IF (ISHUPD.NE.IZUP) GO TO 2020
      CALL BEEP2
      CALL PRMSG ('AUTOMATIC NAVIGATION CONTROL LOCKED IN',IW(38))
      CALL PRMSG ('SHIELDS DROPPED.',IW(16))
      CALL LINEF
      ISHUPD = IZDOWN
2020  CALL LINEF
      CALL PRMSM ('COURSE PLOTTED FOR QUADRANT ',28,IW(28),
     *            ITQY,ITQX,',',1,1)
      CALL PRMSM (
     *  'SECTOR ',7,IW(7),ITSY,ITSX,'AND LOCKED IN',13,IW(13))
      CALL LINEF
      CALL PRMRM ('COURSE LAID IN, WARP FACTOR ',28,IW(28),
     *            WFACT,' ',0,1)
      CALL ADDQUE ('MOVE')
      NQFLAG = 1
      GO TO 2040
2030  CALL PRMSM ('COURSE PLOTTED FOR ',19,IW(19),ITQY,ITQX,' ',0,1)
      CALL PRMSM (' ',0,1,ITSY,ITSX,'AND LOCKED IN',13,IW(13))
      CALL LINEF
      CALL PRMSG ('COURSE LAID IN, MAXIMUM IMPULSE FACTOR',IW(38))
C
2040  CALL LONINT (ITQX,ITQY,ITSX,ITSY,IRTN,IIX,IIY)
      LNAVC1 = IRTN
      IF (IRTN.EQ.IZCLER.OR.LNAVXX.EQ.1) GO TO 2330
      GO TO 2170
C
2050  IF (LNAVXX.EQ.1) GO TO 2100
      IF (IMPULS.EQ.1.OR.ISHUPD.NE.IZUP) GO TO 2090
      IF (ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZGRE) GO TO 2060
      F = ENGUSE(DIST(5,ITSX,5,ITSY,5,ISCPX2,5,ISCPY2),WFACT)
      IF (F.LE.50.0) GO TO 2080
2060  CALL BEEP2
      CALL PRMSG ('SHIELDS DROPPED FOR IN-QUADRANT MOVE',IW(36))
      CALL LINEF
      ISHUPD = IZDOWN
      CALL PRMSM ('MOVING TO SECTOR ',17,IW(17),ITSY,ITSX,
     *     'LORD COMMANDER',14,IW(14))
      IF (ICROG(ICHART(ISCPX1,ISCPY1)).EQ.IZGRE) GO TO 2100
      IF (ENERGY.GT.800.0.AND.ISHENG.GT.1250) GO TO 2070
      CALL PRMRM ('CURRENT ENERGY = ',17,IW(17),ENERGY,' ',0,1)
      CALL PRMIM ('CURRENT SHIELD ENERGY = ',24,IW(24),ISHENG,' ',0,1)
      CALL YESNO ('DO YOU WISH TO RAISE SHIELDS',IW(28),28,IYES)
      IF (IYES.EQ.0) GO TO 2100
      IF (IYES.EQ.1) GO TO 2070
2070  CALL LINEF
      CALL PRMSG ('SHIELDS RE-RAISED',IW(17))
      ISHUPD = IZUP
      CALL LINEF
      ENERGY = ENERGY-50.0
      GO TO 2100
2080  ENERGY = ENERGY-F
      IF (ISHUPD.EQ.IZUP) ENERGY = ENERGY-F
2090  CALL PRMSM ('MOVING TO SECTOR: ',18,IW(18),ITSY,ITSX,
     *     'LORD COMMANDER',14,IW(14))
2100  IIX = ITSX
      IIY = ITSY
      DPRESX = ISCPX2
      DPRESY = ISCPY2
      TVX = DPRESX
      TVY = DPRESY
      STX = FLOAT(IIX)
      STY = FLOAT(IIY)
      CALL TARSET (DPRESX,DPRESY,STX,STY,ITRCON,LRUDD,SC)
      XLRUD = FLOAT(LRUDD)
2110  IF (ITRCON.EQ.KZX) GO TO 2120
      TVY = TVY+XLRUD
      TVX = TVX+SC
      GO TO 2130
2120  TVX = TVX+XLRUD
      TVY = TVY+SC
2130  ITX = IFIX(TVX+0.5001)
      ITY = IFIX(TVY+0.5001)
      IF (ISECT(ITX,ITY).NE.ICRDOT) GO TO 2140
      IF (ITX.EQ.IIX.AND.ITY.EQ.IIY) GO TO 2150
      GO TO 2110
2140  IIX = ITX
      IIY = ITY
      IRTN = ISECT(ITX,ITY)
      GO TO 2160
2150  IRTN = IZCLER
2160  LNAVC1 = IRTN
      IF (LNAVXX.EQ.1) GO TO 2330
      NOCNG = 1
      ISECT(ISCPX2,ISCPY2) = ICRDOT
      ISECT(ITSX,ITSY) = KZS
      LNAVC1 = IRTN
      IF (IRTN.EQ.IZCLER) GO TO 2330
2170  CALL BEEP
      CALL ADDQUE('REDA')
      IF (IRTN.NE.ICRSTR) GO TO 2180
      CALL PRMSM ('KAZH CAUSES HYPERSPACE RUPTURE OF STAR AT: ',
     *    43,IW(43),IIY,IIX,' ',0,1)
      CALL LINEF
      CALL PRMSM ('*** STAR AT: ',13,IW(13),IIY,IIX,' NOVAS',6,IW(6))
      CALL LINEF
      CALL PRMSG ('YOU HAVE BEEN BURNED TO A FINE INTERSTELLAR DUST',
     *    IW(48))
      CALL PRMSG ('BY A NOVA.  NO DEFLECTOR SHIELD KNOWN WOULD HAVE',
     *    IW(48))
      CALL PRMSG ('MADE ANY DIFFERENCE',IW(19))
      GO TO 2560
2180  CONTINUE
      IF (IRTN.NE.ICRCRH) GO TO 2250
      CALL ADDQUE('REDA')
      CALL PRMSG ('EMERGENCY -- DOUBLE RED ALERT',IW(29))
      CALL PRMSM ('KAZH BEING PULLED INTO BLACK HOLE AT: ',38,IW(38),
     *     IIY,IIX,' ',0,1)
      IF (XWEDC.GT.0.001.OR.ENERGY.LT.3000.0) GO TO 2230
      CALL PRMSG (
     *  'ALL ENGINES AT FULL EMERGENCY REVERSE, LORD COMMANDER',IW(53))
      CALL PRMSG (
     *  'ALL POWER CHANNELED TO WARP AND IMPULSE ENGINES',IW(47))
      IBLOWT = IFIX(RAND(5000.0)+7400.5)
      CALL PRMSG (
     *  'MATTER ANTI MATTER CONVERTERS OVERHEATING, LORD COMMANDER',
     *  IW(57))
      CALL LINEF
      IBLOWL = IFIX(8900.0+RAND(1050.0))
      DO 2190 I = 7400, IBLOWT, 200
           IF (IBMT.EQ.1) GO TO 2191
           CALL PRMIM ('TEMPERATURE NOW, ',17,IW(17),I,
     *                                         'AND RISING',10,IW(10))
2191       CONTINUE
           IF (I.GT.IBLOWL) GO TO 2320
2190  CONTINUE
      ENERGY = ENERGY-(RAND(500.0)+2500.0)
      XWEDC = RAND(2.0)+1.0
      XIEDC = RAND(5.0)+1.0+XIEDC
      CALL LINEF
      CALL PRMSG ('WE''RE BREAKING FREE, LORD COMMANDER!  ',IW(36))
      CALL LINEF
      CALL PRMSG ('YOUR BLACK HOLE VEERING HAS SENT YOU WHIPPING',
     *             IW(45))
      CALL PRMSG ('AROUND THE BLACK HOLE AT GREATER THAN WARP 15',
     *             IW(45))
      CALL PRMSG ('YOU HAVE BEEN THROWN CLEAR',IW(26))
      CALL LINEF
      CALL PRMSG ('*** KAZH ENTERS TIME-SPACE DISTORTION GAP',IW(41))
      CALL LINEF
      CALL PRMSG ('TIME HAS STOPPED MOMENTARILY, YOU ARE TRAVELING',
     *             IW(47))
      XR = RAND(3.0)+15.0
      CALL PRMRM ('AT WARP FACTOR, ',16,IW(16),XR,
     *     'PROPELLED BY THE BLACK HOLE',27,IW(27))
      XX = RAND(1.0)
      IF (XX.LT..7) GO TO 2200
      CALL LINEF
      CALL PRMSG ('*** KAZH SLAMS INTO THE GALACTIC ENERGY BARRIER',
     *  IW(47))
      CALL PRMRM ('AT WARP: ',9,IW(9),XR,'AND BREAKS UP.',14,IW(14))
      CALL LINEF
      GO TO 2560
2200  CONTINUE
      CALL LOCATE (KZF,J,J)
      IF (NFED.EQ.0) GO TO 2220
      DO 2210 J = 1, NFED
           CALL SSMOVO (IUSFED,ISCPX1,ISCPY1,NFX(J),NFY(J),ISCPX1,ISCPY1
     *          ,I)
2210  CONTINUE
2220  CONTINUE
      ISCPX1 = RAND(8.0)+1.0
      ISCPY1 = RAND(8.0)+1.0
      ISCPY2 = RAND(10.0)+1.0
      ISCPX2 = RAND(10.0)+1.0
      CALL PRMSM ('YOUR SHIP HAS COME TO REST IN QUADRANT: ',
     *     40,IW(40),ISCPY1,ISCPX1,' ',0,1)
      CALL PRMSM ('SECTOR: ',8,IW(8),ISCPY2,ISCPX2,' ',0,1)
      CALL LINEF
      CALL PRMSG ('*** WARP AND IMPULSE ENGINES DAMAGED',IW(36))
      CALL LINEF
      CALL ITERPT
      CALL SECSET
      GO TO 150
2230  CALL PRMSM ('*** KAZH PULLED INTO BLACK HOLE AT: ',36,IW(36),
     *    IIY,IIX,' ',0,1)
      IF (XWEDC.GT.0.001) GO TO 2240
      CALL PRMSG ('YOU DID NOT HAVE THE AVAILABLE ENGERY NEEDED.',
     *    IW(45))
      GO TO 2560
2240  CALL PRMSG ('(WARP ENGINES NOT USABLE)',IW(25))
      GO TO 2560
2250  IF (IRTN.NE.KZC) GO TO 2260
      CALL PRMSM ('*** KAZH RAMS COMMANDER AT: ',28,IW(28),
     *            IIY,IIX,' ',0,1)
      CALL PRMSM ('*** KAZH AND COMMANDER AT: ',
     *     27,IW(27),IIY,IIX,'DESTROYED',9,IW(9))
      IKCC = IKCC+1
      GO TO 2560
2260  IF (IRTN.NE.KZB) GO TO 2280
      CALL PRMSM ('*** KAZH RAMS STARBASE AT: ',27,IW(27),
     *          IIY,IIX,' ',0,1)
      CALL LINEF
      IF (ITORCT.GT.0) GO TO 2270
      CALL PRMSG ('SINCE YOU HAD NO DISRUPTOR TORPEDOS LEFT,',IW(41))
      CALL PRMSG ('THAT WAS THE BEST THING YOU COULD HAVE DONE',IW(43))
      CALL LINEF
2270  CALL PRMSG ('*** KAZH AND STARBASE DESTROYED',IW(31))
      ISB = ISB-1
      ISBC = ISBC+1
      GO TO 2560
2280  IF (IRTN.NE.KZF) GO TO 2290
      CALL PRMSM ('*** KAZH RAMS FEDERATION STARSHIP AT: ',
     *           38,IW(38),IIY,IIX,' ',0,1)
      CALL PRMSM ('*** KAZH AND STARSHIP AT ',
     *            25,IW(25),IIY,IIX,'DESTROYED',9,IW(9))
      IFSC = IFSC+1
      IFS = IFS-1
      GO TO 2560
2290  IF (IRTN.EQ.KZP) GO TO 2291
      CALL PRMSG ('PLEASE REPORT ERROR ROUTINE=KL (ERROR 01)',IW(40))
      CALL PRMSG ('NOW CALLING FREEZE TO SAVE DATA',IW(30))
      CALL FREEZE
2291  CONTINUE
      CALL LINEF
      CALL PRMSM ('*** KAZH HITS PLANET AT ',24,IW(24),IIY,IIX,' ',0,1)
      CALL LINEF
      CALL PRMSG ('THE BLAST FROM THE ANTI-MATTER IN YOUR ENGINES',
     *           IW(46))
      CALL PRMSG ('DESTROYS THE PLANET... AND YOU AS WELL. ',IW(39))
      CALL LINEF
      IPR = IPR-1
      J = IPLNET(ISCPX1,ISCPY1)/10
      IF (J.GT.9999) GO TO 2300
      IPLC = IPLC+100+(J/100.0+.5)
      ET = ET+.000025*J
      GO TO 2310
2300  IPLC = IPLC+600+((J-10000)/100.0+.5)
      ET = ET+.25+.000025*((J-10000)/100.0+.5)
2310  IPLNET(ISCPX1,ISCPY1) = 0
      GO TO 2560
2320  CALL LINEF
      CALL PRMSG ('THE INTERNAL SHIELDS ON YOUR ENGINES BREAK DOWN DUE',
     *     IW(51))
      CALL PRMSG (
     *'TO THE HEAT, AND YOUR WARP AND IMPULSE ENGINES DETONATE',IW(55))
      GO TO 2560
2330  CONTINUE
      DISTT = DIST(ITQX,ITSX,ITQY,ITSY,ISCPX1,ISCPX2,ISCPY1,ISCPY2)
      IF (LNAVXX.EQ.1) GO TO 2340
      CALL PRMRM ('DISTANCE TRAVELED: ',19,IW(19),DISTT,' ',0,1)
      IF (NQFLAG.EQ.0) GO TO 2340
      NQFLAG = 0
      CALL ADDQUE ('NEWQ')
2340  DTNAV = DISTT
      IF (IMPULS.EQ.1) GO TO 2350
      E = ENGUSE(DISTT,WFACT)-(TIMUSE(DISTT,WFACT)*1024.0)
      T = TIMUSE(DISTT,WFACT)
      GO TO 2360
2350  E = (DISTT*100+50)-(1.052632*DISTT*1024.0)
      T = 1.052632*DISTT
      IMPULS = 0
2360  IF (LNAVXX.EQ.0) GO TO 2380
      LNAVXX = 0
      MSG3(8) = IZBLOC
      MSG3(9) = IZBLC2
      IF (LNAVC1.NE.IZCLER) GO TO 2365
      MSG3(8) = IZCLER
      MSG3(9) = KZR
2365  CONTINUE
      IMPULS = 0
      MSG4(8) = IZINCR
      MSG4(9) = IZEASE
      IF (E.GT.0.0) MSG4(8) = IZDECR
      CALL LINEF
      CALL PRMSM ('TO MOVE TO QUADRANT ',20,IW(20),ITQY,ITQX,' ',0,1)
      CALL PRMSM ('TARGET SECTOR ',14,IW(14),ITSY,ITSX,' ',0,1)
      CALL PRMRM ('AT WARP FACTOR ',15,IW(15),WFACT,' ',0,1)
      CALL PRMRM ('(DISTANCE - ',12,IW(12),DTNAV,')',1,1)
      CALL PRMRM (MSG4,36,IWV(36),ABS(E),'UNITS',5,IW(5))
      CALL PRMRM ('AND USE UP ',11,IW(11),T,'STARDATES.',10,IW(10))
      IF (XSSDC.GT..001) GO TO 2370
      CALL LINEF
      CALL PRMSG (MSG3,IWV(36))
2370  CONTINUE
      GO TO 150
2380  ENERGY = ENERGY-E
      CSDATE = CSDATE+T
      ISCPX1 = ITQX
      ISCPY1 = ITQY
      ISCPX2 = ITSX
      ISCPY2 = ITSY
      ISSAVE = 0
      CALL REPAIR (T)
      IF (WFACT.LT.10.0001) GO TO 2390
      IF (RAND(100.0).GE.WFDAMG) GO TO 2390
      XWEDC = XWEDC+(WFDDST*(WFACT-10.0))+RAND(.113)
      CALL LINEF
      CALL PRMSG ('WARP ENGINES HAVE BEEN DAMAGED, LORD COMMANDER',
     *   IW(46))
2390  CONTINUE
      IF (NOCNG.NE.1) GO TO 2400
      CALL BATTLE
      IF (ICHART(ISCPX1,ISCPY1).NE.9999) GO TO 150
      CALL LINEF
      CALL PRMSM ('KAZH HITS SUPERNOVA IN QUADRANT ',32,IW(32),
     *            ISCPY1,ISCPX1,' ',0,1)
      CALL LINEF
      CALL PRMSG ('YOU ARE INSTANTLY BURNED TO INTERSTELLAR ASH BY',
     *             IW(47))
      CALL PRMSG ('A SUPERNOVA, THAT WAS VERY SLOPPY NAVIGATING',
     *             IW(44))
      GO TO 2560
2400  CALL ITERPT
      CALL SECSET
      GO TO 150
2420  IF (XWEDC.GT.5.0) GO TO 2490
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 2430
      CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 1720
      WVAL = RTN
      GO TO 2440
2430  CALL PRMSG ('ENTER -1 TO ABORT THIS COMMAND.',IW(31))
      CALL READIN ('ENTER NEW WARP FACTOR - ',IW(24),24,1,EOFF)
      IF (EOFF.GT..1) GO TO 2450
      CALL GAP (N2)
      CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 2450
      WVAL = RTN
2440  IF (WVAL.LT.0.0001) GO TO 2450
      IF (WVAL.LT.1.0.OR.WVAL.GT.12.0) GO TO 2460
      IF (WVAL.GT.5.0.AND.XWEDC.GT.0.001) GO TO 2480
      IF (WVAL.GT.10.0) GO TO 2470
      CALL PRMRM ('WARP FACTOR NOW ',16,IW(16),WVAL,
     *     'AS PER YOUR ORDER LORD COMMANDER',32,IW(32))
      WFACT = WVAL
      GO TO 150
2450  CALL PRMSG ('WARP FACTOR CHANGE ABORTED.',IW(27))
      GO TO 150
2460  CONTINUE
      CALL PRMRM ('WARP FACTOR OF ',15,IW(15),WVAL,'NOT ALLOWED',
     *     11,IW(11))
      GO TO 150
2470  CALL PRMSG ('ALTHOUGH THERE IS A VERY GOOD CHANCE',IW(36))
      CALL PRMSG ('OF WARP DRIVE FAILURE AT THIS SPEED',IW(35))
      CALL PRMSG ('YOUR ORDER WILL BE IMPLEMENTED IMMEDIATELY',IW(42))
      CALL PRMRM ('LORD COMMANDER, WARP FACTOR NOW AT ',
     *            35,IW(35),WVAL,' ',0,1)
      WFACT = WVAL
      GO TO 150
2480  CALL PRMSG ('WARP ENGINES PARTIALY DAMAGED',IW(29))
      CALL PRMSG ('WARP 5 IS THE MAXIMUM',IW(21))
      GO TO 2430
2490  CALL PRMSG ('WARP ENGINES NOT USEABLE',IW(24))
      GO TO 150
C
C  CALL ROUTINE FOR DEBUG MODE ACTIVATION
C
2700  CONTINUE
      IF (INPUT(N2+1).NE.KZD.OR.INPUT(N2+2).NE.KZE.OR.INPUT(N2+3).NE.KZB
     *     .OR.INPUT(N2+4).NE.KZU.OR.INPUT(N2+5).NE.KZG) GO TO 2705
      CALL XDEBUG
      GO TO 150
2705  CONTINUE
      IF (INPUT(N2+1).NE.KZS.OR.INPUT(N2+2).NE.KZN.OR.INPUT(N2+3).NE.KZA
     *     .OR.INPUT(N2+4).NE.KZP.OR.IDEBUG.NE.1)    GO TO 1720
      CALL DEBUGX
      CALL PRMSG ('XSNAP COMPLETE',IW(14))
      GO TO 150
C
C  CALL ROUTINE TO SAY ORBIT NOT DONE
C
2510  CONTINUE
      CALL ORBIT
      GO TO 150
C
C  CALL ROUTINE TO GET HELP FOR USER
C
2660  CONTINUE
      CALL HELP
      GO TO 150
C
C  SET IDIE = 1 IF USER DIED, 0 IF HE WON
C
2560  CALL LINEF
      IDIE = 1
2570  CONTINUE
      CALL SCORE (REMAIN)
2640  CONTINUE
      INIT = 1
      CALL PLAGAN (I)
      IF (I.NE.1) GO TO 2645
      I = 1
      IF (IBMT.EQ.1) CALL SHIFTC (I)
      IF (I.NE.1) GO TO 2680
      GO TO 10
2645  CONTINUE
      CALL LINEF
      CALL PRMSG ('MAY THE GLORY OF ALL KLINGON GO WITH YOU',IW(40))
2680  CONTINUE
      CALL LINEF
      INIT = 1
      CALL LINEF
      IF (IBMT.NE.1) GO TO 2690
      CALL READIN('HIT ENTER TO TERMINATE PROGRAM',IW(30),30,1,EOFF)
2690  CONTINUE
      CALL STAX(1)
      STOP
      END
./ ADD NAME=LINEF
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE LINEF
C
C  DISPLAY A BLANK LINE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL PRMSG (' ',IW(1))
      RETURN
      END
./ ADD NAME=LOCATE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE LOCATE (ITYPE,IX,IY)
C
C  LOCATE THE FEDERATION STARSHIPS AND COMMANDERS IN QUADRANT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,
     *     ISTC,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),
     * NCX(9),NCY(9)
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('LOCATE ENTERED',IW(14),0)
      IF (ITYPE.NE.KZF) GO TO 30
      J = 1
      DO 20 I = 1, 10
           DO 10 N = 1, 10
                IF (ISECT(N,I).NE.KZF) GO TO 10
                NFX(J) = N
                NFY(J) = I
                J = J+1
10         CONTINUE
20    CONTINUE
      GO TO 90
30    IF (ITYPE.NE.KZC) GO TO 60
      M = 1
      DO 50 I = 1, 10
           DO 40 N = 1, 10
                IF (ISECT(N,I).NE.KZC) GO TO 40
                NCX(M) = N
                NCY(M) = I
                M = M+1
40         CONTINUE
50    CONTINUE
      GO TO 90
60    DO 80 I = 1, 10
           DO 70 N = 1, 10
                IF (ISECT(N,I).NE.ITYPE) GO TO 70
                IX = N
                IY = I
                GO TO 90
70         CONTINUE
80    CONTINUE
      CALL PRMSG ('REPORT ERROR 03-LOCATE  ',IW(23))
      CALL PRMSG ('CALLING FREEZE TO SAVE DATA',IW(29))
      CALL FREEZE
90    CONTINUE
      CALL DBUGIN ('LOCATE EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=LONINT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE LONINT (ITQX,ITQY,ITSX,ITSY,IRTN,IIX,IIY)
C
C  CHECK TO SEE IF USER IS ABOUT TO MOVE THRU AN OBJECT (NOT ALLOWED)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      DATA IZCLER / 'CLEA'/
C
      CALL DBUGIN ('LONINT ENTERED',IW(14),0)
      PRESX = ISCPX1+((ISCPX2-1)*.1)
      PRESY = ISCPY1+((ISCPY2-1)*.1)
      TVX = ITQX+((ITSX-1)*.1)
      TVY = ITQY+((ITSY-1)*.1)
      CALL TARSET (PRESX,PRESY,TVX,TVY,ITARCN,ILRUD,SC)
      TVX = FLOAT(ISCPX2)
      TVY = FLOAT(ISCPY2)
      XLRUD = FLOAT(ILRUD)
10    IF (ITARCN.NE.KZX) GO TO 20
      TVX = TVX+XLRUD
      TVY = TVY+SC
      GO TO 30
20    TVX = TVX+SC
      TVY = TVY+XLRUD
30    ITVX = IFIX(TVX+.5001)
      ITVY = IFIX(TVY+.5001)
      IF (ITVX.GT.10.OR.ITVX.LT.1.OR.ITVY.GT.10.OR.ITVY.LT.1) GO TO 40
      IF (ISECT(ITVX,ITVY).EQ.ICRDOT) GO TO 10
      IRTN = ISECT(ITVX,ITVY)
      IIX = ITVX
      IIY = ITVY
      GO TO 50
40    IRTN = IZCLER
50    CONTINUE
      CALL DBUGCH ('LONINT RTN',IW(10),IRTN,IW(4))
      CALL DBUGIN ('LONINT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=LRSCAN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE LRSCAN
C
C  PURPOSE, FOR CPU=0 DISPLAY LRS SCAN, FOR CPU=1, FILL THE IOUTT
C  UNIT WITH LRS INFO TO BE READ LATER
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /CPU/ IBMT
C
      COMMON /OUTUNT/ IOUTT
C
      DIMENSION JPLAN (9,2)
      DATA NONE /999999/
      CALL DBUGIN ('LRSCAN ENTERED',IW(14),0)
      IOUT = IOUTT
      IF (IBMT.EQ.1) IOUT = IOUT - 1
1610  IF (XLRDC.GT.0.001) GO TO 1710
      IX = ISCPX1
      IY = ISCPY1
      IT2 = IY+1
      IT = IY-1
      N50 = IX-1
      N51 = IX+1
      IDXXX = 0
      IF (IBMT.EQ.1) GO TO 1615
      CALL LINEF
      CALL PRMSM ('LONG RANGE SCAN FOR AREA: ',24,IW(24),IY,IX,' ',0,1)
      CALL LINEF
      GO TO 1618
1615  CONTINUE
      WRITE (IOUT,49000)
1618  CONTINUE
      IF (IX.EQ.1) GO TO 1620
      IF (IX.EQ.8) GO TO 1640
      GO TO 1660
1620  CONTINUE
      WRITE (IOUT,50000) NONE,ICHART(IX,IT),  ICHART(N51,IT),
     *                   NONE,ICHART(IX,IT+1),ICHART(N51,IT+1),
     *                   NONE,ICHART(IX,IT+2),ICHART(N51,IT+2)
      GO TO 1680
1640  CONTINUE
      WRITE (IOUT,50000) ICHART(N50,IT),  ICHART(IX,IT),  NONE,
     *                   ICHART(N50,IT+1),ICHART(IX,IT+1),NONE,
     *                   ICHART(N50,IT+2),ICHART(IX,IT+2),NONE
      GO TO 1680
1660  CONTINUE
      WRITE (IOUT,50000)
     *            ICHART(N50,IT),  ICHART(N50+1,IT),  ICHART(N51,IT),
     *            ICHART(N50,IT+1),ICHART(N50+1,IT+1),ICHART(N51,IT+1),
     *            ICHART(N50,IT+2),ICHART(N50+1,IT+2),ICHART(N51,IT+2)
1680  IF (N50.EQ.0) N50 = 1
      IF (N51.EQ.9) N51 = 8
      IF (IT2.EQ.9) IT2 = 8
      IF (IT.EQ.0) IT = 1
      IF (IBMT.EQ.0) CALL LINEF
      DO 1700 N60 = N50, N51
           DO 1690 N70 = IT, IT2
                IKY(N60,N70) = 1
                IF (IPLNET(N60,N70).EQ.0) GO TO 1690
                IF (IBMT.EQ.0)
     *               CALL PRMSM (
     *               'PLANET DETECTED IN QUADRANT: ',29,IW(29),N70,N60,
     *               ' ',0,1)
                IDXXX = IDXXX + 1
                JPLAN (IDXXX,1) = N70
                JPLAN (IDXXX,2) = N60
1690       CONTINUE
1700  CONTINUE
      IF (IDXXX.EQ.0) GO TO 150
      IF (IBMT.EQ.0) GO TO 150
      WRITE(IOUT,50010) ((JPLAN(I,J),J=1,2),I=1,IDXXX)
      GO TO 150
1710  WRITE (IOUT,50020)
150   CONTINUE
      CALL DBUGIN ('LRSCAN EXITED',IW(13),0)
      RETURN
C
49000 FORMAT (1X,'LONG RANGE SCAN'/1X,'---------------')
50000 FORMAT (1X,3(I4,1X)//1X,3(I4,1X)//1X,3(I4,1X))
50010 FORMAT (1X,'PLANET(S) IN:'/(I2,'-',I2,3X,I2,'-',I2))
50020 FORMAT (/' *LRS DAMAGED*')
C
      END
./ ADD NAME=M2FAST
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE M2FAST (WFACT,DIST,WDAMG)
C
C  SEE IF THE USER HAS WARP SPEED SET TOO HIGH, IF SO WARN THEM
C  AND ASK IF THEY WANT TO SLOW DOWN
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      CALL DBUGIN ('M2FAST ENTERED',IW(14),0)
      IF (WFACT.LT.10.0001) GO TO 20
      W = WFACT
      WD = (DIST/6.0*(W-10.0))*100.0
      IF (WD.GT.99.0) WD = 99.0
      WDAMG = WD
      CALL LINEF
      CALL PRMRM (
     * 'LORD COMMANDER, THERE IS A',26,IW(26),WD,'% CHANCE OF ',11,
     *     IW(11))
      CALL PRMSG (
     *  'OUR WARP ENGINES BEING DAMAGED IF WE CONTINUE ',IW(45))
      CALL PRMSG ('AT OUR PRESENT COURSE AND SPEED',IW(31))
      CALL LINEF
      CALL YESNO ('DO YOU WISH TO REDUCE SPEED ',IW(28),28,IYES)
      CALL LINEF
      IF (IYES.NE.1) GO TO 10
      CALL PRMSG (
     *  'REDUCING SPEED TO WARP FACTOR 10, LORD COMMANDER',IW(48))
      WFACT = 10.0
      GO TO 20
10    CALL PRMSG ('AS YOU SO ORDER, LORD COMMANDER',IW(31))
20    CONTINUE
      CALL DBUGIN ('M2FAST EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=MAININ
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE MAININ (IZNOHT,IZRED,IZDOWN)
C
C     PURPOSE - DRIVE ALL INITIALIZATION ROUTINES
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C    VARIABLES IDUM, AND IDUM2 WERE ONCE PART OF FEATURES
C    OF KLINGON, NO LONGER USED, HOWEVER, IF THEY ARE DELETED
C    CERTAIN ROUTINES WOULD NEED RE-WRITES.
C
C
C   CALL ROUTINE TO SET THE LEVEL OF PLAYER
C
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      CALL DBUGIN ('MAININ ENTERED',IW(14),0)
      CALL STARTM
C
C         INITIALIZE THE SHIPS AND CAPTAINS FOR THE FEDERATION
C
      CALL SSTART
C
C*        SET DAMAGE CONTROLS TO ZERO AND INIT GAME VARIABLES
C
      CALL INITDM
C
C INITIALIZE THE CHART STUFF, AND THE COUNTERS
C
      CALL INITCH
      CALL INITCT (IZNOHT,IZRED,IZDOWN)
C
C        DISPLAY INFO ON INITIAL GAME SETUP
C
      CALL DISPIN
C
C SET UP INFORMATION ABOUT POPULATION IN SECTOR
C
      CALL ITERPT
      CALL SECSET
      CALL DBUGIN ('MAININ EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=MEMLPG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C  PROGRAM TO CREATE AND UPDATE THE #MEMLIST MEMBER
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION IEB154(2), MEMNAM(8), MSGNO(2)
      DATA IEB154 /'IEB1','54'/
      DATA NPOUND /'#'/
      REWIND 11
      REWIND 12
100   CONTINUE
      READ (11,1000,END=500) MSGNO, MEMNAM
      IF (MSGNO(1).NE.IEB154(1).OR.MSGNO(2).NE.IEB154(2)) GO TO 200
      IF (MEMNAM(1).EQ.NPOUND) GO TO 200
           WRITE (12,1010) MEMNAM
200   CONTINUE
      GO TO 100
500   CONTINUE
      ENDFILE 12
      REWIND 12
      REWIND 11
      STOP
1000  FORMAT (1X,A4,A2,3X,8A1)
1010  FORMAT (8A1)
      END
./ ADD NAME=NOVKIL
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE NOVKIL (IIX,IIY)
C
C  KILL AND DAMAGE THINGS AROUND A STAR THAT NOVAS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /SHIPS/ IUSFED(15,13)
      INTEGER CSEC
C
      COMMON /TRACOM/ TARX,TARY,PRESX,PRESY,NSECE(10,10),IHIT,ISBC,IFSC,
     *     IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,
     *     CSEC(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      DIMENSION IDMSG(11)
C
      DATA IZNOVD / 'NOVA'/
      DATA IDMSG / '** S','TARS','HIP ','U.S.','S. ',0,0,0,
     *              'AT S','ECTO','R: '/
      CALL DBUGIN ('NOVKIL ENTERED',IW(14),0)
      IY = IIY
      IX = IIX
      IF (CSEC(IX,IY).EQ.ICRCRH.OR.CSEC(IX,IY).EQ.ICRDOT) GO TO 90
      IF (CSEC(IX,IY).EQ.ICRSTR) GO TO 90
      IF (CSEC(IX,IY).NE.KZC) GO TO 10
      CALL PRMSM (
     *  '*** COMMANDER AT:',17,IW(17),IY,IX,
     *  'DESTROYED BY NOVA',17,IW(17))
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-1000
      NSECE(IX,IY) = 0
      CSEC(IX,IY) = ICRDOT
      IKCC = IKCC+1
      IKC = IKC-1
      GO TO 90
C
10    IF (CSEC(IX,IY).NE.KZP) GO TO 40
      CALL PRMSM (
     *  '*** PLANET AT: ',15,IW(15),IY,IX,
     *  'DESTROYED BY NOVA',17,IW(17))
      IPR = IPR-1
      IPLNET(ISCPX1,ISCPY1) = IPLNET(ISCPX1,ISCPY1)/10
      IF (IPLNET(ISCPX1,ISCPY1).GT.9999) GO TO 20
      IPLC = IPLC+100+(IPLNET(ISCPX1,ISCPY1)/100.0+.5)
      ET = ET+.000025*IPLNET(ISCPX1,ISCPY1)
      GO TO 30
20    IPLC = IPLC+600+((IPLNET(ISCPX1,ISCPY1)-10000)/100.0+.5)
      ET = ET+.25+.000025*((IPLNET(ISCPX1,ISCPY1)-10000)/100.0+.5)
30    IPLNET(ISCPX1,ISCPY1) = 0
      NSECE(IX,IY) = 0
      CSEC(IX,IY) = ICRDOT
      GO TO 90
40    IF (CSEC(IX,IY).NE.KZF) GO TO 60
      NSECE(IX,IY) = NSECE(IX,IY)-5100
      IF (NSECE(IX,IY).LE.0) GO TO 50
      CALL PRMSM ('*** FEDERATION STARSHIP AT: ',28,IW(28),IY,IX,
     *     'DAMAGED BY NOVA',15,IW(15))
      GO TO 90
50    CONTINUE
      ET = ET+.3
      IFS = IFS-1
      IFSC = IFSC+1
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-100
      NSECE(IX,IY) = 0
      CSEC(IX,IY) = ICRDOT
      CALL SSDEST (IUSFED,ISCPX1,ISCPY1,IX,IY,IDMSG(6))
      CALL PRMSM (
     *  IDMSG,44,IWV(44),IY,IX,'DESTROYED BY NOVA',17,IW(17))
      GO TO 90
60    IF (CSEC(IX,IY).NE.KZB) GO TO 80
      NSECE(IX,IY) = NSECE(IX,IY)-5100
      IF (NSECE(IX,IY).LE.0) GO TO 70
      CALL PRMSM (
     *  '*** STARBASE AT: ',17,IW(17),IY,IX,
     *  'DAMAGED BY NOVA',15,IW(15))
      GO TO 90
70    ET = ET+.5
      ISB = ISB-1
      ISBC = ISBC+1
      CSEC(IX,IY) = ICRDOT
      ICHART(ISCPX1,ISCPY1) = ICHART(ISCPX1,ISCPY1)-10
      CALL PRMSM ('*** STARBASE AT: ',17,IW(17),IY,IX,
     *  'DESTROYED BY NOVA',17,IW(17))
      GO TO 90
80    CALL BEEP
      CALL ADDQUE('REDA')
      IF (CSEC(IX,IY).EQ.KZS) GO TO 89
      CALL PRMSG ('PLEASE REPORT NOVKIL ERROR 5   ',IW(28))
      CALL PRMSG ('CALLING FREEZE TO SAVE DATA',IW(29))
89    CONTINUE
      CALL PRMSG ('*** KAZH HIT BY BLAST OF NOVA',IW(29))
      IHIT = IZNOVD
90    CONTINUE
      CALL DBUGIN ('NOVKIL EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=NUMREC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE NUMREC (ICOMSC,IPNTRO,IERRCD,RTN)
C
C  TAKE A CHARACTER STRING CONTAINING A NUMBER, AND TURN IT INTO
C  A REAL NUMBER, WHOLE  NUMBERS ARE COMPLETELY ACCURATE,
C  DECIMAL NUMBERS CAN BE AS MUCH AS .001 OFF
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ICOMSC(50),IWORK(26), IWRK2(26)
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('NUMREC ENTERED',IW(14),0)
      IPNTR = IPNTRO
      IERRCD = 0
      IERCD = 0
      NEGFLG = 1
      DO 5  N=1,26
           IWORK(N) = ICRBLK
           IWRK2(N) = ICRZER
5     CONTINUE
10    CONTINUE
      IF (ICOMSC(IPNTR).NE.ICRPLS) GO TO 20
      IPNTR = IPNTR+1
      GO TO 10
20    CONTINUE
      IF (ICOMSC(IPNTR).NE.ICRMIN) GO TO 30
      NEGFLG = -1
      IPNTR = IPNTR+1
      GO TO 20
30    CONTINUE
      IF (ICOMSC(IPNTR).EQ.ICRBLK) GO TO 120
      N = IPNTR
      J = 1
      IDOTPS = 0
35    CONTINUE
      IF (ICOMSC(N).EQ.ICRBLK.OR.J.GT.20) GO TO 37
           IF (ICOMSC(N).EQ.ICRDOT) IDOTPS = J
           IWORK(J) = ICOMSC(N)
           N = N + 1
           J = J + 1
           GO TO 35
37    CONTINUE
      IF (J.GT.20) GO TO 120
      IF (IDOTPS.GT.0) GO TO 38
           IDOTPS = J
           IWORK(J) = ICRDOT
           J = J + 1
38    CONTINUE
      IDOTCT = 0
      DO 39 N = 1,21
           IF (IWORK(N).EQ.ICRDOT) IDOTCT = IDOTCT + 1
39    CONTINUE
      IF (IDOTCT.NE.1) GO TO 120
      IF (IWORK(IDOTPS+4).EQ.ICRBLK) IWORK(IDOTPS+4) = ICRZER
      IF (IWORK(IDOTPS+3).EQ.ICRBLK) IWORK(IDOTPS+3) = ICRZER
      IF (IWORK(IDOTPS+2).EQ.ICRBLK) IWORK(IDOTPS+2) = ICRZER
      IF (IWORK(IDOTPS+1).EQ.ICRBLK) IWORK(IDOTPS+1) = ICRZER
      IWRK2(25) = IWORK(IDOTPS+4)
      IWRK2(24) = IWORK(IDOTPS+3)
      IWRK2(23) = IWORK(IDOTPS+2)
      IWRK2(22) = IWORK(IDOTPS+1)
      N = IDOTPS - 1
      J = 21
43    CONTINUE
      IF (N.LT.1) GO TO 45
          IWRK2(J) = IWORK(N)
          J = J - 1
          N = N - 1
          GO TO 43
45    CONTINUE
      DO 50 N=1,25
          CALL IDENT(IWRK2(N),IERR,IRTN)
          IF (IERR.NE.0) GO TO 120
50    CONTINUE
      R = 0.0
      CALL IDENT(IWRK2(22),IERR,IRTN)
      R = R + .1 * FLOAT(IRTN)
      CALL IDENT(IWRK2(23),IERR,IRTN)
      R = R + .01 * FLOAT(IRTN)
      CALL IDENT(IWRK2(24),IERR,IRTN)
      R = R + .001 * FLOAT(IRTN)
      CALL IDENT(IWRK2(25),IERR,IRTN)
      R = R + .0001 * FLOAT(IRTN)
      N = 1000000
      J = 0
      DO 101 I=15,21
           CALL IDENT (IWRK2(I),IERR,IRTN)
           J = J + (IRTN*N)
           N = N/10
101   CONTINUE
      RTN = FLOAT(J) + R
      RTN = RTN * NEGFLG
      GO TO 100
120   CONTINUE
      IERRCD = 1
      RTN = 0.0
100   CONTINUE
      CALL DBUGRN ('NUMREC RETURN VALUE',IW(19),RTN)
      CALL DBUGIN ('NUMREC EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=OLDNEW
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE OLDNEW (IOLDNW)
C
C     PURPOSE: FIND OUT IF USER WANTS OLD OR NEW GAME
C     SET IOLDNW
C
C     -1 = OLD GAME REQUESTED, ERROR IN GET
C      1 = OLD GAME, GET OK
C      0 = NEW GAME REQUESTED
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8), INPUT(50),IPAD3
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      CALL DBUGIN ('OLDNEW ENTERED',IW(14),0)
10    CONTINUE
      IOLDNW = -100
      CALL LINEF
      CALL PRMSG ('DO YOU WISH TO START A NEW GAME OR RESUME',IW(41))
      CALL READIN ('AN OLD ONE (NEW OR OLD) ',IW(24),24,1,EOFF)
      IF (EOFF.GT..1) GO TO 10
      CALL GAP (N2)
      IF (INPUT(N2).EQ.KZO) IOLDNW = 1
      IF (INPUT(N2).EQ.KZN) IOLDNW = 0
      IF (INPUT(N2).EQ.KZH.AND.INPUT(N2+1).EQ.KZE.AND.INPUT(N2+2).EQ.
     *  KZL) CALL HELPRT('ONHELP      ',IW(12))
      IF (IOLDNW.EQ.-100) GO TO 10
C
      IF (IOLDNW.EQ.1)   CALL GET
      IF (IPAD1(1).LT.0) IOLDNW = -1
      IF (IOLDNW.EQ.1)  CALL PRMSG ('NOW RESUMING FROZEN GAME.',IW(25))
      CALL DBUGIN ('OLDNEW EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=ORBIT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE ORBIT
C
C     PURPOSE - PRINT MSG SAYING ORBIT NOT AVAIL
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('ORBIT ENTERED ',IW(14),0)
      CALL LINEF
      CALL PRMSG (
     *'YOUR JOB IS NOT TO ORBIT PLANETS, JUST DESTROY THE ONES',IW(55))
      CALL PRMSG ('MOST USEFUL TO THE FEDERATION.',IW(30))
      CALL DBUGIN ('ORBIT EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=PERHIT
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION PERHIT (IFX,IFY,ITX,ITY)
C
C  USING DISTANCE TO "WEAKEN" A PHASER SHOT FROM A FEDERATION
C  STARSHIP, DETERMINE HOW MUCH OF THE SHOT HITS US
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      CALL DBUGIN ('PERHIT ENTERED',IW(14),0)
      DISTC = DIST(5,ITX,5,ITY,5,IFX,5,IFY)
      P = ABS(1.0-(DISTC/1.3))
      PERHIT = P
      CALL DBUGRN ('PERHIT VALUE',IW(12),P)
      CALL DBUGIN ('PERHIT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PHASER
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PHASER
C
C     PURPOSE - PRINT MSG SAYING WE DON'T HAVE PHASERS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('PHASER ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG (
     *'PHASERS ARE A FEDERATION WEAPON... YOUR SHIP IS EQUIPPED',IW(56))
      CALL PRMSG (
     *'WITH DISRUPTOR TORPEDOS, AND YOUR COMMANDERS ARE EQUIPPED',
     *     IW(57))
      CALL PRMSG ('WITH TIGHT BEAM DISRUPTOR MOUNTS.',IW(33))
      CALL DBUGIN ('PHASER EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PHOTON
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PHOTON (IRETRN,ITQX,ITSX,ITQY,ITSY,N2)
C
C  TRACK AND REPORT TARGETS HIT BY OUR DISRUPTOR TORPEDOS
C  (THE TERM PHOTON AND DISTRUPTOR ARE USED INTERCHAGABLY)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      DIMENSION IRG(8,8), FIRE(8), DISVEC(8,8), VECD2(8,8), NUMS(10),
     * MSGX(11), IDMSG(11)
      EQUIVALENCE (NUMS(1),ICRZER)
      DATA MSGX / 'ENTE','R TA','RGET',' SEC','TOR ',
     *            'FOR ','TORP','EDO ','NUMB','ER ',0/
      DATA IDMSG / '** S','TARS','HIP ','U.S.','S. ',0,0,0,
     *              'AT S','ECTO','R: '/
      DATA IZRED  / 'RED'/, IZSUPN /'SNOV'/
      DATA IZGRE  / 'GREE'/
      DATA IZNOVD / 'NOVA'/
      DATA IZCLER / 'CLEA'/
      DATA IZDAMG / 'DAMG'/
      DATA IZDOWN / 'DOWN'/
      DATA IZBLOW / 'BLOW'/
      CALL DBUGIN ('PHOTON ENTERED',IW(14),0)
      IRETRN = 0
      CALL LINEF
      IMAXT = 4
      IF (XPTDC.GT.0.001) GO TO 1450
810   IF (ITORCT.EQ.0) GO TO 1430
      IFRCNT = 0
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 850
      IF (INPUT(N2).EQ.ICRMIN.OR.INPUT(N2).EQ.ICRZER) GO TO 150
      IF (INPUT(N2+1).NE.ICRBLK) GO TO 1720
      CALL IDENT (INPUT(N2),IERR,IFIRE)
      IF (IERR.NE.0) GO TO 850
      IF (IFIRE.GT.IMAXT) GO TO 860
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 870
820   IF (N2.GT.50) GO TO 830
      CALL NUMREC (INPUT,N2,IERR,RTN)
      IF (IERR.NE.0) GO TO 1720
      IF (ABS(RTN).LT.0.000001) GO TO 150
      IFRCNT = IFRCNT+1
      IF (RTN.LT.0.5.OR.RTN.GT.10.5) GO TO 1720
      FIRE(IFRCNT) = RTN
      CALL BRIDGE (N2)
      GO TO 820
830   IF (IFRCNT.NE.2.AND.IFRCNT/2.NE.IFIRE) GO TO 1720
      IF (IFRCNT.NE.2) GO TO 890
      RX = FIRE(2)
      RY = FIRE(1)
      DO 840 J = 3, 8, 2
           FIRE(J) = RY
           FIRE(J+1) = RX
840   CONTINUE
      GO TO 890
850   CALL PRMSG ('TO ABORT THIS COMMAND ENTER 0 0 (ZERO,ZERO)',IW(43))
      CALL READIN ('NUMBER OF TORPEDOES TO FIRE - ',IW(30),30,1,EOFF)
      IF (EOFF.GT..1) GO TO 150
      CALL GAP (N2)
      CALL IDENT (INPUT(N2),IERR,IFIRE)
      IF (IERR.NE.0) GO TO 1720
      IF (IFIRE.LE.0) GO TO 150
      IF (IFIRE.GT.ITORCT) GO TO 1440
      IF (IFIRE.LE.IMAXT) GO TO 870
860   CALL PRMIM ('MAXIMUM OF ',11,IW(11),IMAXT,
     *           'TORPEDOES PER BURST',20,IW(20))
      IF (IMAXT.NE.4) CALL PRMSG ('(DUE TO TUBE DAMAGE)',IW(20))
      GO TO 850
870   DO 880 J = 1, IFIRE
           NX = J*2
           MSGX(11) = NUMS(J+1)
           CALL LINEF
           CALL READIN (MSGX,IWV(44),44,1,EOFF)
           IF (EOFF.GT..1) GO TO 150
           CALL GAP (N2)
           IF (N2.GT.50) GO TO 150
           CALL NUMREC (INPUT,N2,IERR,FIRE(NX-1))
           IF (IERR.NE.0) GO TO 1720
           CALL BRIDGE (N2)
           IF (N2.GT.50) GO TO 150
           CALL NUMREC (INPUT,N2,IERR,FIRE(NX))
           IF (IERR.NE.0) GO TO 1720
           IF (FIRE(NX).LT..01.OR.FIRE(NX-1).LT..01) GO TO 150
           IF (FIRE(NX).LT..5.OR.FIRE(NX).GT.10.5.OR.FIRE(NX-1).LT..
     *          5.OR.FIRE(NX-1).GT.10.5) GO TO 1720
880   CONTINUE
890   IFIRE2 = IFIRE*2
      IF (IFIRE.GT.ITORCT) GO TO 1440
      DO 900 J = 1, IFIRE2, 2
           I3Y = FIRE(J)+0.500001
           I3X = FIRE(J+1)+0.500001
           IF (ISECT(I3X,I3Y).EQ.KZS) GO TO 1420
900   CONTINUE
      IEMXC = 0
      DO 910 J = 1, IFIRE2, 2
           TARY = FIRE(J)
           TARX = FIRE(J+1)
           CALL TRACK
           ITORCT = ITORCT-1
           IEMXC = IEMXC+1
           IF (J+2.GT.IFIRE2) GO TO 910
           IF (IHIT.EQ.IZNOVD.OR.IHIT.EQ.IZBLOW.OR.IHIT.EQ.IZSUPN) GO TO
     *           920
910   CONTINUE
      IF (IHIT.EQ.IZNOVD.OR.IHIT.EQ.IZBLOW.OR.IHIT.EQ.IZSUPN) GO TO 920
      GO TO 1410
920   CALL PRMSG ('REMAINDER OF BURST ABORTED',IW(26))
      IEMXC2 = IFIRE-IEMXC
      IF (IEMXC2.LT.1) GO TO 925
      CALL PRMIM ('(THE REMAINING ',15,IW(15),IEMXC2,
     *     'TORPEDOS WERE DUMPED INTO SPACE)',32,IW(32))
      ITORCT = ITORCT-IEMXC2
925   CONTINUE
      IF (IHIT.NE.IZSUPN) GO TO 1300
      CALL LINEF
      ITX = IFIX(TVX+.5001)
      ITY = IFIX(TVY+.5001)
      BLOWD = DIST(5,ITX,5,ITY,5,ISCPX2,5,ISCPY2)
      IF (BLOWD.GT..2001) GO TO 930
      CALL PRMSG ('EMERGENCY DROP IN...',IW(20))
      CALL LINEF
      CALL PRMSG (
     *  'YOU WERE CLOSER THAN 2 SECTORS AWAY FROM THE SUPERNOVA,',
     *   IW(55))
      CALL PRMSG (
     *  'YOUR SHIP''S COMPUTER DIDN''T HAVE TIME TO GET YOU AWAY.',
     *   IW(53))
      CALL PRMSG ('(PROVIDED IT WAS WORKING)',IW(25))
      GO TO 2560
930   IF (BLOWD.GT..5.OR.XWEDC.LE.0.001) GO TO 950
940   CALL PRMSG ('EMERGENCY DROP INTO HYP...',IW(26))
      CALL LINEF
      CALL PRMSG (
     *  'YOUR SHIP IS CREMATED BY A SUPERNOVA (YOUR WARP ENGINES',
     *    IW(55))
      CALL PRMSG (
     *  'WERE DAMAGED AND YOU COULD NOT MAKE THE JUMP INTO HYPER-',
     *    IW(56))
      IF (XWEDC.GT.5.0) CALL PRMSG ('SPACE).',IW(7))
      IF (XWEDC.LE.5.0) CALL PRMSG ('SPACE FAST ENOUGH).',IW(19))
      GO TO 2560
950   IF (XWEDC.GT.5.0) GO TO 940
      CALL PRMSG ('EMERGENCY DROP INTO HYPERSPACE COMPLETE',IW(39))
      CALL LINEF
      IF (ENERGY.GT.50.0) GO TO 960
      CALL PRMSG (
     *  'YOUR SHIP DID NOT HAVE THE ENERGY NEEDED TO HOLD YOU'
     *     ,IW(52))
      CALL PRMSG (
     *  'IN HYPERSPACE, YOUR SHIP DROPS BACK INTO NORMAL SPACE',IW(53))
      CALL PRMSG ('AND GETS BURNED TO ASHES',IW(24))
      GO TO 2560
960   ENERGY = ENERGY-50.0
      IF (XCDC.LE.0.001) GO TO 980
      CALL PRMSG ('COMPUTER DAMAGED -- SETTING RANDOM COURSE',IW(41))
      CALL LINEF
970   RFX = RAND(0.9)+1.0
      RFY = RAND(0.9)+1.0
      IF (RAND(10.0).GT.5.0) RFX = -RFX
      IF (RAND(10.0).GT.5.0) RFY = -RFY
      IDISPX = IFIX(RFX*100.0)
      IDISPY = IFIX(RFY*100.0)
      IDISPX = (IDISPX+ISGN(IDISPX))/10
      IDISPY = (IDISPY+ISGN(IDISPY))/10
      ISCX = (ISCPX1*10+ISCPX2-1)+IDISPX
      ISCY = (ISCPY1*10+ISCPY2-1)+IDISPY
      MTX = ISCX/10
      MTY = ISCY/10
      IF (MTX.GT.8.OR.MTX.LT.1.OR.MTY.GT.8.OR.MTY.LT.1) GO TO 970
      ITQX = MTX
      ITQY = MTY
      ITSX = MOD(ISCX,10)+1
      ITSY = MOD(ISCY,10)+1
      GO TO 1170
980   CALL PRMSG ('COMPUTER CONTROL ACTIVATED',IW(26))
      CALL LINEF
      ILOX = ISCPX1-ISGN(ISCPX1-1)
      IHIX = ISGN(8-ISCPX1)+ISCPX1
      ILOY = ISCPY1-ISGN(ISCPY1-1)
      IHIY = ISGN(8-ISCPY1)+ISCPY1
      IAQ = 0
      IAQFLG = 0
      DO 1000 I = ILOX, IHIX
           DO 990 J = ILOY, IHIY
                IAQ = IAQ+1
                D = DIST(I,5,J,5,ISCPX1,ISCPX2,ISCPY1,ISCPY2)
                DISVEC(I,J) = D
990        CONTINUE
1000  CONTINUE
      DISVEC(ISCPX1,ISCPY1) = 999.5
      IRG(ISCPX1,ISCPY1) = IZRED
C
C SUBTRACT ONE FROM IAQ, TO ACCOUNT FOR PRESENT QUADRANT
C
      IAQ = IAQ-1
      CALL COPVEC (VECD2,DISVEC,ILOX,IHIX,ILOY,IHIY)
      IAQ2 = IAQ
      IF (XLRDC.LE.0.001) CALL PRMSG (
     *  'LONG RANGE SCANNER DATA PLOTTED INTO COMPUTER',IW(45))
      IF (XLRDC.GT.0.001) CALL PRMSG (
     *  'LONG RANGE SCANNER DATA NOT AVAILABLE',IW(37))
      DO 1020 I = ILOX, IHIX
           DO 1010 J = ILOY, IHIY
                IRG(I,J) = IZGRE
                IF (XLRDC.LE.0.001) IRG(I,J) = ICROG(ICHART(I,J))
1010       CONTINUE
1020  CONTINUE
      CALL LINEF
      IF (XSSDC.LE.0.001) CALL PRMSG (
     *  'SHORT RANGE SCANNER DATA PLOTTED INTO COMPUTER',IW(46))
      IF (XSSDC.GT.0.001) CALL PRMSG (
     *  'SHORT RANGE SCANNER DATA NOT AVAILABLE',IW(38))
1030  CONTINUE
      IF (IAQFLG.NE.-1.OR.IAQ2.GT.0) GO TO 1050
1040  CONTINUE
      CALL PRMSG (
     *  'COMPUTER UNABLE TO FIND PATH OUT OF QUADRANT, YOU ARE',
     *     IW(53))
      CALL PRMSG ('BURNED TO A FINE INTERSTELLAR DUST BY THE SUPERNOVA',
     *     IW(51))
      GO TO 2560
1050  IF (XLRDC.GT.0.001) IAQFLG = -1
1060  DO 1080 I = ILOX, IHIX
           DO 1070 J = ILOY, IHIY
                IF (IRG(I,J).EQ.IZGRE) GO TO 1070
                VECD2(I,J) = 999.0
                IAQ2 = IAQ2-1
1070       CONTINUE
1080  CONTINUE
      IF (IAQ2.EQ.0) GO TO 1110
      RMIN = 1000.0
      DO 1100 I = ILOX, IHIX
           DO 1090 J = ILOY, IHIY
                IF (RMIN.LT.VECD2(I,J)) GO TO 1090
                RMIN = VECD2(I,J)
                NQX = I
                NQY = J
1090       CONTINUE
1100  CONTINUE
1110  IF (IAQ2.GT.0) GO TO 1140
      DO 1130 I = ILOX, IHIX
           DO 1120 J = ILOY, IHIY
                IRG(I,J) = IZGRE
                IF (ICHART(I,J).EQ.9999) IRG(I,J) = IZRED
1120       CONTINUE
1130  CONTINUE
      CALL COPVEC (VECD2,DISVEC,ILOX,IHIX,ILOY,IHIY)
      IAQ2 = IAQ
      IAQFLG = -1
      GO TO 1060
1140  IF (XSSDC.GT.0.001) GO TO 1150
      CALL LONINT (NQX,NQY,5,5,IRTN,IIX,IIY)
      IF (IRTN.EQ.IZCLER) GO TO 1150
      IRG(NQX,NQY) = IZRED
      IAQ2 = IAQ
      GO TO 1030
1150  CONTINUE
      IF (WFACT.GT.10.0) WFACT = 10.0
      IF (WFACT.GT.7.0) GO TO 1160
      WFACT = 7.0
1160  CALL LINEF
      IF (XWEDC.GT.0.001) WFACT = 5.0
      CALL PRMRM ('WARP FACTOR NOW - ',18,IW(18),WFACT,' ',0,1)
      CALL LINEF
      CALL PRMSG ('HELM CONTROL NOW LOCKED INTO BATTLE COMPUTER',
     *     IW(44))
      CALL LINEF
      CALL PRMSG ('STAND BY TO LEAVE QUADRANT ',IW(26))
      CALL LINEF
      IF (ICHART(NQX,NQY).EQ.9999) GO TO 1040
      ITQY = NQY
      ITQX = NQX
      ITSX = 5
      ITSY = 5
1170  CALL ITERPT
      IF (NFED.EQ.0) GO TO 1210
      CALL LOCATE (KZF,IDUM,IDUM2)
      DO 1200 M = 1, NFED
           XXX = RAND(100.0)
           IF (XXX.GT.55.0) GO TO 1190
           I = 0
1180       CALL ESCAPE (ISCPX1,ISCPY1,IX,IY)
           I = I+1
           IF (I.GT.7) GO TO 1190
           IF (ICHART(IX,IY).GT.999) GO TO 1180
           CALL LINEF
           CALL SSMOVO (IUSFED,ISCPX1,ISCPY1,NFX(M),NFY(M),IX,IY,IDMSG(6
     *          ))
           CALL PRMSM (IDMSG,44,IWV(44),NFY(M),NFX(M),' ',0,1)
           CALL PRMSM ('ESCAPES TO QUADRANT ',20,IW(20),IY,IX,' ',0,1)
           ICHART(IX,IY) = ICHART(IX,IY)+100
           GO TO 1200
1190       CONTINUE
           CALL LINEF
           CALL SSDEST (IUSFED,ISCPX1,ISCPY1,NFX(M),NFY(M),IDMSG(6))
           CALL PRMSM(IDMSG,44,IWV(44),NFY(M),NFX(M),
     *          'DESTROYED BY SUPERNOVA'
     *          ,22,IW(22))
           ET = ET+.3
           IFS = IFS-1
           IFSC = IFSC+1
1200  CONTINUE
1210  IF (NCOMM.EQ.0) GO TO 1250
      CALL LOCATE (KZC,IDUM,IDUM2)
      DO 1240 M = 1, NCOMM
           XXX = RAND(100.0)
           IF (XXX.GT.65.0) GO TO 1230
           I = 0
1220       CALL ESCAPE (ISCPX1,ISCPY1,IX,IY)
           I = I+1
           IF (I.GT.7) GO TO 1230
           IF (ICHART(IX,IY).GT.9) GO TO 1220
           CALL LINEF
           CALL PRMSM ('*** COMMANDER AT ',17,IW(17),
     *               NCY(M),NCX(M),' ',0,1)
           CALL PRMSM ('ESCAPES TO QUADRANT ',20,IW(20),IY,IX,' ',0,1)
           ICHART(IX,IY) = ICHART(IX,IY)+1000
           GO TO 1240
1230       CALL LINEF
           CALL PRMSM ('*** COMMANDER AT ',17,IW(17),NCY(M),NCX(M),
     *          'DESTROYED BY SUPERNOVA',22,IW(22))
           IKC = IKC-1
           IKCC = IKCC+1
1240  CONTINUE
1250  IF (NPLNTS.EQ.0) GO TO 1280
      CALL LOCATE (KZP,IXP,IYP)
      IPR = IPR-1
      IPLNET(ISCPX1,ISCPY1) = IPLNET(ISCPX1,ISCPY1)/10
      IF (IPLNET(ISCPX1,ISCPY1).GT.9999) GO TO 1260
      IPLC = IPLC+100+(IPLNET(ISCPX1,ISCPY1)/100.0+.5)
      ET = ET+.000025*IPLNET(ISCPX1,ISCPY1)
      GO TO 1270
1260  IPLC = IPLC+600+((IPLNET(ISCPX1,ISCPY1)-10000)/100.0+.5)
      ET = ET+.25+.000025*((IPLNET(ISCPX1,ISCPY1)-10000)/100.0+.5)
1270  IPLNET(ISCPX1,ISCPY1) = 0
      CALL LINEF
      CALL PRMSM ('*** PLANET AT ',14,IW(14),IYP,IXP,
     *     'DESTROYED BY SUPERNOVA',
     *     22,IW(22))
1280  IF (NSBASE.EQ.0) GO TO 1290
      CALL LOCATE (KZB,IXB,IYB)
      ET = ET+.5
      ISB = ISB-1
      ISBC = ISBC+1
      CALL LINEF
      CALL PRMSM ('*** STARBASE AT ',16,IW(16),IYB,IXB,
     *     'DESTROYED BY SUPERNOVA',22,IW(22))
1290  IKY(ISCPX1,ISCPY1) = 1
      ICHART(ISCPX1,ISCPY1) = 9999
      CALL LINEF
      GO TO 1950
1300  IF (IHIT.NE.IZBLOW) GO TO 1350
      CALL LINEF
      CALL PRMSG ('EMERGENCY -- EMERGENCY',IW(22))
      CALL LINEF
      CALL PRMSG (
     *  'AUTOMATIC EMERGENCY FIELD DAMPENING SYSTEM ACTIVATED',
     *   IW(52))
      CALL LINEF
      UNHIT = RAND(400.0)+2200.0
      IF (ISHUPD.NE.IZDAMG) GO TO 1310
      CALL PRMSG ('SHIELDS NOT USABLE, STAND BY FOR SHOCK WAVE',IW(43))
      GO TO 1330
1310  J = ISHENG-IFIX(UNHIT)
      IF (J.GT.0) GO TO 1320
      CALL PRMSG ('SHIELD ENERGY LOW, STAND BY FOR SHOCK WAVE',IW(42))
      UNHIT = UNHIT-FLOAT(ISHENG)
      ISHENG = 0
      GO TO 1330
1320  CONTINUE
      CALL PRMSG (
     *  'AUTOMATIC FIELD DAMPENING SYSTEM TAKES FULL IMPACT OF',
     *  IW(53))
      CALL PRMSG ('BLAST, NO DAMAGE TO SHIP',IW(24))
      ISHENG = ISHENG-IFIX(UNHIT)
      GO TO 1340
1330  CALL DAMAGE (UNHIT)
1340  CALL LINEF
      CALL PRMIM ('SHIELDS NOW AT: ',16,IW(16),ISHENG,'UNITS.',6,IW(6))
      GO TO 1410
1350  CALL LINEF
      CALL PRMSG ('EMERGENCY -- EMERGENCY',IW(22))
      CALL LINEF
      CALL PRMSG (
     *  'THE LIGHTS OF YOUR BRIDGE GO OUT AS YOU AND YOUR BRIDGE',
     *     IW(55))
      CALL PRMSG (
     *  'PERSONNEL ARE THROWN TO THE FLOOR BY THE FORCE OF THE NOVA',
     *     IW(58))
      CALL PRMSG (
     *  'YOU STAGGER TO YOUR FEET AS THE LIGHTS COME BACK UP SLOWLY',
     *     IW(58))
      CALL LINEF
      CALL PRMSG (
     *  'YOUR FIRST OFFICER CALLS FOR DAMAGE REPORTS FROM ALL DECKS',
     *     IW(58))
      CALL LINEF
      HIT = RAND(300.0)+1700.0
      IF (ISHUPD.NE.IZDOWN.AND.ISHUPD.NE.IZDAMG) GO TO 1360
      ENERGY = ENERGY-HIT
      IF (ENERGY.LE.0.0) GO TO 1390
      CALL DAMAGE (HIT)
      GO TO 1400
1360  IF (HIT.GT.FLOAT(ISHENG)) GO TO 1380
      CALL PRMSG (
     *  'SHIELDS TAKE FULL FORCE OF BLAST, NO DAMAGE TO SHIP',
     *     IW(51))
      CALL LINEF
      ISHENG = ISHENG-IFIX(HIT)
1370  CONTINUE
      CALL PRMIM ('SHIELDS NOW AT: ',16,IW(16),ISHENG,'UNITS.',6,IW(6))
      GO TO 1400
1380  CONTINUE
      CALL PRMSG (
     *  'SHIELD ENERGY LOW, FORCE OF NOVA PARTIALLY ABSORBED BY',
     *    IW(54))
      CALL PRMSG ('SHIELDS, DAMAGE REPORTS COMING IN',IW(33))
      ENERGY = ENERGY-(HIT-ISHENG)
      IF (ENERGY.LE.0.0) GO TO 1390
      ISHENG = 0
      IF (HIT-ISHENG.GT.300.0) CALL DAMAGE (HIT-ISHENG)
      IF (HIT-ISHENG.LE.300.0) CALL PRMSG ('*** NO DAMAGE',IW(13))
      GO TO 1370
1390  CALL PRMSG ('YOUR MAIN ENERGY HAS GONE TO 0',IW(30))
      GO TO 2560
1400  CALL LINEF
1410  CONTINUE
      CALL DRAGIN
      CALL BATTLE
      GO TO 150
1420  CALL LINEF
      CALL PRMSG (
     * 'I WOULDN''T DO THAT TOO OFTEN OR YOUR FIRST OFFICER MIGHT ',
     *   IW(56))
      CALL PRMSG ('GET SOME IDEAS ABOUT BEING "LORD COMMANDER".',
     *     IW(43))
      GO TO 150
1430  CONTINUE
      CALL PRMSG ('LORD COMMANDER, TORPEDO FIRE CONTROL REPORTS WE',
     *     IW(47))
      CALL PRMSG ('DON''T HAVE ANY DISRUPTOR TORPEDOES LEFT',
     *     IW(39))
      GO TO 150
1440  CONTINUE
      CALL PRMSG ('LORD COMMANDER, TORPEDO FIRE CONTROL REPORTS WE',
     *     IW(47))
      CALL PRMSG (
     * 'DON''T HAVE ENOUGH TORPEDOES FOR THE ORDERED SPREAD     ',
     *     IW(50))
      GO TO 150
1450  IF (XPTDC.GT.1.5) GO TO 1460
      IF (XPTDC.LE.1.5) IMAXT = 1
      IF (XPTDC.LE.1.0) IMAXT = 2
      IF (XPTDC.LE.0.5) IMAXT = 3
      GO TO 810
1460  IMAXT = 0
      CALL PRMSG (
     *  'DISRUPTOR TORPEDO TUBES DAMAGED,  ',IW(32))
      CALL PRMSG ('TRY FIRING LESS TORPEDOES',IW(25))
      GO TO 150
1720  CONTINUE
      IRETRN = 1
      GO TO 150
2560  CONTINUE
      IRETRN = 2
      GO TO 150
1950  CONTINUE
      IRETRN = 3
150   CONTINUE
      CALL DBUGIN ('PHOTON EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PLACE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PLACE (NUMBER,ITEM,ILIMIT)
C
C
C
C THIS IS A ROUTINE FOR PLACING NUMBERS IN THE PRIMARY
C CHART
C
C NUMBER IS HOW MANY OF THE ITEM THAT HAS BEEN SELECTED
C ITEM IS THE QUANITY OF WHAT IS BE BE ADDED TO THE CHART
C ILIMIT IS THE LIMIT OF HOW HIGH THE CHART COULD BE
C  AND STILL PUT THE ITEM AT THAT LOCATION.
C
C  THE SSINIT (STAR SHIP LIST INIT) WILL BE CALLED
C  IF ITEM = 100 (FEDERATION STARSHIP)
C
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /SHIPS/ IUSFED(15,13)
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),IKY(8,8)
     *     ,INPUT(50),IPAD3
      CALL DBUGIN ('PLACE ENTERED',IW(13),0)
      DO 20 N = 1, NUMBER
10         INDEX = RAND(8.0)+1.0
           INDEY = RAND(8.0)+1.0
           IF (ICHART(INDEX,INDEY).GT.ILIMIT) GO TO 10
           ICHART(INDEX,INDEY) = ICHART(INDEX,INDEY)+ITEM
           IF (ITEM.NE.100) GO TO 20
           CALL SSINIT (IUSFED,INDEX,INDEY)
20    CONTINUE
      CALL DBUGIN ('PLACE EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=PLAGAN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PLAGAN (IYES)
C
C  PROMPT USER TO SEE IF THEY WISH TO PLAY ANOTHER GAME
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('PLAGAN ENTERED',IW(14),0)
      CALL PRMSG ('=====================================',IW(37))
      CALL LINEF
      CALL YESNO ('DO YOU WISH TO PLAY AGAIN  ',IW(26),26,IYES)
      CALL DBUGIN ('PLAGAN EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PLANET
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PLANET
C
C     PURPOSE - PRINT MSG SAYING WE DON'T KEEP PLANET RECORD
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('PLANET ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('BEGGING YOUR LEAVE, LORD COMMANDER, OUR COMPUTER IS',
     *     IW(51))
      CALL PRMSG ('NOT PROGRAMMED TO KEEP A RECORD OF PLANETS FOUND',
     *     IW(48))
      CALL DBUGIN ('PLANET EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PRCHRT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRCHRT
C
C  DISPLAY INFORMATION ON THE CURRENT STATUS OF THE GALAXY
C  OWNED BY THE FEDERATION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *    IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /CPU/ IBMT
C
      COMMON /TERMSZ/ IILINE
C
      DIMENSION LINE(8),IFORM(21),ICHR(2),IINT(2)
C
      DATA IFORM(1),IFORM(2),IFORM(3),IFORM(4)
     *                 / '(I2,','6H -','--  ',','/
      DATA IFORM(21) / ')'/ ,ICHR / 'A4, ','3X, '/,IDOTS/'....'/
      DATA IINT / 'I4,','3X,'/
      CALL DBUGIN ('PRCHRT ENTERED',IW(14),0)
      IF (ITTY.EQ.1) GO TO 5
      CALL LINEF
      CALL PRMSG ('CHART FOR KNOWN FEDERATION SPACE:',IW(33))
      CALL LINEF
5     CONTINUE
      CALL PRMSG (
     *  '         1      2      3      4      5      6      7      8'
     *     ,IW(59))
      IF (IBMT.EQ.1.AND.ITTY.EQ.1) GO TO 6
      CALL PRMSG (
     *'      --------------------------------------------------------'
     *  ,IW(62))
6     CONTINUE
      DO 30 N = 1, 8
           DO 20 M = 1, 8
                IC = ICHART(M,N)
                IF (IKY(M,N).EQ.1) GO TO 10
                IF (IC/1000.EQ.0.AND.IKY(M,N).LT.0) IKY(M,N) = 0
                IF (IC/1000.GT.0) IKY(M,N) = -1
                IF (IKY(M,N).EQ.-1.AND.XSRDC.GT.0.001) IKY(M,N) = 0
10              LINE(M) = IDOTS
                IFORM(3+(2*M)) = ICHR(1)
                IFORM(4+(2*M)) = ICHR(2)
                IF (IKY(M,N).EQ.0) GO TO 20
                LINE(M) = ICHART(M,N)
                IFORM(3+(2*M)) = IINT(1)
                IFORM(4+(2*M)) = IINT(2)
20         CONTINUE
           WRITE (IOUTT,IFORM) N,LINE
           IF (ITTY.NE.1) CALL LINEF
30    CONTINUE
      IF (ITTY.NE.1) CALL LINEF
      IF (IBMT.EQ.1.AND.ITTY.EQ.1) GO TO 40
      CALL PRMSM (
     *  'THE SUPERCOMMANDER KAZH CURRENTLY IN QUADRANT ',46,IW(46),
     *     ISCPY1,ISCPX1,' ',0,1)
40    CONTINUE
      CALL DBUGIN ('PRCHRT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PRHIT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRHIT (IHIT1,IHIT2,MSG,MSGLEN,MSGDIM,ISEC1,ISEC2)
C
C  DISPLAY INFORMATION ON INCOMING FIRE, NAMELY HOW STRONG WAS IT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION MSG(MSGDIM),IFORM(18),NUMS(26)
      DATA IFORM / '(2H ',       '(,I',          0,
     *             ','   ,       '1H,I',         0,
     *        ',', '2H) ',       -1,            -1,
     *             ',1X',        ',I',           0,
     *             ',' ,         '3H -',         ' ,I',
     *             0,            ')'/
      DATA NUMS / '0','1','2','3','4','5','6','7','8','9',
     *            '10','11','12','13','14','15','16','17','18','19',
     *            '20','21','22','23','24','25' /
      CALL SETFOR (MSGLEN,IFORM(9),IFORM(10))
      RL = ALOG10(FLOAT(IHIT1)+.0001)
      IFORM(3) = NUMS(2)
      IF (IHIT1.GT.1) IFORM(3) = NUMS(IFIX(RL)+2)
      RL = ALOG10(FLOAT(IHIT2)+.0001)
      IFORM(6) = NUMS(2)
      IF (IHIT2.GT.1) IFORM(6) = NUMS(IFIX(RL)+2)
      IFORM(13) = NUMS(2)
      IFORM(17) = NUMS(2)
      IF (ISEC1.GT.9) IFORM(13) = NUMS(3)
      IF (ISEC2.GT.9) IFORM(17) = NUMS(3)
      WRITE (IOUTT,IFORM) IHIT1,IHIT2,MSG,ISEC1,ISEC2
      RETURN
      END
./ ADD NAME=PRMIM
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMIM (MSG1,MSG1L,MSG1D,INUM,MSG2,MSG2L,MSG2D)
C
C  PRINT A NUMBER IN THE FORM "MSG" INTEGER "MSG"
C  NOTE THAT CALLERS WILL PASS A SINGLE BLANK FOR A MSG, IF
C  THEY WANT JUST A MSG FOLLOWED BY NUMBER OR NUMBER FOLLOWED BY MSG
C  (I.E. BOTH MESSAGES ARE ALWAYS PRESENT, BUT ONE MAY BE BLANK)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION MSG1(MSG1D),MSG2(MSG2D),IFORM(9),NUMS(20)
      DATA IFORM / '(1X,',         -1,          -1,
     *             ',I',            0,          ',1X,',
     *             -1,             -1,          ')'       /
      DATA NUMS / '0','1','2','3','4','5','6','7','8','9','10','11',
     * '12','13','14','15','16','17','18','19'/
      CALL SETFOR (MSG1L,IFORM(2),IFORM(3))
      CALL SETFOR (MSG2L,IFORM(7),IFORM(8))
      IF (INUM) 20 , 10 , 20
10    IFORM(5) = NUMS(2)
      GO TO 30
20    RL = ALOG10(ABS(FLOAT(INUM))+.0001)
      IFORM(5) = NUMS(IFIX(RL)+2)
      IF (INUM.LT.0) IFORM(5) = NUMS(IFIX(RL)+3)
30    WRITE (IOUTT,IFORM) MSG1,INUM,MSG2
      RETURN
      END
./ ADD NAME=PRMRM
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMRM (MSG1,MSG1L,MSG1D,RNUM,MSG2,MSG2L,MSG2D)
C
C  PRINT A LINE IN THE FORM "MSG" REAL NUMBER "MSG"
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION MSG1(MSG1D),MSG2(MSG2D),IFORM(10),NUMS(20)
      DATA IFORM / '(1X,',       -1,          -1,
     *             ',F',          0,          '.3,','1X,',
     *             -1,           -1,          ')'       /
      DATA NUMS / '0','1','2','3','4','5','6','7','8','9','10','11','12'
     *     ,'13','14','15','16','17','18','19'/
      CALL SETFOR (MSG1L,IFORM(2),IFORM(3))
      CALL SETFOR (MSG2L,IFORM(8),IFORM(9))
      IF (ABS(RNUM).LT..0000001) GO TO 10
      GO TO 20
10    IFORM(5) = NUMS(7)
      GO TO 40
20    RL = ALOG10(ABS(RNUM))
      IF (RL.LT.0) GO TO 30
      IFORM(5) = NUMS(IFIX(RL)+7)
      GO TO 40
30    IFORM(5) = NUMS(7)
40    WRITE (IOUTT,IFORM) MSG1,RNUM,MSG2
      RETURN
      END
./ ADD NAME=PRMSG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMSG (IMSG,IDIM)
C
C  DISPLAY A CHARACTER MSG TO OUT UNIT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION IMSG(IDIM)
      DIMENSION IFORM (4)
      DATA     IFORM /'(1X,',-1,-1,')' /
      I = IWI(IDUMMY)
      CALL SETFOR (I,IFORM(2),IFORM(3))
      WRITE (IOUTT,IFORM) IMSG
      RETURN
      END
./ ADD NAME=PRMSG1
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMSG1 (IMSG,IDIM)
C
C  DISPLAY AN ARRAY IN A1 FORMAT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION IMSG(IDIM)
      I = IDIM
      IF (I.GT.80) I = 80
      WRITE (IOUTT,50000) (IMSG(N),N=1,I)
      RETURN
50000 FORMAT (' ',80A1)
      END
./ ADD NAME=PRMSGC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMSGC(IMSG,IDIM)
C
C  DISPLAY MSG TO CERTIFICATE FILE (FT08F001)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /CPU/ IBMT
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION IMSG(IDIM)
      DIMENSION IFORM (4)
      DATA     IFORM /'(1X,',-1,-1,')' /
      I = IWI(IDUMMY)
      CALL SETFOR (I,IFORM(2),IFORM(3))
      IF (IBMT.NE.0) GO TO 10
      WRITE (IOUTT,IFORM) IMSG
10    CONTINUE
      IF (IBMT.EQ.1) WRITE (8,IFORM) IMSG
      RETURN
      END
./ ADD NAME=PRMSM
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRMSM (MSG1,MSG1L,MSG1D,ISEC1,ISEC2,MSG2,MSG2L,MSG2D)
C
C  DISPLAY A LINE IN THE FORM "MSG" SECTOR#, SECTOR# "MSG"
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION MSG1(MSG1D),MSG2(MSG2D),IFORM(12),NUMS(2)
      DATA IFORM / '(1X,',      -1,        -1,
     *             ',I',         0,        ',3H ',
     *             '- ,I',       0,        ',1X,',
     *             -1,          -1,        ')'       /
C
      DATA NUMS / '1','2'/
      CALL SETFOR (MSG1L,IFORM(2),IFORM(3))
      CALL SETFOR (MSG2L,IFORM(10),IFORM(11))
      IFORM(5) = NUMS(1)
      IFORM(8) = NUMS(1)
      IF (ISEC1.GT.9) IFORM(5) = NUMS(2)
      IF (ISEC2.GT.9) IFORM(8) = NUMS(2)
      WRITE (IOUTT,IFORM) MSG1,ISEC1,ISEC2,MSG2
      RETURN
      END
./ ADD NAME=PROMOT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PROMOT (ILEV)
C
C  IF A PLAYER WINS A GAME, PROMOTE THEM TO NEXT LEVEL
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
      DIMENSION NAME(10)
      CALL DBUGIN ('PROMOT ENTERED',IW(14),0)
      ILEVB = ILEV-2
      CALL LINEF
      CALL PRMSG (
     *  'FOR YOUR OUTSTANDING WORK, THE KLINGON HIGH COMMAND',
     *  IW(51))
      CALL PRMSG ('AWARDS YOU THE NEW RANK OF: ',IW(28))
      CALL LINEF
      IF (ILEVB) 10 , 20 , 30
10    CALL PRMSG ('      FLEET VICE-ADMIRAL EMERITUS       ',IW(40))
      GO TO 80
20    CALL PRMSG ('      FLEET ADMIRAL EMERITUS            ',IW(40))
      GO TO 40
30    CALL PRMSG ('      SUPREME FLEET ADMIRAL EMERITUS    ',IW(40))
40    CONTINUE
      CALL LINEF
      CALL YESNO ('DO YOU WANT YOUR CERTIFICATE OF MERIT PRINTED',
     *    IW(45),45,IYES)
      IF (IYES.EQ.0) GO TO 80
50    CONTINUE
      CALL LINEF
      CALL READIN ('ENTER THE NAME YOU WANT ON THE CERTIFICATE',
     *     IW(42),42,0,EOFF)
      IF (EOFF.GT..1) GO TO 50
      NAME(1) = INPUT(1)
      NAME(2) = INPUT(2)
      NAME(3) = INPUT(3)
      NAME(4) = INPUT(4)
      NAME(5) = INPUT(5)
      NAME(6) = INPUT(6)
      NAME(7) = INPUT(7)
      NAME(8) = INPUT(8)
      NAME(9) = INPUT(9)
      NAME(10)= INPUT(10)
      IF (ILEVB) 80 , 60 , 70
60    CALL CERT (NAME,IWV(40),
     * '      FLEET ADMIRAL EMERITUS            ',IW(40))
      GO TO 80
70    CALL CERT (NAME,IWV(40),
     * '      SUPREME FLEET ADMIRAL EMERITUS    ',IW(40))
80    CONTINUE
      CALL DBUGIN ('PROMOT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=PRSC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRSC (NUM,MSG,MLEN,MDIM,ISCORE)
C
C  PRINT A SCORE NUMBER FOR A PLAYER
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      DIMENSION MSG(MDIM),IVEC(7)
      DATA IVEC / '(1X,','I2,','1X,',-1,-1,',T49',',I7)'/
      CALL SETFOR (MLEN,IVEC(4),IVEC(5))
      WRITE (IOUTT,IVEC) NUM,MSG,ISCORE
      RETURN
      END
./ ADD NAME=PRTEND
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE PRTEND
C
C  DISPLAY THE OUTGOING TORPEDO INFO IN TRACKR ARRAY
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /OUTUNT/ IOUTT
      COMMON /TRACKR/ ITRKC, RTRK(15,2)
      IF (ITRKC.LT.1) GO TO 10
      WRITE (IOUTT,10000) ((RTRK(N,J),J=1,2),N=1,ITRKC)
      ITRKC = 0
      CALL LINEF
10    RETURN
10000 FORMAT (' ',F6.3,' - ',F6.3,5X,F6.3,' - ',F6.3,5X,
     *            F6.3,' - ',F6.3,5X,F6.3,' - ',F6.3)
      END
./ ADD NAME=RAND
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      REAL FUNCTION RAND (VAL)
C
C  RANDOM NUMBER GENERATOR, GENERATES A NUMBER BETWEEN 0.0 AND VAL
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      RAND = VAL*RANDF(1.0)
      CALL DBUGRN('INPUT TO RAND',IW(13),VAL)
      CALL DBUGRN('OUTPUT FROM RAND',IW(16),RAND)
      RETURN
      END
./ ADD NAME=RANDF
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION RANDF (VALUE)
C
C  GENERATE A REAL NUMBER (RANDOM) BETWEEN 0.0 AND 1.0, NOTE THIS
C  SUBROUTINE IS PSEUDO-RANDOM, TO INIT TO GET A NICE SPREAD
C  OF DIFFERENT NUMBERS, CALL THIS ROUTINE A RANDOM NUMBER OF TIMES
C  (SEE ROUTINE RANSET) FOR EXAMPLE, IF YOU GET A CLOCK FROM THE
C  SYSTEM, GENERATE SOME INTEGER NUMBER FROM THAT CLOCK, AND CALL
C  THIS ROUTINE "N" TIMES, THE RESULT WILL BE DIFFERENT SEQUENCES
C  OF NUMBERS BASED ON THE TIME OF DAY.
C
C  *NOTE* THE BASE NUMBERS IN THE DATA STATEMENT BELOW ARE VERY
C  CAREFULLY SELECTED TO GIVE A GOOD DISTRIBUTION OF RANDOM
C  NUMBERS, DO NOT CHANGE THESE NUMBERS.
C           -- --- ------ ----- -------
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      REAL VALUE
      INTEGER B,IS,NUM
      DATA IS,M,B /8,10000,2821/
      I1 = IS * B + 1
      IS = I1 - (I1/M)*M
      RNUM = FLOAT(IS/100 + 1)
      RNUM = (RNUM / 100.0) * VALUE
      IF (RNUM.GE.VALUE) RNUM=VALUE - .0001
      RANDF = RNUM
      GO TO 10
      ENTRY RANFIN
      IS = 8
      M  = 10000
      B  = 2821
10    CONTINUE
      RETURN
      END
./ ADD NAME=RANSET
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE RANSET (ICOUNT)
C
C KICK THE RANDOM NUMBER GENERATOR TO GET DIFFERENT STRINGS OF
C RANDOM NUMBERS BASED ON "ICOUNT"
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL RANFIN
      I = MOD(ICOUNT,1000)
      DO  10 N=1,I
           CALL RAND(1.0)
10    CONTINUE
      RETURN
      END
./ ADD NAME=READIN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE READIN (IPROM,IPDIM,IPLENC,IALEN,EOFF)
C
C   GET A STRING FROM THE USER, BASED ON IALEN SEE WHETHER THEY WANT
C   A4 FORMAT OR A1 FORMAT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /FSBUFF/ NPROML, NPROMT(20), NREAD(13),
     *     NHEAD(20,12), NCOUNT, NWORK(20,200)
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
      COMMON /CPU/ IBMT
C
      COMMON /Z3270/ IF12(13), IF50(50)
C
      DIMENSION IPROM(IPDIM)
C
      CALL DBUGIN ('READIN ENTERED',IW(14),0)
      EOFF = 0.0
      IF (IBMT.EQ.1) GO TO 100
      CALL PRMSG (IPROM,IW(IPDIM*4))
      CALL PRMSG ('?   ',IW(4))
      IF (IALEN.NE.1) GO TO 40
      READ (5,50000,END=50) (INPUT(N),N=1,50)
C
C  KLUDGE BELOW TO GET AROUND CHEAP FORTRAN COMPILER BUG NOT BEING
C  TO HANDLE INPUT PROPERLY
C
      N = 50
44    CONTINUE
      IF (INPUT(N).NE.ICRBLK) GO TO 45
      N = N - 1
      GO TO 44
45    CONTINUE
      IF (INPUT(N).EQ.ICRMIN) INPUT(N) = ICRBLK
C
C  END OF KLUDGE (REMOVE IF NOT NEEDED)
C
      CALL DBUGCH('READIN-50A1',IW(11),INPUT,50)
      GO TO 60
40    CONTINUE
      READ (5,50010,END=50) (INPUT(N),N=1,12)
      CALL DBUGCH('READIN-12A4',IW(11),INPUT,12)
      GO TO 60
50    EOFF = 1.0
60    CONTINUE
      CALL DBUGIN ('READIN EXITED',IW(13),0)
      RETURN
100   CONTINUE
      DO 110 N=1, IPDIM
      NPROMT(N) = IPROM(N)
110   CONTINUE
      NPROML = IPLENC
      CALL XFILLB
      CALL FSIO1
      IF (IALEN.NE.1) GO TO 140
      DO 115 N=1, 50
          INPUT(N) = IF50(N)
115   CONTINUE
      GO TO 60
140   CONTINUE
      DO 145 N=1, 12
          INPUT(N) = IF12(N)
145   CONTINUE
      GO TO 60
C
50000 FORMAT (50A1)
50010 FORMAT (12A4)
C
      END
./ ADD NAME=REPAIR
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE REPAIR (TME)
C
C  BASED ON THE TIME USED UP, REPAIR BROKEN DEVICES ON THE SHIP
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
      DIMENSION DEV(8)
      EQUIVALENCE (DEV(1),XCDC)
      DATA IZDOWN / 'DOWN'/ ,IZDAMG / 'DAMG'/
      CALL DBUGIN ('REPAIR ENTERED',IW(14),0)
      CALL CORAND (TME)
      DO 10 N = 1, 8
           DEV(N) = DEV(N)-TME
           IF (DEV(N).GT..0009999) GO TO 10
           DEV(N) = 0.0
10    CONTINUE
      IF (XDSDC.LE.0.001.AND.ISHUPD.EQ.IZDAMG) ISHUPD = IZDOWN
      CALL DBUGIN ('REPAIR EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=RESORT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE RESORT (IARX,IARY,IACX,IACY,ILEN)
C
C  CHANGE THE ORDER IN WHICH INCOMING FEDERATION FIRE IS RECEIVED
C  SO USER CANNOT GUESS WHICH SHIP WILL FIRE FIRST
C  (SO IT IS MORE LIKE REAL BATTLE "FIRE AT WILL")
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION IARX(9),IARY(9),IACX(9),IACY(9)
      CALL DBUGIN ('RESORT ENTERED',IW(14),0)
      IR = RAND(FLOAT(ILEN))+1.0
      ICP = 1
      DO 10 N = IR, ILEN
           IACX(ICP) = IARX(N)
           IACY(ICP) = IARY(N)
           ICP = ICP+1
10    CONTINUE
      IF (IR.EQ.1) GO TO 30
      IR = IR-1
      DO 20 N = 1, IR
           IACX(ICP) = IARX(N)
           IACY(ICP) = IARY(N)
           ICP = ICP+1
20    CONTINUE
30    CONTINUE
      CALL DBUGIN ('RESORT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SCAN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SCAN (IN)
C
C  IF A QUADRANT HAS A SUPERNOVA IN IT, MAKE SURE THAT "GHOST"
C  SHIPS ARE NOT GENERATED (RESET THOSE COUNTERS TO ZERO)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
      CALL DBUGIN ('SCAN ENTERED',IW(12),0)
      ICOMM2 = IN/1000
      IFED2 = MOD(IN/100,10)
      IF (IN.NE.9999) GO TO 10
      ICOMM2 = 0
      IFED2 = 0
10    CONTINUE
      CALL DBUGIN ('SCAN EXITED',IW(11),0)
      RETURN
      END
./ ADD NAME=SCORE
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SCORE (REMAIN)
C
C  DISPLAY THE USER'S SCORE BASED ON WHAT THEY KILLED
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      CALL DBUGIN ('SCORE ENTERED',IW(13),0)
      CALL LINEF
      CALL PRMSG ('YOUR SCORE:',IW(11))
      CALL LINEF
      ISCORE = 0
      IF (IKCC.EQ.0) GO TO 2580
      IKCCS = -75*IKCC
      CALL PRSC (IKCC,'COMMANDERS DESTROYED',20,IW(20),IKCCS)
      ISCORE = ISCORE+IKCCS
2580  IF (IFSC.EQ.0) GO TO 2590
      IFSCS = IFSC*100
      CALL PRSC (
     *  IFSC,'FEDERATION STARSHIPS DESTROYED  ',30,IW(30),IFSCS)
      ISCORE = ISCORE+IFSCS
2590  IF (ISBC.EQ.0) GO TO 2600
      ISBCS = ISBC*200
      CALL PRSC (
     *  ISBC,'FEDERATION STARBASES DESTROYED  ',30,IW(30),ISBCS)
      ISCORE = ISCORE+ISBCS
2600  IF (IPLC.EQ.0) GO TO 2610
      IPLCS = IPLC/3
      CALL PRMIM (
     *  'SCORE FOR PLANETS DESTROYED                       ',
     *  50,IW(50),IPLCS,' ',0,1)
      ISCORE = ISCORE+IPLCS
2610  IF (IDIE.EQ.1) GO TO 2620
      TBONUS = REMAIN*2000.0
      IT = IFIX(TBONUS)
      IT2 = ILEV*10000
      ISCORE = ISCORE+IT+IT2
      CALL PRMIM (
     *  'TIME BONUS                                        ',
     *     50,IW(50),IT,' ',0,1)
      CALL PRMIM (
     *  'WIN BONUS                                         ',
     *     50,IW(50),IT2,' ',0,1)
      GO TO 2630
2620  ISCORE = ISCORE-1000
      IP = -1000
      CALL PRMIM (
     *  'PENALTY FOR LOSING YOUR SHIP AND DYING            ',
     *     50,IW(50),IP,' ',0,1)
2630  CONTINUE
      CALL LINEF
      CALL PRMIM (
     *  'YOUR SCORE                                         ',
     *     50,IW(50),ISCORE,' ',0,1)
      CALL LINEF
      CALL LINEF
      CALL DBUGIN ('SCORE EXITED',IW(12),0)
      RETURN
      END
./ ADD NAME=SECSET
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SECSET
C
C  AT ENTRY TO SECTOR, CREATE THE MAP OF THE SECTOR FOR THE PLAYER
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      DIMENSION ISECDT(100),NSEC(100),IC2(7),NUMS(7)
C
      DIMENSION ISECCY(100),ICLIST(5),NLIST(5)
C
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),NCX(
     *     9),NCY(9)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /HURT/ NOCALL,IPLENG,IPBASE,IFED2,ICOMM2
C
      EQUIVALENCE (ISECCY(1),ISECT(1,1)) , (NLIST(1),NSTARS) , (NSEC(1),
     *     NSECE(1,1)) , (ISECDT(1),ISECT(1,1))
C
      DATA IC2 / '*','S','#','C','F','P','B'/
C
      DATA NUMS / -200000000,100000000,-99999999,-5800,0,0,0 / ,ICRDOT /
     *      '.'/
C
      DATA ICLIST / '*','P','B','F','C'/
C
      CALL DBUGIN ('SECSET ENTERED',IW(14),0)
      NUMS(7) = ISBSET(DUMMY)
      DO 10 N1 = 1, 100
           ISECCY(N1) = ICRDOT
10    CONTINUE
      IX1 = (ISCPY2-1)*10+ISCPX2
      ISECCY(IX1) = IC2(2)
      DO 40 N = 1, 5
           IF (NLIST(N).EQ.0) GO TO 40
           J = NLIST(N)
           DO 30 NX = 1, J
20              IXX = IFIX(RAND(100.0)+1.0)
                IF (ISECCY(IXX).NE.ICRDOT) GO TO 20
                ISECCY(IXX) = ICLIST(N)
30         CONTINUE
40    CONTINUE
      IF (RAND(1.0).LE.0.6) GO TO 70
      NBH = RAND(3.0)+1.0
      DO 60 N4 = 1, NBH
50         IX1 = RAND(100.0)+1.0
           IF (ISECCY(IX1).NE.ICRDOT) GO TO 50
           ISECCY(IX1) = IC2(3)
60    CONTINUE
70    INPL = IPLNET(ISCPX1,ISCPY1)
      INPLC = INPL
      IF (INPLC.EQ.0) GO TO 80
      IPOP = 0
      IDIL = 0
      INPLC = INPLC/10
      NUMS(6) = -100000000
      IF (INPLC.GT.9999) IDIL = 1
      IPOP = INPLC
      IF (INPLC.GT.9999) IPOP = (INPLC-10000)
      IF (IPOP.GT.0) NUMS(6) = NUMS(6)-200000000
      IF (IPOP.GT.7000) NUMS(6) = NUMS(6)-100000000
      IF (IPOP.GT.0.AND.IDIL.EQ.1) NUMS(6) = NUMS(6)-100000000
      GO TO 90
80    NUMS(6) = 0
90    NUMS(5) = IFEDST(DUMMY)
      DO 120 N5 = 1, 100
           IF (ISECDT(N5).EQ.ICRDOT) GO TO 110
           DO 100 N6 = 1, 7
                IF (ISECDT(N5).NE.IC2(N6)) GO TO 100
                NSEC(N5) = NUMS(N6)
                GO TO 120
100        CONTINUE
110        NSEC(N5) = 0
120   CONTINUE
C
      IPLENG = NUMS(6)
      IPBASE = NUMS(7)
      IOVER = 0
      NOCALL = 0
      CALL SSPRNT (0)
      CALL BATTLE
      CALL DBUGIN ('SECSET EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SENDEC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SENDEC (IPLVLD)
C
C  DISPLAY INFORMATION ABOUT A PLANET IN THE QUADRANT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('SENDEC ENTERED',IW(14),0)
      IPLVAL = IPLVLD
      CALL LINEF
      IF (IPLVAL.EQ.0) GO TO 10
      CALL LOCATE (KZP,IIXP,IIYP)
      CALL PRMSM ('PLANET AT: ',11,IW(11),IIYP,IIXP,' ',0,1)
      POP = 0.0
      IPLVAL = IPLVAL/10
      IF (IPLVAL.GT.9999) POP = FLOAT(IPLVAL-10000)
      IF (IPLVAL.LE.9999) POP = FLOAT(IPLVAL)
      POP = POP/1000.0
      CALL PRMRM (
     *  'HAS A POPULATION OF ',20,IW(20),POP,'BILLION,',8,IW(8))
      IF (IPLVAL.GT.9999)
     *          CALL PRMSG ('AND HAS DILITHIUM CRYSTALS',IW(26))
      IF (IPLVAL.LE.9999)
     *          CALL PRMSG ('AND HAS NO DILITHIUM CRYSTALS',IW(29))
      GO TO 20
10    CALL PRMSG ('NO PLANET IN THIS QUADRANT',IW(26))
20    CONTINUE
      CALL DBUGIN ('SENDEC EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SETFED
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SETFED (LQX,LQY,LSX,LSY,NAME,ICAPTN,ITYPE,ISEQ,
     *                   IDNAME,IDCAPT,IDTYPE)
C
C  INIT THE INFO ABOUT SHIP NAMES AND CAPTAIN NAMES
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /SHIPS/ IUSFED(15,13)
      DIMENSION NAME(IDNAME),ICAPTN(IDCAPT),ITYPE(IDTYPE)
      CALL DBUGIN ('SETFED ENTERED',IW(14),0)
      IUSFED (1,ISEQ) = LQX
      IUSFED (2,ISEQ) = LQY
      IUSFED (3,ISEQ) = LSX
      IUSFED (4,ISEQ) = LSY
      IUSFED (5,ISEQ) = NAME(1)
      IUSFED (6,ISEQ) = NAME(2)
      IUSFED (7,ISEQ) = NAME(3)
      IUSFED (8,ISEQ) = ICAPTN(1)
      IUSFED (9,ISEQ) = ICAPTN(2)
      IUSFED (10,ISEQ)= ICAPTN(3)
      IUSFED (11,ISEQ)= ICAPTN(4)
      IUSFED (12,ISEQ)= ICAPTN(5)
      IUSFED (13,ISEQ)= ITYPE(1)
      IUSFED (14,ISEQ)= ITYPE(2)
      IUSFED (15,ISEQ)= ITYPE(3)
      CALL DBUGIN ('SETFED EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SETFOR
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SETFOR (ILEN,IPOS1C,IPOS2C)
C
C  SET FORMAT STATEMENT FOR A GIVEN LENGTH STRING
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION IXA04(25),IAX(4)
      DATA IXA04 / '1A4','2A4','3A4','4A4','5A4','6A4',
     *     '7A4','8A4','9A4','10A4','11A4','12A4','13A4','14A4',
     *     '15A4','16A4','17A4','18A4','19A4','20A4','21A4','22A4',
     *     '23A4','24A4','25A4' /
      DATA IBLK / ' '/,IHOLDR /'1X'/
      DATA IAX / ' ',',A1 ',',A2 ',',A3 '/
      IL = ILEN
      IF (IL.LT.1) IL = 1
      IPOS1 = IHOLDR
      IPOS2 = IBLK
      IF (IL.LE.0) GO TO 20
      IREMAN = MOD (IL,4)
      IL = IL - IREMAN
      IF (IL.LE.0) GO TO 10
      IPOS1 = IXA04(IL/4)
10    CONTINUE
      IPOS2 = IAX(IREMAN+1)
20    CONTINUE
      IPOS1C = IPOS1
      IPOS2C = IPOS2
      RETURN
      END
./ ADD NAME=SHECON
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SHECON
C
C  AUTOMATIC SHIELD CONTROL TO RAISE AND LOWER SHIELDS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8),INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      DATA IZGRE / 'GREE'/ ,IZDOWN / 'DOWN'/
      DATA IZRED / 'RED'/ ,IZUP / 'UP'/
      DATA IZDAMG / 'DAMG'/
C
      CALL DBUGIN ('SHECON ENTERED',IW(14),0)
      IF (IOVER.NE.0) GO TO 30
      J = ICROG(ICHART(ISCPX1,ISCPY1))
      IF (J.EQ.IZGRE.AND.ISHUPD.EQ.IZDOWN) GO TO 30
      IF (J.EQ.IZRED.AND.ISHUPD.EQ.IZUP) GO TO 30
      CALL LINEF
      IF (J.EQ.IZGRE) GO TO 60
      CALL PRMSG ('ENTERING BATTLE ZONE - BATTLE STATIONS',IW(38))
      CALL ADDQUE ('REDB')
      IF (ISHUPD.EQ.IZDAMG.OR.ISHENG.EQ.0.OR.ENERGY.LT.50.0) GO TO 40
      IF (ISHENG.LT.1250) GO TO 50
      IF (ENERGY.LT.800.0) GO TO 50
10    CALL LINEF
      CALL PRMSG (
     *  'AUTOMATIC DEFLECTOR SHIELD CONTROL ACTIVATED',IW(44))
      CALL PRMSG ('SHIELDS RAISED.',IW(15))
      ENERGY = ENERGY-50.0
      ISHUPD = IZUP
      IOVER = 1
20    CALL LINEF
30    CONTINUE
      GO TO 70
40    CALL PRMSG ('SHIELDS NOT CURRENTLY USABLE.',IW(29))
      IOVER = 1
      GO TO 20
50    CALL PRMRM ('CURRENT ENERGY = ',17,IW(17),ENERGY,' ',0,1)
      CALL PRMIM ('CURRENT SHIELD ENERGY = ',24,IW(24),
     *        ISHENG,' ',0,1)
      CALL YESNO ('DO YOU WISH TO RAISE SHIELDS',IW(28),28,IYES)
      IF (IYES.EQ.0) GO TO 20
      IF (IYES.EQ.1) GO TO 10
60    IF (ISHUPD.EQ.IZDAMG) GO TO 70
      CALL PRMSG (
     *  'AUTOMATIC DEFLECTOR SCREEN CONTROL ACTIVATING',IW(45))
      CALL PRMSG ('SHIELDS DROPPED.',IW(16))
      ISHUPD = IZDOWN
      GO TO 20
70    CONTINUE
      CALL DBUGIN ('SHECON EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SHIFT
         TITLE 'SHIFT ROUTINE'
**********************************************************************
*
*  ROUTINE SHIFT - COMPUTE ALLOWED TIME TO PLAY GAME
*
**********************************************************************
SHIFT    CSECT                          INITIALIZATION
         STM   R14,R12,12(R13)          STORE REGS IN SUPPLIED SAVEAREA
         LR    R12,R15                  ESTABLISH ADDRESSABILITY
         USING SHIFT,R12                WE GOT IT
         ST    R13,SAVEAREA+4           NON-RENT, NO BIG DEAL HERE
         LA    R15,SAVEAREA             SET FORWARD/BACKWORD POINTERS
         ST    R15,8(,R13)                 *
         LA    R13,SAVEAREA                *
*
* 1) INIT THE COUNTERS FOR PROGRAM (AT LEAST MAKE PROGRAM "REUS")
*
         MVC   JULDAT,=C'000000'        DISPLAY ZERO
         MVC   GREGDAT,=C'000000'         *
         MVI   DAY,C'0'
*
* 2) CALL JULIAN ROUTINE TO GET DAY OF WEEK
*
         OI    PARMS+8,X'80'            FLIP ON VL BIT
         LA    R1,PARMS                 SET UP CALL
         L     R15,=V(JULIAN)           AND THE JULIAN ROUTINE
         BALR  R14,R15                  GO GET THE DATE/DAY
*
* 3) GET THE DAY OF THE WEEK
*
         SR    R3,R3                    CLEAR REG FOR IC
         IC    R3,DAY                   GET ONE BYTE DAY
         S     R3,=X'000000F0'          STRIP OFF FIRST NIBBLE
         LTR   R3,R3                    CHECK RESULT
         BZ    OKSHIFT                  IF DAY UNKNOWN, LET THEM GO
         BCTR  R3,0                     SUBTRACT ONE
         LR    R4,R3                    COPY VALUE
         MH    R4,=AL2($TABELEN)        AND NOW IT'S DISPLACEMENT
         L     R3,=V(SHIFTAB)           LOAD ADDRESS OF SHIFT TABLE
         L     R9,=V(INFOSH)            ADDRESS OF INFO SHIFT TABLE
         USING $DISPLAY,R9
         MVC   $DSTART,=CL8'00:00   '
         MVC   $DSTOP,=CL8'00:00   '
         LA    R3,0(R3,R4)              POINT AT ENTRY
         USING $TIMETAB,R3
         LH    R1,$STARTOK
         ST    R1,FWORD
         UNPK  DUMMY(9),FWORD(5)
         TR    DUMMY(8),TRANTAB
         MVC   $DSHOUR,DUMMY+4          FILL IN HOURS
         MVC   $DSMIN,DUMMY+6           AND MIN
         LH    R1,$STOPOK
         ST    R1,FWORD
         UNPK  DUMMY(9),FWORD(5)
         TR    DUMMY(8),TRANTAB
         MVC   $DPHOUR,DUMMY+4
         MVC   $DPMIN,DUMMY+6
         MVC   $ITYPE,$IFLAG
         TIME  DEC
         ST    R0,WORKTIME              SAVE THE TIME
         CLC   WORKTIME(2),$STARTOK     IN OK TIME?
         BNH   OUTSHIFT                 CURRENT TIME MUST BE > START
         CLC   WORKTIME(2),$STOPOK      BEFORE STOP TIME?
         BH    OUTSHIFT                 CUREENT TIME MUST BE < STOP
OKSHIFT  DS    0H
         CLC   $IFLAG,=C'EXCL'          IS EXCLUDE FLAG SET
         BE    SETOUT                   OVERRIDE OK, HE'S INSIDE EXCL
SETOK    DS    0H
         L     R1,=V(SHIFTF)            COMMON TO RETURN SHIFT IN
         MVC   0(4,R1),=F'1'            MUST BE OK SET TO ONE
         B     RETURN
OUTSHIFT DS    0H
         CLC   $IFLAG,=C'EXCL'          IS EXCLUDE FLAG SET
         BE    SETOK                    IF SO, OVERRIDE OUTSHIFT
SETOUT   DS    0H
         L     R1,=V(SHIFTF)            COMMON TO RETURN SHIFT IN
         XC    0(4,R1),0(R1)            SET ZERO
         B     RETURN
*
* 9) RESTORE REGS AND RETURN
*
RETURN   DS    0H
         L     R13,SAVEAREA+4           GET ORIGINAL REGISTER 13
         LM    R14,R12,12(R13)          RESTORE INPUT REGISTERS
         SR    R15,R15                  SET RETURN CODE
         BR    R14                      AND RETURN ...
         EJECT
         LTORG
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
*
*   WORK AREAS (NON-RENT CODE)
*
SAVEAREA DS    9D                       REG SAVE AREA
JULDAT   DS    CL5                      USAGE IS DISPLAY
GREGDAT  DS    CL6                      USAGE IS DISPLAY
DAY      DS    CL1                      USAGE IS DISPLAY
PARMS    DC    A(JULDAT,GREGDAT,DAY)
WORKTIME DS    A
TRANTAB  DS    CL(X'F0')
         DC    C'0123456789ABCDEF'
FWORD    DS    F,CL1
DUMMY    DS    CL9
$TIMETAB DSECT
$STARTOK DS    XL2
$STOPOK  DS    XL2
$IFLAG   DS    CL4
$TABELEN EQU   *-$STARTOK
$WHOLET  EQU   $TABELEN*7
$DISPLAY DSECT
$DSTART  DS    0CL8
$DSHOUR  DS    CL2
$C1      DS    CL1
$DSMIN   DS    CL2
$FILL1   DS    CL3
$DSTOP   DS    0CL8
$DPHOUR  DS    CL2
$C2      DS    CL1
$DPMIN   DS    CL2
$FILL2   DS    CL3
$ITYPE   DS    CL4
         END
./ ADD NAME=SHIFTAB
SHIFTAB CSECT
***********************************************************************
*
*  SHIFT TABLE DATA CSECT
*
*  INSTRUCTIONS FOR CODING AND USE
*
*  THERE ARE SEVEN ENTRIES BELOW, ONE FOR EACH DAY OF THE WEEK
*  (SUNDAY IS ALWAYS FIRST, THE LABEL IS FOR DOC ONLY)
*
*  THE FORMAT OF EACH TABLE ENTRY
*
*  FIRST TWO BYTES = HEX FORM HOUR AND MINUTE (EXAMPLE X'1200'=NOON)
*                    FOR THE START TIME FOR THE "SHIFT" TODAY
*
*  SECOND TWO BYTES = HEX FORM "HHMM" FOR THE STOP TIME FOR THE
*                     "SHIFT" TODAY
*
*  +4 BYTES, LENGTH 4 = MODIFIER FOR THE SHIFT, "INCL" MEANS
*                       THE GIVEN SHIFT IS THE SHIFT IN WHICH
*                       PLAY IS ALLOWED.
*
*                       "EXCL" MEANS THIS IS THE SHIFT IN WHICH
*                       PLAY IS *NOT* ALLOWED.
*
*
*   EXAMPLES:
*   =========
*
*   SUN  DC  XL2'0000',XL2'2400',C'INCL' = ALLOW PLAY ALL DAY
*
*   MON  DC  XL2'0000',XL2'2400',C'EXCL' = PREVENT PLAY ALL DAY
*
*   TUE  DC  XL2'0800',XL2'1700',C'ECXL' = PREVENT PLAY FROM 8 TO 5
*
*
*   THE SUPPLIED DEFAULT IS ALLOW PLAY ALL THE TIME.
*
***********************************************************************
SUN     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
MON     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
TUE     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
WED     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
THU     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
FRI     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
SAT     DC  XL2'0000',XL2'2400',C'INCL'        MIDNIGHT TO 2400
        DC  XL2'FFFF',XL2'FFFF',C'    '        END OF TABLE
        END
./ ADD NAME=SHIFTC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SHIFTC (IFLAG)
C
C  CHECK THE SHIFT TO SEE IF A PLAYER CAN PLAY DURING THIS TIME
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /SHIFTF/ ISHIFT
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /INFOSH/ ISTART(2), ISTOP(2), IXC
C
      CALL DBUGIN ('SHIFTC ENTERED',IW(14),0)
      CALL SHIFT
      IF (ISHIFT.EQ.1) GO TO 100
      CALL LINEF
      CALL PRMSG ('YOU ARE NOT IN THE ALLOWED SHIFT ',IW(33))
      CALL PRMSG ('TRY AGAIN NON-PRIME TIME.        ',IW(33))
      CALL LINEF
      CALL LINEF
      CALL PRMSG
     * ('VALID HOURS FOR TODAY  INCL=INCLUSIVE,EXCL=EXCLUSIVE ',IW(52))
      CALL LINEF
      CALL PRMSG ('START TIME:',IW(11))
      CALL PRMSG (ISTART,IWV(8))
      CALL LINEF
      CALL PRMSG ('STOP  TIME:',IW(11))
      CALL PRMSG (ISTOP,IWV(8))
      CALL LINEF
      CALL PRMSG (IXC,IWV(4))
      CALL LINEF
100   CONTINUE
      IFLAG = ISHIFT
      CALL DBUGIN ('SHIFTC EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SHIP
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SHIP
C
C  WRITE A PRETTY KLINGON SHIP TO THE CERTIFICATE FILE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('SHIP ENTERED',IW(12),0)
      WRITE (8,50000)
      WRITE (8,50010)
      WRITE (8,50020)
      WRITE (8,50030)
      WRITE (8,50040)
      WRITE (8,50050)
      WRITE (8,50060)
      WRITE (8,50070)
      WRITE (8,50080)
      WRITE (8,50090)
      WRITE (8,50090)
      WRITE (8,50080)
      CALL DBUGIN ('SHIP EXITED',IW(11),0)
      RETURN
C
50000 FORMAT (3X,7X,'*****************')
50010 FORMAT (3X,4X,'**********************',42X,'*****')
50020 FORMAT (3X,1X,'***********************',40X,'***********')
50030 FORMAT (3X,4X,'********',
     *12X,'*********************************',
     *'*******           *')
50040 FORMAT (3X,10X,'*',13X,'*********************************',
     *19X,'*')
50050 FORMAT (3X,9X,'**************',34X,'******',13X,'*')
50060 FORMAT (3X,11X,'*',11X,'*',39X,'*******',5X,'*')
50070 FORMAT (3X,13X,'*',10X,'*',45X,'*****')
50080 FORMAT (3X,5X,'***********************')
50090 FORMAT (3X,5X,'*',22X,'*')
C
      END
./ ADD NAME=SR3270
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SR3270
C
C  PURPOSE: SET UP CALL TO SRSCAN ROUTINE FOR 3270 TSO TERM
C  THIS ROUTINE WILL ONLY BE CALLED IF CPU=1 (TSO)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /SRCOPY/ ISCOP(10,10)
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     * IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,
     * ET,ISECT(10,10),TVX,TVY,ICMC
C
      CALL DBUGIN ('SR3270 ENTERED',IW(14),0)
      IF (XSSDC.GT.0.001) GO TO 470
      IKY(ISCPX1,ISCPY1) = 1
      CALL SRSCAN (1,1,ISECT)
      DO 460 J = 1, 10
           DO 460 I = 1, 10
                ISCOP(I,J) = ISECT(I,J)
460   CONTINUE
      GO TO 150
470   CONTINUE
      CALL SRSCAN (-1,-1,ISCOP)
150   CONTINUE
      CALL DBUGIN ('SR3270 EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SRS
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SRS
C
C  PURPOSE: CHECK FOR SRSCAN PARMS AND ISSUE THE CALLS
C  THIS ROUTINE WILL *NOT* BE CALLED IF CPU=1 (TSO)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /SRCOPY/ ISCOP(10,10)
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     * IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,
     * ET,ISECT(10,10),TVX,TVY,ICMC
C
      CALL DBUGIN ('SRS ENTERED',IW(11),0)
      IF (XSSDC.GT.0.001) GO TO 470
      IKY(ISCPX1,ISCPY1) = 1
      CALL BRIDGE (N2)
      IF (N2.GT.50) GO TO 440
      CALL SRSCAN (0,1,ISECT)
      GO TO 450
440   CONTINUE
      CALL SRSCAN (1,1,ISECT)
450   CONTINUE
      DO 460 J = 1, 10
           DO 460 I = 1, 10
                ISCOP(I,J) = ISECT(I,J)
460   CONTINUE
      ISSAVE = 1
      GO TO 150
470   CONTINUE
      CALL PRMSG ('SHORT RANGE SCANNERS NON-OPERATIONAL  ',IW(36))
      CALL LINEF
      IF (ISSAVE.NE.1) GO TO 150
      CALL PRMSG ('***** COPY OF LAST SHORT RANGE SCAN *****',IW(41))
      CALL SRSCAN (0,1,ISCOP)
      GO TO 150
150   CONTINUE
      CALL DBUGIN ('SRS EXITED',IW(10),0)
      RETURN
      END
./ ADD NAME=SRSCAN
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SRSCAN (ISTAT,ISRS,ISCAN)
C
C  DISPLAY FORMATED INFORMATION ABOUT THE QUADRANT WE ARE IN
C  IF ISTAT = -1 AND ISCAN = -1 THEN THIS IS "COPY" OF LAST SRS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /DEVICE/ XCDC,XSRDC,XIEDC,XLRDC,XWEDC,XDSDC,XSSDC,XPTDC
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /INFO/ ICOND(2),ENERGY,ISHUPD,ISHENG,IAPDEV,IPOF,IOVER
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      COMMON /CPU/ IBMT
C
      COMMON /OUTUNT/ IOUTT
C
      DIMENSION ISCAN(10,10)
      DIMENSION IAPIND(2),IPTZ(2),IZARM(2), IZREAD(2),IZDAMG(2)
C
      DATA IBLK / ' '/ ,IYES / 1 / ,IZARM / 'ARME','D'/,IZOFF / 'OFF'/
      DATA IZREAD / 'READ','Y'/ ,IZOUT / 'OUT'/
      DATA IZDAMG / 'DAMA','GED'/
C
      CALL DBUGIN ('SRSCAN ENTERED',IW(14),0)
      NSDAM = 0
      IF (IBMT.EQ.0) CALL LINEF
      IOUT = IOUTT
      IF (IBMT.EQ.1) IOUT = IOUT - 1
      IPTZ(1) = IZREAD(1)
      IPTZ(2) = IZREAD(2)
      IF (XPTDC.LE.0.001) GO TO 5
      IPTZ(1) = IZDAMG(1)
      IPTZ(2) = IZDAMG(2)
5     CONTINUE
      IF (ITORCT.NE.0) GO TO 6
      IPTZ(1) = IZOUT
      IPTZ(2) = IBLK
6     CONTINUE
      REMAIN = TGIVEN-CSDATE
      IAPIND(1) = IZARM(1)
      IAPIND(2) = IZARM(2)
      IF (IAPDEV.EQ.1) GO TO 7
      IAPIND(1) = IZOFF
      IAPIND(2) = IBLK
7     CONTINUE
      ISHPCT = IFIX(FLOAT(ISHENG)/25.0)
      IF (ISTAT.NE.-1.OR.ISRS.NE.-1) GO TO 8
      NSDAM = IYES
      GO TO 30
8     CONTINUE
      IF (ISTAT.EQ.IYES.AND.ISRS.EQ.IYES) GO TO 30
      IF (ISTAT.NE.IYES.AND.ISRS.EQ.IYES) GO TO 20
      IF (ISTAT.EQ.IYES.AND.ISRS.NE.IYES) GO TO 10
      GO TO 30
C
C----------
C  STATUS ONLY AT THIS POINT.
C----------
C
10    WRITE (IOUT,50010)
     *     ITORCT,IPTZ,ISCPY1,ISCPX1,ISCPY2,ISCPX2,CSDATE,
     *     REMAIN,ICOND,IAPIND,ENERGY,ISHUPD,ISHPCT,ISHENG,WFACT,ISB,IFS
     *     ,IKC
      GO TO 40
C
C----------
C  SHORT FORM SRS
C----------
C
20    CONTINUE
      WRITE (IOUT,50000)
      WRITE (IOUT,50020) ((ISCAN(J,I),J=1,10),I=1,10)
      GO TO 40
C
C----------
C  LONG FORM SRS
C----------
C
30    CONTINUE
      WRITE (IOUT,50000)
      WRITE (IOUT,50030)
     *      (ISCAN(J,1),J=1,10),ITORCT,IPTZ,(ISCAN(J,2),J=1,10),
     *     ISCPY1,ISCPX1,ISCPY2,ISCPX2,(ISCAN(J,3),J=1,10),CSDATE,
     *     (ISCAN(J,4),J=1,10),REMAIN,(ISCAN(J,5),J=1,10),ICOND,IAPIND,
     *    (ISCAN(J,6),J=1,10),ENERGY,(ISCAN(J,7),J=1,10),ISHUPD,ISHPCT,
     *     ISHENG,(ISCAN(J,8),J=1,10),WFACT,(ISCAN(J,9),J=1,10),ISB,IFS,
     *     (ISCAN(J,10),J=1,10),IKC
      IF (NSDAM.EQ.IYES) WRITE (IOUT,50040)
      WRITE (IOUT,50050)
40    CONTINUE
      CALL DBUGIN ('SRSCAN EXITED',IW(13),0)
      RETURN
C
50000 FORMAT (1X,'   1 2 3 4 5 6 7 8 9 10 ')
50010 FORMAT (2X,'TORPEDOES',4X,I3,2X,'CONDITION:',2X,
     * A4,A3/ 2X,'POSITION',4X,I2,' - ',I2,',',I2,
     *' - ',I2/2X,'STARDATE',3X,F8.2/
     * 2X,'REMAINING',3X,F8.2/2X,'CONDITION',3X,2A4,
     * '  A.P.D. ',A4,A1/2X,'ENERGY',6X,F9.2/
     * 2X,'SHIELDS',6X,A4,2X,I3,' PCT ',I5,' UNTS'/
     * 2X,'WARP FACTOR ',F6.2/2X,
     * 'FEDERATION BASES ',I2,'  STARSHIPS ',I2/2X,
     * 'COMMANDERS   ',I2//)
C
50020 FORMAT (' 1  ',10(A1,1X)
     * / ' 2  ',10(A1,1X)/
     * ' 3  ',10(A1,1X)/' 4  ',10(A1,1X)/
     * ' 5  ',10(A1,1X)/
     * ' 6  ',10(A1,1X)/' 7  ',10(A1,1X)/
     * ' 8  ',10(A1,1X)/' 9  ',10(A1,1X)/
     * ' 10 ',10(A1,1X))
C
50030 FORMAT (' 1  ',10(A1,1X),2X,'TORPEDOES',4X,I3,2X,'CONDITION:',2X,
     * A4,A3/ ' 2  ',10(A1,1X),2X,'POSITION',4X,I2,' - ',I2,',',I2,
     *' - ',I2/' 3  ',10(A1,1X),2X,'STARDATE',3X,F8.2/' 4  ',10(A1,1X),
     * 2X,'REMAINING',3X,F8.2/' 5  ',10(A1,1X),2X,'CONDITION',3X,2A4,
     * '  A.P.D. ',A4,A1/' 6  ',10(A1,1X),2X,'ENERGY',6X,F9.2/' 7  ',
     * 10(A1,1X),2X,'SHIELDS',6X,A4,2X,I3,' PCT ',I5,' UNTS'/' 8  ',
     * 10(A1,1X),2X,'WARP FACTOR ',F6.2/' 9  ',10(A1,1X),2X,
     * 'FEDERATION BASES ',I2,'  STARSHIPS ',I2/' 10 ',10(A1,1X),2X,
     * 'COMMANDERS   ',I2)
50040 FORMAT
     *(' +++ SCANNERS DAMAGED, COPY OF LAST SCAN *** (STATUS CURRENT)')
50050 FORMAT (//)
      END
./ ADD NAME=SSDEST
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSDEST (ISHIPS,IQX,IQY,ISX,ISY,INAME)
C
C  GET NAME OF DESTROYED FEDERATION STARSHIP, AND MARK THE SHIP
C  "DESTROYED" (POSITION ZERO)
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ISHIPS(15,13)
      DIMENSION INAME(3)
      CALL DBUGIN ('SSDEST ENTERED',IW(14),0)
      CALL SSFIND (ISHIPS,IQX,IQY,ISX,ISY,NDX)
      ISHIPS(1,NDX) = 0
      ISHIPS(2,NDX) = 0
      ISHIPS(3,NDX) = 0
      ISHIPS(4,NDX) = 0
      INAME(1) = ISHIPS(5,NDX)
      INAME(2) = ISHIPS(6,NDX)
      INAME(3) = ISHIPS(7,NDX)
      CALL DBUGIN ('SSDEST EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSFIND
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSFIND (ISHIPS,LQX,LQY,LSX,LSY,NDXR)
C
C  LOCATE A SHIP IN THE SHIPS VECTOR GIVEN IT'S POSITION
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ISHIPS(15,13)
      CALL DBUGIN ('SSFIND ENTERED',IW(14),0)
      NDX = 1
10    IF (NDX.GT.13.OR.(ISHIPS(1,NDX).EQ.LQX.AND.ISHIPS(2,NDX).EQ.
     *     LQY.AND.ISHIPS(3,NDX).EQ.LSX.AND.ISHIPS(4,NDX).EQ.LSY))
     *                                                  GO TO 20
      NDX = NDX+1
      GO TO 10
20    IF (NDX.LE.13) GO TO 30
      CALL PRMSG ('PLEASE REPORT ERROR 02 IN SSFIND  ',IW(34))
      CALL PRMSG ('CALLING FREEZE TO SAVE DATA',IW(29))
      CALL FREEZE
      NDX = 1
30    NDXR = NDX
      CALL DBUGIN ('SSFIND EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSINIT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSINIT (ISHIPS,IQX,IQY)
C
C  INITIALIZE THE QUADRANT POSITION FOR A FEDERATION STARSHIP
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ISHIPS(15,13)
      CALL DBUGIN ('SSINIT ENTERED',IW(14),0)
      CALL SSFIND (ISHIPS,0,0,0,0,NDX)
      ISHIPS(1,NDX) = IQX
      ISHIPS(2,NDX) = IQY
      CALL DBUGIN ('SSINIT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSMOVI
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSMOVI (ISHIPS,IQX,IQY,ISX,ISY,NQX,NQY,INAME,IPILOT,
     *     ITYPE)
C
C  MOVE A FEDERATION STARSHIP FROM OUTSIDE THE QUADRANT TO INSIDE IT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ISHIPS(15,13),IPILOT(5)
      DIMENSION INAME(3), ITYPE(3)
      CALL DBUGIN ('SSMOVI ENTERED',IW(14),0)
      CALL SSFIND (ISHIPS,NQX,NQY,0,0,NDX)
      ISHIPS(1,NDX) = IQX
      ISHIPS(2,NDX) = IQY
      ISHIPS(3,NDX) = ISX
      ISHIPS(4,NDX) = ISY
      INAME(1) = ISHIPS(5,NDX)
      INAME(2) = ISHIPS(6,NDX)
      INAME(3) = ISHIPS(7,NDX)
      IPILOT(1) = ISHIPS(8,NDX)
      IPILOT(2) = ISHIPS(9,NDX)
      IPILOT(3) = ISHIPS(10,NDX)
      IPILOT(4) = ISHIPS(11,NDX)
      IPILOT(5) = ISHIPS(12,NDX)
      ITYPE(1) = ISHIPS(13,NDX)
      ITYPE(2) = ISHIPS(14,NDX)
      ITYPE(3) = ISHIPS(15,NDX)
      CALL DBUGIN ('SSMOVI EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSMOVO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSMOVO (ISHIPS,IQX,IQY,ISX,ISY,NQX,NQY,INAME)
C
C  MOVE A FEDERATION STARSHIP FROM INSIDE A QUADRANT TO OUTSIDE
C  THE QUADRANT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      DIMENSION ISHIPS(15,13)
      DIMENSION INAME(3)
      CALL DBUGIN ('SSMOVO ENTERED',IW(14),0)
      CALL SSFIND (ISHIPS,IQX,IQY,ISX,ISY,NDX)
      ISHIPS(1,NDX) = NQX
      ISHIPS(2,NDX) = NQY
      ISHIPS(3,NDX) = 0
      ISHIPS(4,NDX) = 0
      INAME(1) = ISHIPS(5,NDX)
      INAME(2) = ISHIPS(6,NDX)
      INAME(3) = ISHIPS(7,NDX)
      CALL DBUGIN ('SSMOVO EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSPRNT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSPRNT (IFLAG)
C
C  PRINT STATS ON A FEDERATION STARSHIP IN THE QUADRANT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /NUMBER/ NSTARS,NPLNTS,NSBASE,NFED,NCOMM,NFX(9),NFY(9),
     *     NCX(9),NCY(9)
C
      COMMON /SSINFO/ IOXQ(9),IOYQ(9),INXS(9),INYS(9)
C
      COMMON /TRACOM/ TARX,TARY,ISCPX2,ISCPY2,NSECE(10,10),IHIT,ISBC,
     *     IFSC,IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
     *     ,ET,ISECT(10,10),TVX,TVY,ICMC
C
      COMMON /SHIPS/ IUSFED(15,13)
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      DIMENSION IDMSG2(15),IDMSG3(15)
C
C----------------------------
C  IFLAG = 1 MEANS THE RTN MUST USE THE SSINFO QUADRANT INFO
C  VECTORS FOR THE MOVES, = 0 MEANS USE CURRENT QUADRANT INFO
C----------------------------
C
      DATA IDMSG2 / 'HAS ','BEEN',' IDE','NTIF','IED ','AS T',
     *              'HE F','EDER','ATIO','N ',0,0,0,
     *     ' U.S','.S.'/
      DATA IDMSG3 /0,0,0,'CAPT','AIN ', 10 * ' '/
      CALL DBUGIN ('SSPRNT ENTERED',IW(14),0)
      CALL ITERPT
      IF (NFED.EQ.0) GO TO 50
      CALL LINEF
      CALL PRMSG ('THE STATISTICS ON THE FEDERATION STARSHIPS IN',
     *         IW(45))
      CALL PRMSG ('OUR QUADRANT, TO FOLLOW:',IW(23))
      IF (IFLAG.EQ.0) CALL LOCATE (KZF,N,N)
      DO 40 N = 1, NFED
           CALL LINEF
           IF (IFLAG) 50 , 10 , 20
10         IFX = NFX(N)
           IFY = NFY(N)
           IOX = ISCPX1
           IOY = ISCPY1
           GO TO 30
20         IFX = INXS(N)
           IFY = INYS(N)
           IOX = IOXQ(N)
           IOY = IOYQ(N)
30         CONTINUE
           CALL PRMSM ('THE STARSHIP AT SECTOR: ',
     *     24,IW(24),IFY,IFX,' ',0,1)
           CALL SSMOVI (IUSFED,ISCPX1,ISCPY1,IFX,IFY,IOX,IOY,IDMSG3(1),
     *          IDMSG3(6),IDMSG2(11))
           CALL PRMSG (IDMSG2,IWV(60))
           CALL PRMSG (IDMSG3,IWV(60))
           CALL PRMSG ('LAST KNOWN TO BE IN COMMAND',IW(27))
40    CONTINUE
50    CONTINUE
      CALL DBUGIN ('SSPRNT EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=SSTART
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE SSTART
C
C  SET SHIP NAMES AND CAPTAIN NAMES FOR SHIPS
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('SSTART ENTERED',IW(14),0)
      CALL SETFED (0,0,0,0,'ENTERPRISE  ',
     * 'WILLIAM DECKER      ','CRUISER     ',1,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'POTEMPKIN   ',
     * 'MARK STEVENS        ','CRUISER     ',2,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'YORKTOWN    ',
     * 'TIMOTHY LYON        ','CRUISER     ',3,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'EXCALIBUR   ',
     * 'JEFF LAURENCE       ','CRUISER     ',4,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'LEXINGTON   ',
     * 'RAYMOND POWERS      ','CRUISER     ',5,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'KUBLIA      ',
     * 'HOI SUEN            ','DESTROYER   ',6,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'SARGON      ',
     * 'ANNE DREADEN        ','DESTROYER   ',7,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'MONITOR     ',
     * 'LARRY WILLIAMS      ','SCOUT       ',8,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'HOOD        ',
     * 'HERBERT RUBIN       ','CRUISER     ',9,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'EXETER      ',
     * 'WILLIAM RUDD        ','CRUISER     ',10,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'DARIUS      ',
     * 'MARIANNE ANDREAS    ','DESTROYER   ',11,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'ALARIC      ',
     * 'GAVIN PATTON        ','DESTROYER   ',12,IW(10),IW(20),IW(12))
      CALL SETFED (0,0,0,0,'SHAITAN     ',
     * 'JACK FISCHRUP       ','DESTROYER   ',13,IW(10),IW(20),IW(12))
      CALL DBUGIN ('SSTART EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=STARTM
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE STARTM
C
C  PROMPT FOR INFO ABOUT GAME, LEVEL, OLDNEW, AT STARTUP
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      IMPLICIT INTEGER (A-Z)
      REAL EOFF
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8),INPUT(50),IPAD3
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
      COMMON /MISC/ BATTER,ISSAVE,IDUM,WFACT,IDATF,ILEV,CSDATE,TGIVEN
C
      CALL DBUGIN ('STARTM ENTERED',IW(14),0)
      ILEV = 0
      TOURN = 0
10    CALL LINEF
      CALL READIN ('ARE YOU RATED GOOD, EXPERT, OR EMERITUS   ',
     *     IW(42),42,1,EOFF)
      IF (EOFF.GT..1) GO TO 10
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 10
      IF (INPUT(N2).EQ.KZG) GO TO 40
      IF (INPUT(N2).EQ.KZE.AND.INPUT(N2+1).EQ.KZX) GO TO 30
      IF (INPUT(N2).EQ.KZE.AND.INPUT(N2+1).EQ.KZM) GO TO 20
      CALL HELPRT('LEVHELP     ',IW(16))
      GO TO 10
20    ILEV = 3
      GO TO 50
30    ILEV = 2
      GO TO 50
40    ILEV = 1
50    CALL LINEF
      CALL READIN ('DO YOU WANT A TOURNAMENT OR REGULAR GAME ',
     *     IW(41),41,1,EOFF)
      IF (EOFF.GT..1) GO TO 50
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 50
      IF (INPUT(N2).EQ.KZR) GO TO 60
      IF (INPUT(N2).EQ.KZT) GO TO 70
      CALL HELPRT('TOURHELP    ',IW(12))
      GO TO 50
60    TOURN = 0
      GO TO 80
70    TOURN = 1
80    IF (TOURN.EQ.0) GO TO 100
90    CALL LINEF
      CALL READIN ('PLEASE SUPPLY NAME OR NUMBER OF TOURNAMENT ',
     *     IW(43),43,0,EOFF)
      NAME = IFIX(ABS(FLOAT(INPUT(1))/98765.0))
      IF (EOFF.GT..1) GO TO 90
100   CONTINUE
      IF (TOURN.EQ.1) CALL RANSET (NAME)
      I = TIME(DUMMY)
      IF (TOURN.NE.1) CALL RANSET (I)
      CALL DBUGIN ('STARTM EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=STAX
STAX     CSECT
***********************************************************************
*
*  FUNCTION TO CANCEL "STAE" AND DEFER INTERUPTS IF DESIRED
* (TURNED OFF AT THIS POINT, TO USE, UNCOMMENT THE "STAX" MACROS)
*
***********************************************************************
         STM    14,12,12(13)      SAVE REGS
         LR     12,15
         USING  STAX,12
         L      1,0(,1)
         ICM    1,B'1111',0(1)  GET PARM 0=DEFER ON ¬=0=DEFER OFF
         BZ     DEFON
*        STAX   DEFER=NO          DEFER INTERUPTS
         B      RETURN
DEFON    DS     0H
*        STAX   DEFER=YES
         STAE   0
RETURN   DS     0H
         LM     14,15,12(13)      RESTORE REGS
         LM     1,12,24(13)       RESTORE SOME MORE
         MVI    12(13),X'FF'      SET RETURN FLAG
         BR     14
         END
./ ADD NAME=STIMER
STIMER   CSECT
***********************************************************************
*
*  ROUTINE TO SIMPLY "WAIT"
*
***********************************************************************
         STM    14,12,12(13)      SAVE REGS
         LR     12,15             SET PROGRAM
         USING  STIMER,12         SET BASE
         L      1,0(,1)           ADDRESS PARM
         ICM    0,B'1111',1       IS PARM ZERO?
         BZ     RETURN
         STIMER WAIT,BINTVL=(1)   WAIT
RETURN   DS     0H
         LM     14,15,12(13)      RESTORE REGS
         LM     1,12,24(13)       RESTORE SOME MORE
         MVI    12(13),X'FF'      SET RETURN FLAG
         BR     14
         END
./ ADD NAME=SZTERM
         TITLE 'FIND TSO SCREEN SIZE'
**********************************************************************
*
*  ROUTINE SZTERM - FIND TERM SIZE
*
**********************************************************************
SZTERM   CSECT                          INITIALIZATION
         STM   R14,R12,12(R13)          STORE REGS IN SUPPLIED SAVEAREA
         LR    R12,R15                  ESTABLISH ADDRESSABILITY
         USING SZTERM,R12               WE GOT IT
         ST    R13,SAVEAREA+4           NON-RENT, NO BIG DEAL HERE
         LA    R15,SAVEAREA             SET FORWARD/BACKWORD POINTERS
         ST    R15,8(,R13)                 *
         LA    R13,SAVEAREA                *
*
* 1) OBTAIN INFO ABOUT TERMINAL (IBM3270) IS IT 24 OR 43 LINES?
*
         GTSIZE ,                       OBTAIN IBM TERMINAL INFO
         LTR   R0,R0                    DETERMINE IF DISPLAY TERMINAL
         BZ    RETURN                   IF R0=0, WE IN WRONG PLACE, OUT
         L     R3,=V(TERMSZ)            TERMINAL SIZE CSECT
         ST    R0,0(R3)                 SAVE IT
RETURN   DS    0H
         L     R13,SAVEAREA+4           GET ORIGINAL REGISTER 13
         LM    R14,R12,12(R13)          RESTORE INPUT REGISTERS
         SR    R15,R15                  SET RETURN CODE
         BR    R14                      AND RETURN ...
         EJECT
         LTORG
SAVEAREA DS    9D
***********************************************************************
*        REGISTERS, CONSTANTS, AND STUFF                              *
***********************************************************************
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         END
./ ADD NAME=TARSET
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE TARSET (DPRECX,DPRECY,TACX,TACY,ITRCON,LRUDD,C)
C
C  DETERMINE IF A GIVEN DESTINATION IS FURTHER AWAY ON THE X AXIS
C  OR THE Y AXIS, NEEDED TO BREAK UP CHECKS FOR OBJECTS IN THE
C  WAY (I.E. TARGETS FOR PHOTON TORPEOES AND MOVEMENT) SO THAT
C  THINGS ARE NOT HOPPED OVER
C
C  EXAMPLE:
C  --------
C        X-AXIS
C  1 2 3 4 5 6 7 8 9 10           TARCON Y WOULD BE RETURNED
C  . . . . . . . . . . 1          SINCE THERE IS A GREATER Y
C                                 DISTANCE THAN X, HENCE X4-Y5
C  . . . . . . . . . . 2          AND X5-Y6 WOULD BE CHECKED FOR
C                                 THINGS IN THE WAY, IF X
C  . . . . . . . . . . 3          WERE ACCIDENTLY RETURNED, THEN
C                                 ONLY ONE POINT (EITHER X4-Y5 OR
C  . . . 1 . . . . . . 4          X5-Y6) WOULD BE CHECKED (WRONGLY)
C                         Y-AXIS
C  . . . . . . . . . . 5          THIS MAY NOT BE COMPLETELY
C                                 CLEAR, IN SHORT:
C  . . . . . . . . . . 6          IF CHECKING FOR OBJECTS BETWEEN
C                                 TWO OBJECTS, IT IS IMPORTANT TO
C  . . . . 2 . . . . . 7          KNOW WHETHER IS IS FURTHER "X"
C                                 AWAY OR FURTHER "Y" AWAY.
C  . . . . . . . . . . 8
C                                 POINTS INBETWEEN TWO OBJECTS
C  . . . . . . . . . . 9          NEED TO HAVE ALL POINTS WITHIN
C                                 .5 SECTORS OF THE PATH BE CONSIDERED
C  . . . . . . . . . . 10         "IN THE WAY"
C
C  1 = OBJECT ONE
C  2 = OBJECT TWO
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER LRUDD
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL DBUGIN ('TARSET ENTERED',IW(14),0)
      DPRESX = DPRECX
      DPRESY = DPRECY
      TARX = TACX
      TARY = TACY
      ADELTX = DPRESX-TARX
      ADELTY = DPRESY-TARY
      IF (ADELTX.LT.0.0) ADELTX = -ADELTX
      IF (ADELTY.LT.0.0) ADELTY = -ADELTY
      ITRCON = KZY
      IF (ADELTX.GE.ADELTY) ITRCON = KZX
      IF (ITRCON.EQ.KZX) GO TO 10
C
C   CONDITIONS FOR ITRCON 'Y'      ****************
C
      LRUDD = 1
      IF (TARY.LT.DPRESY) LRUDD = -1
      SC = 0.0
      IF (TARX.GT.DPRESX) SC = ADELTX/ADELTY
      IF (TARX.LT.DPRESX) SC = -(ADELTX/ADELTY)
      GO TO 20
C
C   CONDITIONS FOR ITRCON 'X'      *****************
C
10    LRUDD = 1
      IF (TARX.LT.DPRESX) LRUDD = -1
      SC = 0.0
      IF (TARY.GT.DPRESY) SC = ADELTY/ADELTX
      IF (TARY.LT.DPRESY) SC = -(ADELTY/ADELTX)
20    C = SC
      DPRECX = DPRESX
      DPRECY = DPRESY
      TACX = TARX
      TACY = TARY
      CALL DBUGCH ('TARSET RTN=',IW(11),ITRCON,IW(4))
      CALL DBUGIN ('TARSET EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=TIME
TIME     CSECT
***********************************************************************
*
*  TIME FUNCTION FOR FORTRAN - RETURN TIME IN R0 (FUNCTION FORM)
*
***********************************************************************
         STM    14,12,12(13)      SAVE REGS
         TIME   BIN               GET TIME IN BINARY
         LM     14,15,12(13)      RESTORE REGS
         LM     1,12,24(13)       RESTORE SOME MORE
         MVI    12(13),X'FF'      SET RETURN FLAG
         BR     14
         END
./ ADD NAME=TIMMSG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE TIMMSG
C
C     PURPOSE - PRINT THE MSGS THAT SAY THE USER HAS RUN OUT
C     OF TIME.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('TIMMSG ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('YOU HAVE RUN OUT OF TIME, THE FEDERATION FORCES HAVE'
     *     ,IW(52))
      CALL PRMSG ('HAD ENOUGH TIME TO BUILD UP A SOLID DEFENSE',IW(43))
      CALL PRMSG ('YOUR ORDERS WERE VERY CLEAR... IF YOU FAILED.',
     *     IW(45))
      CALL DBUGIN ('TIMMSG EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=TIMUSE
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
      FUNCTION TIMUSE (D,WF)
C
C DETERMINE HOW MUCH TIME IS USED MOVING FROM PLACE TO PLACE
C NOTE THAT IS STAR TREK THE SPEED IS WARP CUBED, THERE IS A FUDGE
C FACTOR IN HERE TO BE ABOUT WARP**1.5 DEPENDING ON WARP SPEED
C
C  ROUTINE CANNOT HANDLE WARP GREATER THAN 12
C
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
C
C D IS DISTANCE TRAVELED
C WF IS CURRENT WARP FACTOR
C
      T      = D/(WF**(1.5-((12.0-WF)*.1)))
      CALL DBUGRN ('TIMUSE RTN=',IW(11),T)
      TIMUSE = T
      RETURN
      END
./ ADD NAME=TRACK
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE TRACK
C
C  DETERMINE PATH AND TRACK OUTGOING PHOTON TORPEDO
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      INTEGER PRESX,PRESY,NSECE,IHIT,LRVDP,ITRCON,ISBC,IFSC,IKCC,ICHART,
     *     IPLNET,ISCPX1,ISCPY1,ICHC,IPLC,ISTC
C
      REAL TARX,TARY,DPRESX,DPRESY,DELTX,DELTY,ADELTX,ADLETY,DISP,SL,
     *     TVX,TVY
C
C
      COMMON /TRACKR/ ITRKC, RTRK(15,2)
C
      COMMON /TRACOM/ TARX,TARY,PRESX,PRESY,NSECE(10,10),IHIT,ISBC,IFSC,
     *     IKCC,ITORCT,ISB,IFS,IKC,IPR,ISCPX1,ISCPY1,ICHC,IPLC,ISTC,ET,
     *     CSEC(10,10),TVX,TVY,ICMC
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      DATA IZBLOW / 'BLOW'/ ,IZNOHT / 'NOHT'/
C
      CALL DBUGIN ('TRACK ENTERED',IW(14),0)
      IF (RAND(150.0).GT.1.0) GO TO 10
      CALL BEEP
      CALL LINEF
      CALL ADDQUE ('REDA')
      CALL PRMSG ('*** DISRUPTOR TORPEDO EXPLODES IN FIRING TUBE',
     *    IW(45))
      CALL LINEF
      IHIT = IZBLOW
      GO TO 50
10    DPRESY = PRESY
      DPRESX = PRESX
      TVX = DPRESX
      TVY = DPRESY
      IHIT = IZNOHT
      CALL LINEF
      CALL PRMSG ('### TORPEDO FIRED -- TRACKING',IW(29))
      CALL LINEF
      CALL TARSET (DPRESX,DPRESY,TARX,TARY,ITRCON,LRUDD,SC)
      XXX = RAND(1.0)
      IF (XXX.LT.0.25) DISP = RAND(0.005)+.045
      IF (XXX.LT.0.5.AND.XXX.GE.0.25) DISP = RAND(0.005)+.015
      IF (XXX.LT.0.75.AND.XXX.GE.0.5) DISP = RAND(0.02)+.0075
      IF (XXX.GE.0.75) DISP = RAND(.0075)
      IF (RAND(1.0).GE..5) DISP = -DISP
20    IF (IHIT.NE.IZNOHT) GO TO 50
      IF (ITRCON.EQ.KZX) GO TO 30
      TVY = TVY+LRUDD
      TVX = TVX+SC+DISP
      GO TO 40
30    TVX = TVX+LRUDD
      TVY = TVY+SC+DISP
40    CONTINUE
      V1 = TVY
      V2 = TVX
      IF (V1.LT..5.OR.V1.GT.10.5.OR.V2.LT..5.OR.V2.GT.10.5) GO TO 900
      ITRKC = ITRKC + 1
      RTRK (ITRKC,1) = V1
      RTRK (ITRKC,2) = V2
900   CONTINUE
      CALL KILLER
      GO TO 20
50    CONTINUE
      CALL DBUGIN ('TRACK EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=TSMSG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE TSMSG
C
C     PURPOSE - PRINT WE DON'T HAVE TRANSPORTER OR SHUTTLE
C     MSG
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      CALL DBUGIN ('TSMSG  ENTERED',IW(14),0)
      CALL LINEF
      CALL PRMSG ('THE SUPERCOMMANDER KAZH HAS NO SHUTTLE CRAFT OR',
     *      IW(47))
      CALL PRMSG ('PLANETARY TRANSPORTER, AS IT HAS NO USE FOR EITHER.',
     *      IW(51))
      CALL DBUGIN ('TSMSG  EXITED',IW(13),0)
      RETURN
      END
./ ADD NAME=XCHEAD
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE XCHEAD
C
C  FILL IN THE HEADER INFO FOR SRS AND LRS SCANS ON THE TOP OF THE
C  SCREEN
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /FSBUFF/ NPROML, NPROMT(20), NREAD(13),
     *     NHEAD(20,12), NCOUNT, NWORK(20,200)
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /CPU/ IBMT
C
      COMMON /PHASE/ INIT
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      IOUT = IOUTT - 1
      DO 5  I = 1, 12
          DO 5  J = 1, 20
              NHEAD (J,I) = ICRBLK
C         CONTINUE
5     CONTINUE
      IF (INIT.EQ.1) GO TO 500
      REWIND IOUT
      CALL SR3270
      REWIND IOUT
      DO 10 N=1,12
      READ (IOUT,10000,END=15) (NHEAD(J,N),J=1,16)
10    CONTINUE
15    CONTINUE
      REWIND IOUT
      CALL LRSCAN
      REWIND IOUT
      DO 20 N=1,12
      READ (IOUT,10010,END=25) (NHEAD(J,N),J=17,20)
20    CONTINUE
25    CONTINUE
      REWIND IOUT
500   CONTINUE
      RETURN
10000 FORMAT (1X,16A4)
10010 FORMAT (1X,4A4)
      END
./ ADD NAME=XDEBUG
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE XDEBUG
C
C  PURPOSE: ACTIVATE AND DE-ACTIVATE THE TRACE FLAG AFTER GETTING
C  A DEBUG PASSWORD (WHICH EQUALS NONA) AND CAUSE ROUTINES WITH DEBUG
C  CALLS IN THEY TO DISPLAY DIAGNOSTIC INFO
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /DEBUG/ IDEBUG
C
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *    IKY(8,8), INPUT(50),IPAD3
C
      COMMON /EXTRA/ N2,ITTY,IDIE
C
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      CALL PRMSG ('KLINGON DEBUGGING ACTIVATION ROUTINE',IW(36))
      CALL PRMSG ('ENTER DEBUG ACCESS PASSWORD BELOW',IW(36))
100   CONTINUE
      CALL READIN ('PASSWORD -',IW(10),10,1,EOFF)
      IF (EOFF.GT.0.9) GO TO 220
      CALL GAP (N2)
      IF (N2.GT.50) GO TO 220
      GO TO 225
220   CONTINUE
      CALL LINEF
      CALL PRMSG ('*BLANK LINE IGNORED* ',IW(20))
      CALL LINEF
      GO TO 100
225   CONTINUE
      IF (INPUT(N2).EQ.KZN.AND.INPUT(N2+1).EQ.KZO.AND.
     *    INPUT(N2+2).EQ.KZN.AND.INPUT(N2+3).EQ.KZA) GO TO 500
      CALL PRMSG ('*PASSWORD NOT MATCHED*',IW(22))
      GO TO 600
500   CONTINUE
      CALL PRMSG ('*PASSWORD ACCEPTED*',IW(20))
      IF (IDEBUG.EQ.1) GO TO 510
          IDEBUG = 1
          CALL PRMSG('TRACE IS NOW ACTIVE  ',IW(19))
          GO TO 600
510   CONTINUE
          IDEBUG = 0
          CALL PRMSG('TRACE IS NOW INACTIVE ',IW(21))
600   CONTINUE
      RETURN
      END
./ ADD NAME=XFILLB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE XFILLB
C
C  FOR 3270 MVS/TSO REWIND THE WORK FILE AND READ THE RECORD IN A4
C  FORMAT
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      COMMON /FSBUFF/ NPROML, NPROMT(20), NREAD(13),
     *     NHEAD(20,12), NCOUNT, NWORK(20,200)
C
      COMMON /OUTUNT/ IOUTT
C
      COMMON /CPU/ IBMT
C
      COMMON /CHARS/ KZA,KZB,KZC,KZD,KZE,KZF,KZG,KZH,KZI,KZJ,KZK,KZL,KZM
     *     ,KZN,KZO,KZP,KZQ,KZR,KZS,KZT,KZU,KZV,KZW,KZX,KZY,KZZ,ICRDOT,
     *     ICRPLS,ICRCRH,ICRSTR,ICRMIN,ICRZER,KZ1,KZ2,KZ3,KZ4,KZ5,KZ6,
     *     KZ7,KZ8,KZ9,ICRBLK
C
      NCOUNT = 0
      REWIND IOUTT
      IF (IBMT.NE.1) GO TO 10
5     CONTINUE
      NCOUNT = NCOUNT + 1
C FOLLOWING LINE IS TO PREVENT OVERFLOW
      IF (NCOUNT.GT.200) GO TO 50
      READ (IOUTT,10000,END=50) (NWORK(N,NCOUNT),N=1,20)
      GO TO 5
50    CONTINUE
      NCOUNT = NCOUNT - 1
10    CONTINUE
      REWIND IOUTT
      RETURN
10000 FORMAT (1X,19A4,A3)
      END
./ ADD NAME=YESNO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
      SUBROUTINE YESNO (IMSG,MSGDIM,MSGLEN,IYES)
C
C  PROMPT USER FOR YES OR NO RESPONSE
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      COMMON /PADDED/ IPAD1(9),ICHART(8,8),IPAD2(9),IPLNET(8,8),
     *     IKY(8,8),INPUT(50),IPAD3
      DIMENSION IMSG(MSGDIM)
      DATA IZYES / 'YES'/ ,IZNO / 'NO'/
      CALL DBUGIN ('YESNO ENTERED',IW(13),0)
      IYES = 0
10    CALL READIN (IMSG,MSGDIM,MSGLEN,0,EOFF)
      IF (EOFF.NE.0) GO TO 10
      IF (INPUT(1).EQ.IZYES.OR.INPUT(1).EQ.IZNO) GO TO 20
      CALL PRMSG ('YES OR NO, PLEASE.  ',IW(20))
      GO TO 10
20    IF (INPUT(1).EQ.IZYES) IYES = 1
      CALL DBUGIN ('YESNO EXITED',IW(12),0)
C  ... KICK THE IW FUNCTION TO RETURN IHOLD TO CORRECT VALUE
      IDUMMY = IW(MSGLEN)
      RETURN
      END
@@
//ASSETS   EXEC PGM=PDSLOAD
//STEPLIB  DD  DSN=SYSC.LINKLIB,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  DSN=SYSGEN.KLINGON.ASSETS,DISP=(NEW,CATLG),
//             VOL=SER=PUB001,
//             UNIT=3390,SPACE=(CYL,(2,1,3))
//SYSUT1   DD  DATA,DLM=@@
./ ADD NAME=#GRAFICS
MOVE43000100
                    .   .                 .    .          .     .   .
  .     .   .                 .                             .         .    .
                  .       .         .                .
  .                                        .      .              .
      .   .      .    .         .                         .            .   .
                   .      .          .
      .      .                          .    .
  .               .    . .       .     .   .      .     .    .          .
     .                                                             .
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
             .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
    .                                               .             .  .
                           .                                               .  .
          .   .                  .      .   .
                      .                                .
   .                                                                .  .
                                     .               .
             .              .                               .   . .
  .                   .               .
         .                       .                  .              .
                                                           .
MOVE43000000 ===================================================================
 \     \   \    \       \    \    \                    /     /         /    /
\                \       \         \         /      / /            /
 \  \   \      \    \         \             /      /        /     /      /   /
     \   \      \\   \  \      \                           /            /   /
    \      \      \      \                /    /
\    \      \   \    \ \       \         /   //     /     /    /          /
 \ \             \    \ \       \       /   /      /     /    /      /   /
    \ \                                                             /
       \ \    \      \                       /             /               /
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
 /  /   /   / /     /            /      \     \            \     \          \
   /   /     /     /            /        \     \     \      \      \  \
                          /                           \             \  \    \  \
         /   /           /      /        \   \                               \
        /   /        /         /          \   \         \
  /                 /                                    \           \  \
 /                                                    \               \  \
            /              /                           \     \   \ \
 /         /         /    /            \                      \   \ \
/       /           /           /       \            \              \
MOVE43000000 ===================================================================
 \     \   \    \       \    \    \           /      / /     /      /  /    /
\  \   \      \  \ \     \   \     \         /      / /      /     /      /   /
 \  \   \      \\   \  \      \             /      /        /     /      /   /
   \ \   \\     \\   \  \      \                /          /            /   /
    \      \   \  \ \ \  \    \           /   //     /     /    /          /
\ \  \      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \           \    \ \       \       /   /      /     /    /      /   /
    \ \ \    \      \                         /             /       /       /
   \   \ \    \      \   \    \              /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
 /  /  //   / /     /  /        //      \     \         \  \     \     \    \
/  /   /   / /     /            /        \     \     \      \     \\  \      \
  /   /     /     /       /    /          \     \     \      \      \  \    \  \
         /   /           /      /        \   \         \             \  \    \
        /   /        /  /      /          \   \         \                     \
  /    /   /        /         /            \   \         \           \  \
 /                 /                                  \   \           \  \
/           /              /                           \     \   \ \   \  \
 /         /         /    /            \                \     \   \ \
/       / /         /    /      /       \            \         \   \\\
MOVE43000000 ===================================================================
 \\   \\   \ \  \ \     \   \\    \           /      / /     //     /  /   //  /
\  \   \      \\ \ \  \  \   \     \         /      / /      /     /      /   /
 \\ \   \\     \\   \  \      \             /    / /        /     /      /   /
   \ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \  \      \   \  \ \ \  \    \           /   //     /     /    /      /   /
\ \ \\      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \ \    \    \ \  \ \       \       /   /  /   /     /   //      /   /   /
  \ \ \ \    \      \   \    \                /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \     \    \ \
/  /  //   / /     /  /        //        \     \     \   \  \     \\  \ \    \
  /   /   / /     /       /    /          \     \     \      \     \\  \    \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \      \  \    \
        /   /        /  /      /          \   \         \             \  \    \
  /    /   /        /  /      /            \   \         \           \  \      \
 /        /        /         /              \   \     \   \           \  \
/           /     /        /                           \     \   \ \   \  \
 /         /         /    /            \                \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\
MOVE43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \   \\    \           /      / /     //     /  /   //  /
\\ \   \\     \\ \ \  \  \   \     \         /    / / /      /     /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\  \ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \ \\      \   \  \ \ \  \    \           /   //     /     /    /      /   /
\ \ \\\    \\   \ \  \ \       \         /   // /   /     /   //      /   /   /
 \ \ \ \    \    \ \  \\\   \   \       /   /  /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\  \ \    \ \
  /  //   / /     /  /    /   //          \     \     \   \  \     \\  \ \  \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \     \\  \    \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
  /    /   /        /  /      /            \   \         \           \ \\ \    \
 /        /        /  /      /              \   \     \   \           \  \
/        /  /     /        //                \   \     \     \   \ \   \  \
 /         /     /   /    /            \                \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\   \  \
MOVE43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \   \\    \           /    / / /     //     /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\ \\ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \ \\\    \\   \ \\ \ \  \    \           /   // /   /     /   //      /   /
\ \ \\\    \\   \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /    /    //
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
 /  // ///  / /     /  /    /   //      \     \    \    \  \ \  \\ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 /  //   /   /   /  /    /   // /        \ \ \   \     \   \  \     \\  \ \  \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
  /    /   /   /    /  /    / /            \ \ \         \      \    \ \\ \    \
 /        /        /  /      /              \   \     \   \           \  \ \
/        /  /     /  /     //                \   \     \     \   \ \   \  \
 /      /  /     /   /    //           \      \   \     \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\   \  \
MOVE43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\ \\\\   \\   \ \\ \ \  \    \ \           /   // /   /    //   //      /   /
 \ \\\    \\   \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / /  /    //
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /   //    //
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 /  // ///  / /    //  /    /   //      \     \    \    \  \ \  \\ \   \\   \ \
/  // ///  / /     /  /    /   //        \     \    \\   \  \ \  \\\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 // //   /   /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\  \ \  \ \
/  //   /   /   /  / /  /   // /          \ \ \         \   \  \      \  \ \  \
  /    /   /   /    /  /    / /            \ \ \         \      \    \ \\ \    \
 /        /   /    /  /    / /              \ \ \     \   \           \  \ \
/        /  /     /  /     //                \   \     \   \ \   \ \   \  \ \
 /      /  /     /   /    //           \      \   \     \     \   \ \   \  \
/      // /     /   /    //     /       \      \   \ \   \     \   \\\   \  \
MOVE43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\\\   \\   \ \\ \ \  \    \ \             /   // /   /    //   //      /   /
\ \\\\   \\   \ \\ \ \  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / /  //   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //    //
   \ \ \ \ \  \  \   \   \\   \            / /     / /     / /   /   //   ///
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 // // ///  / /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  /    /   //        \     \    \\   \  \ \  \\\\ \ \\   \ \
  // ///  / /     /  /    /   //          \     \    \\   \  \ \  \\\\ \ \  \ \\
 // //   / / /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\\ \ \  \ \
// //   /   /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\  \ \  \
  //   /   /   /  / /  /   // /            \ \ \         \   \  \    \ \\ \ \  \
 //   /   /   /    /  /    / /              \ \ \     \   \      \    \ \\ \
//       /  //    /  /    ///                \ \ \     \   \ \   \ \   \ \\ \
 /      /  /     /  //    //           \      \   \     \   \ \   \ \   \ \\ \
/      // /     /   /    //     /       \      \   \ \   \     \   \\\   \  \
MOVE43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\\\   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //   //      /   /
 \\\\   \\   \ \\ \ \  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / /  //   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //   ///
   \ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  /    /   //          \     \    \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /   /  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \  \ \
// //   / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\\ \ \  \
/ //   /   /   /  / /  /   // /            \ \ \   \     \   \  \ \  \\\\ \ \  \
 //   /   /   /  / /  /   // /              \ \ \     \   \   \  \    \ \\ \ \
//   /   /  //    /  /    ///                \ \ \     \   \ \   \\\   \ \\ \
//      /  //    /  //   ///           \      \ \ \     \   \ \   \ \   \ \\ \
/      // /     /  //    //     /       \      \   \ \   \   \ \   \\\   \  \ \
MOVE43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///   //  /   //  /
\\\\   \\   \ \\ \ \  \\ \ \ \     \         /   // / / /   ///   //    / /  //
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   / / / /   ///   / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///  ///
  \ \ \ \ \  \  \   \   \    \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \  \
/ //   / / /   /  / /  /   // /            \ \ \   \    \\   \  \ \  \\\\ \ \  \
 //   /   /   /  / /  /   // /              \ \ \   \ \   \   \  \ \  \\\\ \ \
//   /   /  //  / /  /   ////                \ \ \     \   \ \ \ \\\   \ \\ \ \
//  /   /  //    /  //   ///           \      \ \ \     \   \ \ \ \\\   \ \\ \
/      // //    /  //   ///     /       \      \ \ \ \   \   \ \   \\\   \ \\ \
MOVE43000000 ===================================================================
\\\   \\   \ \\ \ \  \\ \ \ \\    \           /   // / / /   ///   //  / / // //
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /   ///   //    / /  //
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   / / ///   ///   / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   / / / /   ///   / / ///   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  //   /   // /        \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /  //  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \\ \
/ ///  / / /   /  / /  /   // /            \ \ \   \    \\   \  \ \  \\\\ \ \  \
 //   / / /   /  / /  /   // /              \ \ \   \ \  \\   \  \ \  \\\\ \ \
//   /   /  //  / /  /   ////                \ \ \   \ \   \ \ \ \\\\  \\\\ \ \
//  /   /  //  / /  //  ////           \      \ \ \     \   \ \ \ \\\   \ \\ \
/  /   // //    /  //   ///     /       \      \ \ \ \   \   \ \ \ \\\   \ \\ \
MOVE43000000 ===================================================================
\\\\  \\ \ \ \\ \\\  \\ \ \ \\    \           /   // / / /// ///  //// / / /////
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /// ///  ////   / / ///
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /// ///  ////   / / ///
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /// ///  ////   / / ///  /
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /// / /  ////   / / ///  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \
/ /// // / /  //  ///  /   // /            \ \ \   \ \  \\   \  \ \  \\\\ \ \  \
 ///  / / /  //  ///  /   // /              \ \ \   \ \  \\   \  \ \  \\\\ \ \
///  / / /  //  / /  /   ////                \ \ \   \ \  \\ \ \ \\\\  \\\\ \ \
//  / / /  //  / /  //  ////           \      \ \ \   \ \  \\ \ \ \\\\  \ \\ \
/  / / // //  / /  //  ////     /       \      \ \ \ \ \ \  \\ \ \ \\\\  \ \\ \
MOVE43000000 ===================================================================
\\\\  \\ \ \ \\ \\\  \\ \ \ \\    \           /   // / / /// ///  //// / / /////
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /// ///  ////   / / ///
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /// ///  ////   / / ///
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /// ///  ////   / / ///  /
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /// / /  ////   / / ///  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
\\ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \
/ /// // / /  //  ///  /   // /            \ \ \   \ \  \\\  \  \ \  \\\\ \ \  \
 /// // / /  //  ///  /   // /              \ \ \   \ \  \\\  \  \ \  \\\\ \ \
/// // / /  //  ///  /   ////                \ \ \   \ \  \\\\ \ \\\\  \\\\ \ \
// // / /  //  ///  //  ////           \      \ \ \   \ \  \\\\ \ \\\\  \ \\ \
/ // / // //  ///  //  ////     /       \      \ \ \ \ \ \  \\\\ \ \\\\  \ \\ \
MOVE43000000 15=================================================================
\\\\  \\ \ \ \\ \\\  \\   \ \                 /   // /   /// ///  ////   / / ///
\\\ \  \\ \ \ \\ \\\  \\   \                 /   // /   /// / /  ////   / / ///
 \\\ \  \\ \ \ \  \\\   \   \               /   // /   /// / /  ////   / / ///
\ \ \ \  \  \ \ \  \\\   \   \             /   // /   /// / /  ////   / / ///  /
 \ \ \ \  \  \   \   \\   \                    / /    // /    // /   / / //   //
\ \ \ \ \  \  \   \   \\   \                  / /    // /    // /   /   //   ///
\\ \   \ \  \  \   \   \\   \                / /    // /    // /   /   //   ///
 \\ \   \ \  \  \   \   \\   \              /      // /    /  /   /   //   ///
  \\ \   \ \  \  \   \    \                /      //      /  /       /    ///
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /









         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
 /// /   / /  /    /    /   /                 \ \  \\\     \ \  \\ \    \ \ \ \\
/// / / / /  /    /   //   /   /               \ \  \\\  \  \ \  \\ \   \\ \ \ \
// / / / // /    /   //   /   /                 \ \  \\\  \  \ \  \\ \   \\ \ \
/// /// // /    //  //   /   //            \     \ \  \\\  \  \ \  \\ \ \ \\ \ \
// /// // /    //  //   /   //              \     \ \  \\\  \  \ \  \\\\ \ \\ \
/ /// // /    //  //   /   //                \     \ \  \\\  \  \ \  \\\\ \ \  \
 /// // / /  //  //   /   // /              \ \ \   \ \  \\\  \  \ \  \\\\ \ \
/// // / /  //  ///  /   // /                \ \ \   \ \  \\\\ \  \ \  \\\\ \ \
// // / /  //  ///  /   // /                  \ \ \   \ \  \\\\ \  \ \  \ \\ \
/ // / // //  ///  /   // /                    \ \ \   \ \  \\\\ \  \ \  \ \\ \
MOVE43000000 16=================================================================
 \ \  \  \   \   \\   \                            / /    // /    // /   /   //
  \ \  \  \   \   \\   \                          /      // /    // /   /   //
   \ \  \  \   \    \                            /      //      /  /       /
\   \    \      \    \                                 //      /  /       /    /
 \   \    \      \    \                               //      /  /       /    //
  \   \    \      \    \                             /       /          /    //
\  \   \    \      \    \                           /       /          /    //
 \                                                 /                  /     /
  \                                                                  /     /
                                                                    /





















   /
  /                                                 \                         \
 /                                                   \                    \    \
/ /       /            /                              \           \        \
 /       /            /                           \   \\     \     \        \ \
/       /       /    /                             \   \\     \     \      \ \ \
     / /       /    /   /                         \ \   \\     \    \\      \ \
    / /  /    /    /   /                           \ \   \\     \    \\ \    \ \
   / /  /    /    /   /                             \ \  \\\     \ \  \\ \    \
/ / /  /    /   //   /   /                           \ \  \\\  \  \ \  \\ \    \
 / // /    /   //   /   /                             \ \  \\\  \  \ \  \\ \
/ // /  / //  //   /   /                         \     \ \  \\\  \  \ \  \\ \
MOVE43000150====================================================================











































NEWQ43000100
   .           .        .   .    .    .       .       .      .   .   .       .
         .   .     .   .          .                         .             .   .
    .                     .                    .      .           .     .    .
            .     .              .   .   .          .           .   .
     .               .     .
.     .                                        .     .    .    .           .
          .    .                   .                           .    .
                        .    .           .          .
   .     .        .
 .            .           .         .          .          .     .       .    .
        .            .        .
   .                                    .                            .
            .    .                .           .      .           .       .   .
                         .                                 .
  .      .      .   .                   .
            .         .         .              .     .    .       .
      .        .          .  .                                          .   .
                                   .   .                     .
         .   .     .    .    .             .                       .
    .                         .                         .                .  .
                  .                 .       .   .           .
  .     .    .                          .                     .     .          .
                        .                            .
    .                          .     .     .    .                         .   .
          .       .                                      .
                          .                                    .     .    .
 .      .     .       .         .                  .     .       .          .
                                     .     .
           .      .                                      .             .   .   .
    .                     .                         .       .    .
 .      .                       .     .   .    .                      .    .
           .  .                                      .
   .                  .                    .                .
          .      .                                .      .        .        .
    .  .      .            .       .                                  .
           .                                           .                      .
                              .            .      .           .
 .      .          .                 .                             .       .
              .             .                     .     .  .    .             .
                                  .      .     .                      .
           .           .             .                             .       .
                             .                       .        .
                 .
REDA43000000











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 2











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 3











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 4











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 5











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 6











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 7











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 8











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 9











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 10











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDA43000000 11











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------











REDB43000000











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 2











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 3











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 4











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 5











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 6











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 7











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 8











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 9











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 10











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










REDB43000000 11











                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S










INTR43000300
                    .   .                 .    .          .     .   .
  .     .   .                 .                             .         .    .
                  .       .         .                .
  .                                        .      .              .
      .   .      .    .         .                         .            .   .
                   .      .          .
      .      .                          .    .
  .               .    . .       .     .   .      .     .    .          .
     .                                                             .
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
             .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
    .                                               .             .  .
                           .                                               .  .
          .   .                  .      .   .
                      .                                .
   .                                                                .  .
                                     .               .
             .              .                               .   . .
  .                   .               .
         .                       .                  .              .
                                                           .
INTR43000000 ===================================================================
 \     \   \    \       \    \    \                    /     /         /    /
\                \       \         \         /      / /            /
 \  \   \      \    \         \             /      /        /     /      /   /
     \   \      \\   \  \      \                           /            /   /
    \      \      \      \                /    /
\    \      \   \    \ \       \         /   //     /     /    /          /
 \ \             \    \ \       \       /   /      /     /    /      /   /
    \ \                                                             /
       \ \    \      \                       /             /               /
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
 /  /   /   / /     /            /      \     \            \     \          \
   /   /     /     /            /        \     \     \      \      \  \
                          /                           \             \  \    \  \
         /   /           /      /        \   \                               \
        /   /        /         /          \   \         \
  /                 /                                    \           \  \
 /                                                    \               \  \
            /              /                           \     \   \ \
 /         /         /    /            \                      \   \ \
/       /           /           /       \            \              \
INTR43000000 ===================================================================
 \     \   \    \       \    \    \           /      / /     /      /  /    /
\  \   \      \  \ \     \   \     \         /      / /      /     /      /   /
 \  \   \      \\   \  \      \             /      /        /     /      /   /
   \ \   \\     \\   \  \      \                /          /            /   /
    \      \   \  \ \ \  \    \           /   //     /     /    /          /
\ \  \      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \           \    \ \       \       /   /      /     /    /      /   /
    \ \ \    \      \                         /             /       /       /
   \   \ \    \      \   \    \              /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
 /  /  //   / /     /  /        //      \     \         \  \     \     \    \
/  /   /   / /     /            /        \     \     \      \     \\  \      \
  /   /     /     /       /    /          \     \     \      \      \  \    \  \
         /   /           /      /        \   \         \             \  \    \
        /   /        /  /      /          \   \         \                     \
  /    /   /        /         /            \   \         \           \  \
 /                 /                                  \   \           \  \
/           /              /                           \     \   \ \   \  \
 /         /         /    /            \                \     \   \ \
/       / /         /    /      /       \            \         \   \\\
INTR43000000 ===================================================================
 \\   \\   \ \  \ \     \   \\    \           /      / /     //     /  /   //  /
\  \   \      \\ \ \  \  \   \     \         /      / /      /     /      /   /
 \\ \   \\     \\   \  \      \             /    / /        /     /      /   /
   \ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \  \      \   \  \ \ \  \    \           /   //     /     /    /      /   /
\ \ \\      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \ \    \    \ \  \ \       \       /   /  /   /     /   //      /   /   /
  \ \ \ \    \      \   \    \                /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \     \    \ \
/  /  //   / /     /  /        //        \     \     \   \  \     \\  \ \    \
  /   /   / /     /       /    /          \     \     \      \     \\  \    \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \      \  \    \
        /   /        /  /      /          \   \         \             \  \    \
  /    /   /        /  /      /            \   \         \           \  \      \
 /        /        /         /              \   \     \   \           \  \
/           /     /        /                           \     \   \ \   \  \
 /         /         /    /            \                \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\
INTR43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \   \\    \           /      / /     //     /  /   //  /
\\ \   \\     \\ \ \  \  \   \     \         /    / / /      /     /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\  \ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \ \\      \   \  \ \ \  \    \           /   //     /     /    /      /   /
\ \ \\\    \\   \ \  \ \       \         /   // /   /     /   //      /   /   /
 \ \ \ \    \    \ \  \\\   \   \       /   /  /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\  \ \    \ \
  /  //   / /     /  /    /   //          \     \     \   \  \     \\  \ \  \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \     \\  \    \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
  /    /   /        /  /      /            \   \         \           \ \\ \    \
 /        /        /  /      /              \   \     \   \           \  \
/        /  /     /        //                \   \     \     \   \ \   \  \
 /         /     /   /    /            \                \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\   \  \
INTR43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \   \\    \           /    / / /     //     /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\ \\ \   \\   \ \\ \ \  \    \ \           /   //     /    //    /      /   /
 \ \\\    \\   \ \\ \ \  \    \           /   // /   /     /   //      /   /
\ \ \\\    \\   \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /    /    //
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
 /  // ///  / /     /  /    /   //      \     \    \    \  \ \  \\ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 /  //   /   /   /  /    /   // /        \ \ \   \     \   \  \     \\  \ \  \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
  /    /   /   /    /  /    / /            \ \ \         \      \    \ \\ \    \
 /        /        /  /      /              \   \     \   \           \  \ \
/        /  /     /  /     //                \   \     \     \   \ \   \  \
 /      /  /     /   /    //           \      \   \     \     \   \ \   \  \
/       / /         /    /      /       \            \   \     \   \\\   \  \
INTR43000000 ===================================================================
 \\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\ \   \\   \ \\ \ \  \    \ \             /   // /   /    //    /      /   /
\ \\\\   \\   \ \\ \ \  \    \ \           /   // /   /    //   //      /   /
 \ \\\    \\   \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / /  /    //
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /   //    //
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 /  // ///  / /    //  /    /   //      \     \    \    \  \ \  \\ \   \\   \ \
/  // ///  / /     /  /    /   //        \     \    \\   \  \ \  \\\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 // //   /   /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\  \ \  \ \
/  //   /   /   /  / /  /   // /          \ \ \         \   \  \      \  \ \  \
  /    /   /   /    /  /    / /            \ \ \         \      \    \ \\ \    \
 /        /   /    /  /    / /              \ \ \     \   \           \  \ \
/        /  /     /  /     //                \   \     \   \ \   \ \   \  \ \
 /      /  /     /   /    //           \      \   \     \     \   \ \   \  \
/      // /     /   /    //     /       \      \   \ \   \     \   \\\   \  \
INTR43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\ \   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //    /      /   /
 \\\\   \\   \ \\ \ \  \    \ \             /   // /   /    //   //      /   /
\ \\\\   \\   \ \\ \ \  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / /  //   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //    //
   \ \ \ \ \  \  \   \   \\   \            / /     / /     / /   /   //   ///
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 // // ///  / /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  /    /   //        \     \    \\   \  \ \  \\\\ \ \\   \ \
  // ///  / /     /  /    /   //          \     \    \\   \  \ \  \\\\ \ \  \ \\
 // //   / / /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\\ \ \  \ \
// //   /   /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\  \ \  \
  //   /   /   /  / /  /   // /            \ \ \         \   \  \    \ \\ \ \  \
 //   /   /   /    /  /    / /              \ \ \     \   \      \    \ \\ \
//       /  //    /  /    ///                \ \ \     \   \ \   \ \   \ \\ \
 /      /  /     /  //    //           \      \   \     \   \ \   \ \   \ \\ \
/      // /     /   /    //     /       \      \   \ \   \     \   \\\   \  \
INTR43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///    /  /   //  /
\\\\   \\   \ \\ \ \  \  \ \ \     \         /   // / / /    //   //      /   /
 \\\\   \\   \ \\ \ \  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /   / /   //    / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / /  //   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //   ///
   \ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  /    /   //          \     \    \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /   /  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \  \ \
// //   / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\\ \ \  \
/ //   /   /   /  / /  /   // /            \ \ \   \     \   \  \ \  \\\\ \ \  \
 //   /   /   /  / /  /   // /              \ \ \     \   \   \  \    \ \\ \ \
//   /   /  //    /  /    ///                \ \ \     \   \ \   \\\   \ \\ \
//      /  //    /  //   ///           \      \ \ \     \   \ \   \ \   \ \\ \
/      // /     /  //    //     /       \      \   \ \   \   \ \   \\\   \  \ \
INTR43000000 ===================================================================
\\\   \\   \ \\ \ \  \  \ \ \\    \           /   // / / /   ///   //  /   //  /
\\\\   \\   \ \\ \ \  \\ \ \ \     \         /   // / / /   ///   //    / /  //
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /   ///   //    / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   / / / /   ///   / /  //   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///  ///
  \ \ \ \ \  \  \   \   \    \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \  \
/ //   / / /   /  / /  /   // /            \ \ \   \    \\   \  \ \  \\\\ \ \  \
 //   /   /   /  / /  /   // /              \ \ \   \ \   \   \  \ \  \\\\ \ \
//   /   /  //  / /  /   ////                \ \ \     \   \ \ \ \\\   \ \\ \ \
//  /   /  //    /  //   ///           \      \ \ \     \   \ \ \ \\\   \ \\ \
/      // //    /  //   ///     /       \      \ \ \ \   \   \ \   \\\   \ \\ \
INTR43000000 ===================================================================
\\\   \\   \ \\ \ \  \\ \ \ \\    \           /   // / / /   ///   //  / / // //
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /   ///   //    / /  //
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /   ///   //    / /  //
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   / / ///   ///   / /  //
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   / / / /   ///   / / ///   /
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  //   /   // /        \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /  //  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \\ \
/ ///  / / /   /  / /  /   // /            \ \ \   \    \\   \  \ \  \\\\ \ \  \
 //   / / /   /  / /  /   // /              \ \ \   \ \  \\   \  \ \  \\\\ \ \
//   /   /  //  / /  /   ////                \ \ \   \ \   \ \ \ \\\\  \\\\ \ \
//  /   /  //  / /  //  ////           \      \ \ \     \   \ \ \ \\\   \ \\ \
/  /   // //    /  //   ///     /       \      \ \ \ \   \   \ \ \ \\\   \ \\ \
INTR43000000 ===================================================================
\\\\  \\ \ \ \\ \\\  \\ \ \ \\    \           /   // / / /// ///  //// / / /////
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /// ///  ////   / / ///
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /// ///  ////   / / ///
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /// ///  ////   / / ///  /
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /// / /  ////   / / ///  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \
/ /// // / /  //  ///  /   // /            \ \ \   \ \  \\   \  \ \  \\\\ \ \  \
 ///  / / /  //  ///  /   // /              \ \ \   \ \  \\   \  \ \  \\\\ \ \
///  / / /  //  / /  /   ////                \ \ \   \ \  \\ \ \ \\\\  \\\\ \ \
//  / / /  //  / /  //  ////           \      \ \ \   \ \  \\ \ \ \\\\  \ \\ \
/  / / // //  / /  //  ////     /       \      \ \ \ \ \ \  \\ \ \ \\\\  \ \\ \
INTR43000000 ===================================================================
\\\\  \\ \ \ \\ \\\  \\ \ \ \\    \           /   // / / /// ///  //// / / /////
\\\\\  \\ \ \ \\ \\\  \\ \ \ \     \         /   // / / /// ///  ////   / / ///
 \\\\\  \\ \ \ \\ \\\  \\   \ \             /   // /   /// ///  ////   / / ///
\ \\\\\  \\ \ \ \\ \\\  \\   \ \           /   // /   /// ///  ////   / / ///  /
 \ \\\ \  \\ \ \ \\ \\\  \\   \           /   // /   /// / /  ////   / / ///  //
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
\\ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \
/ /// // / /  //  ///  /   // /            \ \ \   \ \  \\\  \  \ \  \\\\ \ \  \
 /// // / /  //  ///  /   // /              \ \ \   \ \  \\\  \  \ \  \\\\ \ \
/// // / /  //  ///  /   ////                \ \ \   \ \  \\\\ \ \\\\  \\\\ \ \
// // / /  //  ///  //  ////           \      \ \ \   \ \  \\\\ \ \\\\  \ \\ \
/ // / // //  ///  //  ////     /       \      \ \ \ \ \ \  \\\\ \ \\\\  \ \\ \
INTR43000000 15=================================================================
\\\\  \\ \ \ \\ \\\  \\   \ \                 /   // /   /// ///  ////   / / ///
\\\ \  \\ \ \ \\ \\\  \\   \                 /   // /   /// / /  ////   / / ///
 \\\ \  \\ \ \ \  \\\   \   \               /   // /   /// / /  ////   / / ///
\ \ \ \  \  \ \ \  \\\   \   \             /   // /   /// / /  ////   / / ///  /
 \ \ \ \  \  \   \   \\   \                    / /    // /    // /   / / //   //
\ \ \ \ \  \  \   \   \\   \                  / /    // /    // /   /   //   ///
\\ \   \ \  \  \   \   \\   \                / /    // /    // /   /   //   ///
 \\ \   \ \  \  \   \   \\   \              /      // /    /  /   /   //   ///
  \\ \   \ \  \  \   \    \                /      //      /  /       /    ///
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /









         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
 /// /   / /  /    /    /   /                 \ \  \\\     \ \  \\ \    \ \ \ \\
/// / / / /  /    /   //   /   /               \ \  \\\  \  \ \  \\ \   \\ \ \ \
// / / / // /    /   //   /   /                 \ \  \\\  \  \ \  \\ \   \\ \ \
/// /// // /    //  //   /   //            \     \ \  \\\  \  \ \  \\ \ \ \\ \ \
// /// // /    //  //   /   //              \     \ \  \\\  \  \ \  \\\\ \ \\ \
/ /// // /    //  //   /   //                \     \ \  \\\  \  \ \  \\\\ \ \  \
 /// // / /  //  //   /   // /              \ \ \   \ \  \\\  \  \ \  \\\\ \ \
/// // / /  //  ///  /   // /                \ \ \   \ \  \\\\ \  \ \  \\\\ \ \
// // / /  //  ///  /   // /                  \ \ \   \ \  \\\\ \  \ \  \ \\ \
/ // / // //  ///  /   // /                    \ \ \   \ \  \\\\ \  \ \  \ \\ \
INTR43000000 16=================================================================
 \ \  \  \   \   \\   \                            / /    // /    // /   /   //
  \ \  \  \   \   \\   \                          /      // /    // /   /   //
   \ \  \  \   \    \                            /      //      /  /       /
\   \    \      \    \                                 //      /  /       /    /
 \   \    \      \    \                               //      /  /       /    //
  \   \    \      \    \                             /       /          /    //
\  \   \    \      \    \                           /       /          /    //
 \                                                 /                  /     /
  \                                                                  /     /
                                                                    /





















   /
  /                                                 \                         \
 /                                                   \                    \    \
/ /       /            /                              \           \        \
 /       /            /                           \   \\     \     \        \ \
/       /       /    /                             \   \\     \     \      \ \ \
     / /       /    /   /                         \ \   \\     \    \\      \ \
    / /  /    /    /   /                           \ \   \\     \    \\ \    \ \
   / /  /    /    /   /                             \ \  \\\     \ \  \\ \    \
/ / /  /    /   //   /   /                           \ \  \\\  \  \ \  \\ \    \
 / // /    /   //   /   /                             \ \  \\\  \  \ \  \\ \
/ // /  / //  //   /   /                         \     \ \  \\\  \  \ \  \\ \
INTR43000300====================================================================












            K     K L        IIIII  N     N  GGGGG   OOOOO  N     N
            K    K  L          I    NN    N G     G O     O NN    N
            K   K   L          I    N N   N G       O     O N N   N
            KKKK    L          I    N  N  N G       O     O N  N  N
            K   K   L          I    N   N N G   GGG O     O N   N N
            K    K  L          I    N    NN G     G O     O N    NN
            K     K LLLLLLL  IIIII  N     N  GGGGG   OOOOO  N     N


                                       A

                     S P A C E   W A R   A D V E N T U R E


                              W R I T T E N   B Y

                          L A R R Y   W I L L I A M S














MOVE32000100
                   .      .          .
      .      .                          .    .
  .               .    . .       .     .   .      .     .    .          .
     .                                                             .
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
    .                                               .             .  .
                           .                                               .  .
          .   .                  .      .   .
                      .                                .
   .                                                                .  .
MOVE32000000 ===================================================================
\    \      \   \    \ \       \         /   //     /     /    /          /
 \ \             \    \ \       \       /   /      /     /    /      /   /
    \ \                                                             /
       \ \    \      \                       /             /               /
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
 /  /   /   / /     /            /      \     \            \     \          \
   /   /     /     /            /        \     \     \      \      \  \
                          /                           \             \  \    \  \
         /   /           /      /        \   \                               \
        /   /        /         /          \   \         \
MOVE32000000 ===================================================================
\ \  \      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \           \    \ \       \       /   /      /     /    /      /   /
    \ \ \    \      \                         /             /       /       /
   \   \ \    \      \   \    \              /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
 /  /  //   / /     /  /        //      \     \         \  \     \     \    \
/  /   /   / /     /            /        \     \     \      \     \\  \      \
  /   /     /     /       /    /          \     \     \      \      \  \    \  \
         /   /           /      /        \   \         \             \  \    \
        /   /        /  /      /          \   \         \                     \
MOVE32000000 ===================================================================
\ \ \\      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \ \    \    \ \  \ \       \       /   /  /   /     /   //      /   /   /
  \ \ \ \    \      \   \    \                /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \     \    \ \
/  /  //   / /     /  /        //        \     \     \   \  \     \\  \ \    \
  /   /   / /     /       /    /          \     \     \      \     \\  \    \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \      \  \    \
        /   /        /  /      /          \   \         \             \  \    \
MOVE32000000 ===================================================================
\ \ \\\    \\   \ \  \ \       \         /   // /   /     /   //      /   /   /
 \ \ \ \    \    \ \  \\\   \   \       /   /  /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\  \ \    \ \
  /  //   / /     /  /    /   //          \     \     \   \  \     \\  \ \  \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \     \\  \    \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
MOVE32000000 ===================================================================
\ \ \\\    \\   \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /    /    //
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
 /  // ///  / /     /  /    /   //      \     \    \    \  \ \  \\ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 /  //   /   /   /  /    /   // /        \ \ \   \     \   \  \     \\  \ \  \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / /  /    //
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /   //    //
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 /  // ///  / /    //  /    /   //      \     \    \    \  \ \  \\ \   \\   \ \
/  // ///  / /     /  /    /   //        \     \    \\   \  \ \  \\\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 // //   /   /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\  \ \  \ \
/  //   /   /   /  / /  /   // /          \ \ \         \   \  \      \  \ \  \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / /  //   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //    //
   \ \ \ \ \  \  \   \   \\   \            / /     / /     / /   /   //   ///
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 // // ///  / /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  /    /   //        \     \    \\   \  \ \  \\\\ \ \\   \ \
  // ///  / /     /  /    /   //          \     \    \\   \  \ \  \\\\ \ \  \ \\
 // //   / / /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\\ \ \  \ \
// //   /   /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\  \ \  \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / /  //   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //   ///
   \ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  /    /   //          \     \    \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /   /  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \  \ \
// //   / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\\ \ \  \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///  ///
  \ \ \ \ \  \  \   \   \    \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \  \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  //   /   // /        \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /  //  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \\ \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \
MOVE32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
\\ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \
MOVE32000000 15=================================================================
\ \ \ \ \  \  \   \   \\   \                  / /    // /    // /   /   //   ///
\\ \   \ \  \  \   \   \\   \                / /    // /    // /   /   //   ///
 \\ \   \ \  \  \   \   \\   \              /      // /    /  /   /   //   ///
  \\ \   \ \  \  \   \    \                /      //      /  /       /    ///
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /








         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
 /// /   / /  /    /    /   /                 \ \  \\\     \ \  \\ \    \ \ \ \\
/// / / / /  /    /   //   /   /               \ \  \\\  \  \ \  \\ \   \\ \ \ \
// / / / // /    /   //   /   /                 \ \  \\\  \  \ \  \\ \   \\ \ \
/// /// // /    //  //   /   //            \     \ \  \\\  \  \ \  \\ \ \ \\ \ \
// /// // /    //  //   /   //              \     \ \  \\\  \  \ \  \\\\ \ \\ \
MOVE32000000 16=================================================================
\   \    \      \    \                                 //      /  /       /    /
 \   \    \      \    \                               //      /  /       /    //
  \   \    \      \    \                             /       /          /    //
\  \   \    \      \    \                           /       /          /    //
 \                                                 /                  /     /
  \                                                                  /     /
                                                                    /
















   /
  /                                                 \                         \
 /                                                   \                    \    \
/ /       /            /                              \           \        \
 /       /            /                           \   \\     \     \        \ \
/       /       /    /                             \   \\     \     \      \ \ \
     / /       /    /   /                         \ \   \\     \    \\      \ \
    / /  /    /    /   /                           \ \   \\     \    \\ \    \ \
   / /  /    /    /   /                             \ \  \\\     \ \  \\ \    \
MOVE32000150====================================================================
































NEWQ32000100
.     .                                        .     .    .    .           .
          .    .                   .                           .    .
                        .    .           .          .
   .     .        .
 .            .           .         .          .          .     .       .    .
        .            .        .
   .                                    .                            .
            .    .                .           .      .           .       .   .
                         .                                 .
  .      .      .   .                   .
            .         .         .              .     .    .       .
      .        .          .  .                                          .   .
                                   .   .                     .
         .   .     .    .    .             .                       .
    .                          .                        .                .  .
  .     .    .                          .                     .     .          .
                        .                            .
    .                          .     .     .    .                         .   .
          .       .                                      .
                          .                                    .     .    .
 .      .     .       .         .                  .     .       .          .
                                     .     .
           .      .                                      .             .   .   .
    .                     .                         .       .    .
 .      .                       .     .   .    .                      .    .
           .  .                                      .
   .                  .                    .                .
          .      .                                .      .        .        .
    .  .      .            .       .                                  .
           .                                           .                      .
                              .            .      .           .
 .      .          .                 .                             .       .
REDA32000000





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 2





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 3





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 4





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 5





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 6





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 7





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 8





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 9





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 10





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDA32000000 11





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------






REDB32000000





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 2





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 3





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 4





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 5





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 6





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 7





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 8





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 9





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 10





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





REDB32000000 11





                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S





INTR32000300
                   .      .          .
      .      .                          .    .
  .               .    . .       .     .   .      .     .    .          .
     .                                                             .
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
    .                                               .             .  .
                           .                                               .  .
          .   .                  .      .   .
                      .                                .
   .                                                                .  .
INTR32000000 ===================================================================
\    \      \   \    \ \       \         /   //     /     /    /          /
 \ \             \    \ \       \       /   /      /     /    /      /   /
    \ \                                                             /
       \ \    \      \                       /             /               /
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
 /  /   /   / /     /            /      \     \            \     \          \
   /   /     /     /            /        \     \     \      \      \  \
                          /                           \             \  \    \  \
         /   /           /      /        \   \                               \
        /   /        /         /          \   \         \
INTR32000000 ===================================================================
\ \  \      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \           \    \ \       \       /   /      /     /    /      /   /
    \ \ \    \      \                         /             /       /       /
   \   \ \    \      \   \    \              /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
 /  /  //   / /     /  /        //      \     \         \  \     \     \    \
/  /   /   / /     /            /        \     \     \      \     \\  \      \
  /   /     /     /       /    /          \     \     \      \      \  \    \  \
         /   /           /      /        \   \         \             \  \    \
        /   /        /  /      /          \   \         \                     \
INTR32000000 ===================================================================
\ \ \\      \   \    \ \       \         /   //     /     /    /      /   /
 \ \ \ \    \    \ \  \ \       \       /   /  /   /     /   //      /   /   /
  \ \ \ \    \      \   \    \                /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \     \    \ \
/  /  //   / /     /  /        //        \     \     \   \  \     \\  \ \    \
  /   /   / /     /       /    /          \     \     \      \     \\  \    \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \      \  \    \
        /   /        /  /      /          \   \         \             \  \    \
INTR32000000 ===================================================================
\ \ \\\    \\   \ \  \ \       \         /   // /   /     /   //      /   /   /
 \ \ \ \    \    \ \  \\\   \   \       /   /  /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /       /     /     /    /    /
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
 /  // //   / /     /  /        //      \     \    \    \  \ \   \ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\  \ \    \ \
  /  //   / /     /  /    /   //          \     \     \   \  \     \\  \ \  \ \\
 /   /   /   /   /       /    / /        \ \ \   \     \      \     \\  \    \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
INTR32000000 ===================================================================
\ \ \\\    \\   \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /       /     /     / /  /    /
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /    /    //
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
 /  // ///  / /     /  /    /   //      \     \    \    \  \ \  \\ \   \    \ \
/  // //   / /     /  /        //        \     \    \\   \  \ \   \\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 /  //   /   /   /  /    /   // /        \ \ \   \     \   \  \     \\  \ \  \ \
/   /   /   /   /    /  /    / /          \ \ \         \      \      \  \    \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /   / /   //    / /  //   /
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / /  /    //
   \   \ \ \  \  \   \   \    \            / /     / /     / /   /   //    //
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 /  // ///  / /    //  /    /   //      \     \    \    \  \ \  \\ \   \\   \ \
/  // ///  / /     /  /    /   //        \     \    \\   \  \ \  \\\\ \ \    \ \
  // //   / /     /  /    /   //          \     \    \\   \  \ \   \\  \ \  \ \\
 // //   /   /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\  \ \  \ \
/  //   /   /   /  / /  /   // /          \ \ \         \   \  \      \  \ \  \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /   / /   //    / /  //   /
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / /  //   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //    //
   \ \ \ \ \  \  \   \   \\   \            / /     / /     / /   /   //   ///
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
 // // ///  / /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  /    /   //        \     \    \\   \  \ \  \\\\ \ \\   \ \
  // ///  / /     /  /    /   //          \     \    \\   \  \ \  \\\\ \ \  \ \\
 // //   / / /   /  /    /   // /        \ \ \   \    \\   \  \ \   \\\ \ \  \ \
// //   /   /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\  \ \  \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / /  //   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///   //
  \ \ \ \ \  \  \   \   \    \              / /     / /     / /   / / //   ///
   \ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\   \ \
// // ///  / /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  /    /   //          \     \    \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /   /  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \  \ \
// //   / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \   \\\ \ \  \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///   //
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   / / / /   ///   / / ///  ///
  \ \ \ \ \  \  \   \   \    \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\   \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\   \ \
/ // ///  / /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  /    /   // /        \ \ \   \    \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /   /  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \  \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   / / / /   ///   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\   \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\   \  \ \  \\\\ \ \\ \ \\
 // ///  / / /  //  //   /   // /        \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \ \
// ///  / / /  //  / /  /   // /          \ \ \   \    \\   \  \ \  \\\\ \ \\ \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
 \ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\   \  \ \  \\\\ \ \\ \
INTR32000000 ===================================================================
\ \ \\\ \  \\ \ \ \  \\\   \   \         /   // /   /// / /  ////   / / ///  ///
\\ \ \ \ \  \  \ \ \  \\\   \   \       /   // /   /// / /  ////   / / ///  ///
 \\ \ \ \ \  \  \   \   \\   \              / /    // /    // /   / / //   ///
  \\ \ \ \ \  \  \   \   \\   \            / /    // /    // /   /   //   ///
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /


            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
 ///// /// // /    //  //   /   //      \     \ \  \\\  \  \ \  \\ \   \\ \ \ \\
///// /// // /    //  //   /   //        \     \ \  \\\  \  \ \  \\\\ \ \\ \ \ \
//// /// // /    //  //   /   //          \     \ \  \\\  \  \ \  \\\\ \ \\ \ \\
/// /// // / /  //  //   /   // /        \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \ \
// /// // / /  //  ///  /   // /          \ \ \   \ \  \\\  \  \ \  \\\\ \ \\ \
INTR32000000 15=================================================================
\ \ \ \ \  \  \   \   \\   \                  / /    // /    // /   /   //   ///
\\ \   \ \  \  \   \   \\   \                / /    // /    // /   /   //   ///
 \\ \   \ \  \  \   \   \\   \              /      // /    /  /   /   //   ///
  \\ \   \ \  \  \   \    \                /      //      /  /       /    ///
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /








         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
 /// /   / /  /    /    /   /                 \ \  \\\     \ \  \\ \    \ \ \ \\
/// / / / /  /    /   //   /   /               \ \  \\\  \  \ \  \\ \   \\ \ \ \
// / / / // /    /   //   /   /                 \ \  \\\  \  \ \  \\ \   \\ \ \
/// /// // /    //  //   /   //            \     \ \  \\\  \  \ \  \\ \ \ \\ \ \
// /// // /    //  //   /   //              \     \ \  \\\  \  \ \  \\\\ \ \\ \
INTR32000000 16=================================================================
\   \    \      \    \                                 //      /  /       /    /
 \   \    \      \    \                               //      /  /       /    //
  \   \    \      \    \                             /       /          /    //
\  \   \    \      \    \                           /       /          /    //
 \                                                 /                  /     /
  \                                                                  /     /
                                                                    /
















   /
  /                                                 \                         \
 /                                                   \                    \    \
/ /       /            /                              \           \        \
 /       /            /                           \   \\     \     \        \ \
/       /       /    /                             \   \\     \     \      \ \ \
     / /       /    /   /                         \ \   \\     \    \\      \ \
    / /  /    /    /   /                           \ \   \\     \    \\ \    \ \
   / /  /    /    /   /                             \ \  \\\     \ \  \\ \    \
INTR32000300====================================================================







            K     K L        IIIII  N     N  GGGGG   OOOOO  N     N
            K    K  L          I    NN    N G     G O     O NN    N
            K   K   L          I    N N   N G       O     O N N   N
            KKKK    L          I    N  N  N G       O     O N  N  N
            K   K   L          I    N   N N G   GGG O     O N   N N
            K    K  L          I    N    NN G     G O     O N    NN
            K     K LLLLLLL  IIIII  N     N  GGGGG   OOOOO  N     N


                                       A

                     S P A C E   W A R   A D V E N T U R E


                              W R I T T E N   B Y

                          L A R R Y   W I L L I A M S








MOVE24   100
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
             .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
MOVE24     0
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
MOVE24     0
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
MOVE24     0
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
MOVE24     0
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
MOVE24     0
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
MOVE24     0
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
MOVE24     0
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
MOVE24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
MOVE24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
MOVE24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
MOVE24     0
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /









         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
MOVE24   150
























NEWQ24   100
 .            .           .         .          .          .     .       .    .
        .            .        .
   .                                    .                            .
            .    .                .           .      .           .       .   .
                         .                                 .
  .      .      .   .                   .
            .         .         .              .     .    .       .
      .        .          .  .                                          .   .
                                   .   .                     .
         .   .     .    .    .             .                       .
    .                         .                         .                .  .
                  .                 .       .   .           .
  .     .    .                          .                     .     .          .
                        .                            .
    .                          .     .     .    .                         .   .
          .       .                                      .
                          .                                    .     .    .
 .      .     .       .         .                  .     .       .          .
                                     .     .
           .      .                                      .             .   .   .
    .                     .                         .       .    .
 .      .                       .     .   .    .                      .    .
           .  .                                      .
   .                  .                    .                .
REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDA24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------

REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           />>                                                   <<\
          + >>>                                                 <<< +
           \>>                                                   <</
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /   >>                                             <<   \
          +    >>>                                           <<<    +
           \   >>                                             <<   /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /      >>                                       <<      \
          +       >>>                                     <<<       +
           \      >>                                       <<      /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /         >>                                 <<         \
          +          >>>                               <<<          +
           \         >>                                 <<         /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /            >>                           <<            \
          +             >>>                         <<<             +
           \            >>                           <<            /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /               >>                     <<               \
          +                >>>                   <<<                +
           \               >>                     <<               /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                  >>               <<                  \
          +                   >>>             <<<                   +
           \                  >>               <<                  /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                     >>         <<                     \
          +                      >>>       <<<                      +
           \                     >>         <<                     /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                        >>   <<                        \
          +                         >>> <<<                         +
           \                        >>   <<                        /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
REDB24     0


                    _______________________________________
                   /                                       \
                  /         RRRRRR  FEEEEEE DDDDDD          \
                 /          R     R E       D     D          \
                /           R     R E       D     D           \
               /            RRRRRR  EEEEE   D     D            \
              /             R   R   E       D     D             \
             /              R    R  E       D     D              \
            /               R     R EEEEEEE DDDDDD                \
           /                                                       \
          +                                                         +
           \                                                       /
            \        AAAAA  L       FEEEEEE RRRRRR  TTTTTTT       /
             \      A     A L       E       R     R    T         /
              \     A     A L       E       R     R    T        /
               \    A     A L       EEEEE   RRRRRR     T       /
                \   AAAAAAA L       E       R   R      T      /
                 \  A     A L       E       R    R     T     /
                  \ A     A LLLLLLL EEEEEEE R     R    T    /
                   \                                       /
                    ---------------------------------------
                        B A T T L E     S T A T I O N S
INTR24   300
        .
           .    .      .                   .             .               .
      .                     .    .                .           .    .
               .     .                 .                                     .

   .     .                                   .         .       .      .
      .
             .   .    .      .    .                               .      .
    .                                    .       .
       .    .                                                    .    .        .
                                                          .                 .
                  .      .      .              .     .             .    .
             .
    .                                     .                                  .
                                                                .    .
            .       .            .                      .
                                        .   .      .                      .
         .                .                                      .   .        .
               .                  .     .                 .
                   .                                          .
         .                                     .         .                .
          .               .        .                 .              .
   .          .                                                .          .   .
     .   .     .     .            .    .     .            .
INTR24     0
    \     \    \      \   \    \            /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
              \     \                   /                                     /
 \     \                                       /         /       /      /
  \ \   \                                     /         /       /      /
     \     \   \    \      \    \                                   /      /
  \         \   \    \      \    \         /       /               /      /
   \ \    \                               /       /                /    /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /                                         \                    \    \        \
           /       /            /                        \        \    \
          /       /            /         \   \      \     \                \
        /                /                \   \      \            \   \     \  \
       /      /         /        /       \                 \       \   \
             /    /             /         \                 \  \
        /        /                              \         \     \          \
       / /               /        /              \    \    \         \      \
  /     /    /          /        /                     \        \     \    \   \
INTR24     0
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /         /           /    /          /
\     \       \     \                   /       /         /       /      /    /
 \ \   \                                       /         /       /      /
  \ \   \ \   \    \      \    \              /         /       /    / /    /
 \   \     \   \    \      \    \           /       /               /      /
  \ \    \  \   \    \      \    \         /       /               //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /         /       /            /            \           \        \    \
          /       /            /         \   \      \     \        \    \  \
        //       /       /    /           \   \      \     \      \   \     \  \
       /      /         /        /       \ \   \      \    \       \   \     \
      /      /    /    /        /         \                 \  \    \   \
        /   /    /             /           \    \         \  \  \          \
       / /      /        /        /              \    \    \     \   \      \
  /   / /    /          /        /                \    \    \   \     \    \ \ \
INTR24     0
    \     \ \  \  \   \   \    \          / /       /     /     /    /    /
     \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \       \     \                   /       /         /       /      /    /
 \ \   \ \   \    \      \    \                /         /       /    / /    /
\ \ \   \ \   \    \      \    \             //      /  /       /    / /    /
 \ \ \  \  \   \    \      \    \           /       /               //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/         /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \      \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \   \     \
      /      /    /    /        /         \ \   \      \    \  \    \   \     \
     /  /   /    /    /        /           \    \         \  \  \    \   \ \
       / / /    /        /    /   /         \    \    \    \  \  \   \      \
  /   / /    / /        /    /   /                \    \    \   \ \   \    \ \ \
INTR24     0
    \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \       \     \       \    \        /       / /       /   /   //     /    /
\ \   \ \   \ \  \  \   \    \          /       /         /       /    / /    /
 \ \   \ \   \    \      \    \               //      /  /       /    / /    /
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
        //       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \      \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \   \     \
     /  /   /    /    /        /           \ \  \\      \ \  \  \    \   \ \   \
    /  / / /    /    /   /    /   /         \    \    \    \  \  \   \\   \ \
  /   / / /  / /        /    /   /           \    \    \    \  \\ \   \    \ \ \
INTR24     0
\   \     \ \  \  \   \   \    \          / /     / /     / /   /   //    //
 \   \ \   \ \  \  \   \   \\   \        /       / /       /   /   //   / /    /
\ \   \ \   \ \  \  \   \    \          /      //      /  /       /    / /    /
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
       //     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \      \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \   \ \   \
    /  / / /    /    /   /    /   /         \ \  \\   \  \ \  \  \   \\   \ \
  //  / / /  / /    /   /    /   /           \    \    \    \  \\ \   \\   \ \ \
INTR24     0
\   \ \   \ \  \  \   \   \\   \          / /     / /     / /   /   //   ///
 \   \ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /    /
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
      //     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\      \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\   \ \
  //  / / /  / /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
INTR24     0
\   \ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   / /   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
     // /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\   \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\   \ \ \
INTR24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
    // / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\   \  \ \  \\ \   \\ \ \ \\\
INTR24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
INTR24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
INTR24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
INTR24     0
\  \\ \   \ \  \  \   \   \\   \          / /    // /    // /   /   //   ///   /
 \  \\ \   \ \  \  \   \   \\   \        /      // /    /  /   /   //   ///   //
\ \  \\ \   \ \  \  \   \    \          /      //      /  /       /    ///   //
 \ \  \\ \   \    \      \    \               //      /  /       /    ///   //
\ \ \  \\ \   \    \      \    \             //      /  /       /    ///   //
 \ \ \  \  \   \    \      \    \           /       /          /    //    //
  \ \    \  \   \    \      \    \         /       /          /    //    //
   \ \    \                               /       /          /     /    /      /
      \    \                                                /     /    /      /
                                                           /                 /



            /
   /       /                               \                                  \
  /       /                                 \                    \    \        \
 /       / /       /            /            \           \        \    \
/       / /       /            /         \   \\     \     \        \    \  \
       ///       /       /    /           \   \\     \     \      \ \ \  \  \  \
      ///     / /       /    /   /       \ \   \\     \    \\      \ \ \  \  \
     ///     / /  /    /    /   /         \ \   \\     \    \\ \    \ \ \  \  \
    /// /   / /  /    /    /   /           \ \  \\\     \ \  \\ \    \ \ \ \\  \
   /// / / / /  /    /   //   /   /         \ \  \\\  \  \ \  \\ \   \\ \ \ \\
  /// / / / // /    /   //   /   /           \ \  \\\  \  \ \  \\ \   \\ \ \ \\\
INTR24     0
\  \\ \   \    \      \    \                     //      /  /       /    ///   /
 \  \\ \   \    \      \    \                   //      /  /       /    ///   //
\ \  \  \   \    \      \    \                 /       /          /    //    //
 \    \  \   \    \      \    \               /       /          /    //    //
\ \    \                                     /       /          /     /    /
   \    \                                                      /     /    /
                                                              /









         /
/       /                                     \
       /                                       \                    \    \
      / /       /            /                  \           \        \    \
     / /       /            /               \   \\     \     \        \    \  \
    ///       /       /    /                 \   \\     \     \      \ \ \  \  \
   ///     / /       /    /   /             \ \   \\     \    \\      \ \ \  \
  ///     / /  /    /    /   /               \ \   \\     \    \\ \    \ \ \  \
INTR24     0
                                                                    /





















   /
  /                                                 \                         \
INTR24   300



            K     K L        IIIII  N     N  GGGGG   OOOOO  N     N
            K    K  L          I    NN    N G     G O     O NN    N
            K   K   L          I    N N   N G       O     O N N   N
            KKKK    L          I    N  N  N G       O     O N  N  N
            K   K   L          I    N   N N G   GGG O     O N   N N
            K    K  L          I    N    NN G     G O     O N    NN
            K     K LLLLLLL  IIIII  N     N  GGGGG   OOOOO  N     N


                                       A

                     S P A C E   W A R   A D V E N T U R E


                              W R I T T E N   B Y

                          L A R R Y   W I L L I A M S




./ ADD NAME=#KLHELP
LOGONMSG    THIS IS THE IBM VERSION OF "KLINGON", USERS ARE
LOGONMSG    REMINDED THIS IS NOT PRODUCTIVE WORK!
LOGONMSG
INTRO       Welcome to KLINGON!, A game of space war and conquest.
INTRO
INTRO       This section is intended as a brief introduction to
INTRO       KLINGON, complete rules are available in:
INTRO       (Put name of dataset here) <<<
INTRO
INTRO       During a game, if you forget a command, type "HELP"
INTRO
INTRO       IN THE NOT TOO DISTANT FUTURE: IT IS THE TIME OF 'STAR
INTRO       TREK' AND YOU ARE THE COMMANDER OF THE FLAGSHIP OF THE
INTRO       KLINGON EMPIRE, THE SUPERCOMMANDER KAZH.
INTRO
INTRO       YOUR SHIP IS THE MOST POWERFUL IN THE KNOWN GALAXY, YOUR
INTRO       MISSION: BREAK THRU THE FEDERATION DEFENSES AND DESTROY
INTRO       AS MANY FEDERATION STARBASES AS YOU CAN...
INTRO
INTRO       YOUR WEAPONRY IS AWESOME, A RACK OF 150 DISRUPTOR
INTRO       TORPEDOS|
INTRO
INTRO       YOUR FLEET: THE MIGHTIEST THE KLINGON EMPIRE HAS EVER
INTRO       GATHERED; READY TO HELP DEFEND YOU FROM ATTACKS FROM
INTRO       FEDERATION STARSHIPS.
INTRO
INTRO       SOME BRIEF INFORMATION ON YOUR SHIP:
INTRO
INTRO       WEAPONRY:    DISRUPTOR TORPEDOS (150)
INTRO       SHIELDS:     PULSED ENERGY - REFLECTIVE TYPE
INTRO       ENGINES:
INTRO                    WARP - DILITHIUM ENERGIZER -
INTRO                           STRESS FIELD TYPE
INTRO
INTRO                    IMPULSE - HYDROGEN CONVERSION TYPE
INTRO
INTRO       TOP SPEEDS:
INTRO                    MAXIMUM SAFE SPEED - WARP FACTOR (WF) 10
INTRO                    EMERGENCY SPEED    - WARP FACTOR (WF) 12
INTRO
INTRO                    IMPULSE - .95C
INTRO
INTRO       OTHER:       ANTI - PHOTON DEVICE
INTRO                    EMERGENCY FIELD DAMPENING SYSTEM
INTRO                    TRACTOR BEAM
INTRO
INTRO       IF YOU WISH TO STOP YOUR GAME EARLY, TYPE 'STOP' OR
INTRO       'TERMINATE'.
INTRO
INTRO       YOU MAY HAVE NOTICED THAT KLINGON DOES NOT HAVE
INTRO       DIFFERENT LENGTHS OF GAMES, THAT IS BECAUSE ALL OF
INTRO       THEM ARE SHORT AND NASTY|
INTRO
INTRO       HAVE FUN|
INTRO
INTROHLP
INTROHLP    At this point, you are being asked if you would like
INTROHLP    introduction instructions, please reply "YES" or "NO"
INTROHLP    or just hit "ENTER" (default="NO")
INTROHLP
ONHELP
ONHELP      At this point, you are being asked if you would like
ONHELP      an "OLD" or "NEW" game.
ONHELP
ONHELP      "OLD" = continue a "Frozen" game
ONHELP      "NEW" = start a new game
ONHELP
LEVHELP
LEVHELP     You are being asked how good a player you are:
LEVHELP     GOOD     = Starting player, this is the easiest
LEVHELP     EXPERT   = Good player, has some experience
LEVHELP     EMERITUS = World class, best player will only win 5%
LEVHELP                of the time.
LEVHELP
TOURHELP
TOURHELP    At this point, you are being asked whether you would
TOURHELP    like a "REGULAR" or "TOURNAMENT" game.
TOURHELP
TOURHELP    REGULAR    = Start the random number generator with a
TOURHELP                 number based on the time of day.
TOURHELP
TOURHELP    TOURNAMENT = Start the random number generator with a
TOURHELP                 user supplied key, the same key will
TOURHELP                 cause the same game to be generated.
TOURHELP
TOURHELP                 This option allows players to compete as
TOURHELP                 the starting setup will be the same for
TOURHELP                 all players.
TOURHELP
SRSCAN
SRSCAN      ********************
SRSCAN      * SHORT-RANGE SCAN *
SRSCAN      ********************
SRSCAN
SRSCAN        MNEMONIC-  SRSCAN
SRSCAN        SHORTEST ABBREVIATION-  S
SRSCAN        FULL COMMANDS-  SRSCAN
SRSCAN                        SRSCAN NO
SRSCAN
SRSCAN      ======================================================
SRSCAN      NOTE FOR TSO 3270 USERS ---> See Help Catagory FS3270
SRSCAN      ======================================================
SRSCAN
SRSCAN        THE SHORT-RANGE SCAN GIVES YOU A CONSIDERABLE AMOUNT OF
SRSCAN      INFORMATION ABOUT THE QUADRANT YOUR STARSHIP IS IN. A SHORT-
SRSCAN      RANGE SCAN IS BEST DESCRIBED BY AN EXAMPLE.
SRSCAN
SRSCAN        1 2 3 4 5 6 7 8 9 10
SRSCAN       1 * . . . . . . . . . TORPEDOES    150 CONDITION: READY
SRSCAN       2 . . . F . . . . . . POSITION    5 - 1, 4 - 4
SRSCAN       3 . . . . . * . B . . STARDATE    4300.00
SRSCAN       4 . . . S . . . . . . REMAINING      6.93
SRSCAN       5 . . . . . . . . . . CONDITION   RED   A.P.D.  ARMED
SRSCAN       6 . . . # . . . . * . ENERGY      2176.25
SRSCAN       7 . . . . . P . . . . SHIELDS   UP  3472 PCT 11800 UNTS
SRSCAN       8 . . . . * . . . . . WARP FACTOR   10.00
SRSCAN       9 . * . . * . . . C . FEDERATION  BASES 6  STARSHIPS 4
SRSCAN       10 . . . . . . . . . . KLINGON    COMMANDERS  4
SRSCAN
SRSCAN        THE LEFT PART IS A PICTURE OF THE QUADRANT.  THE S AT SECTOR
SRSCAN      4 - 4 REPRESENTS THE SUPERCOMMANDER KAZH; THE B AT SECTOR
SRSCAN      3 - 8 IS A STARBASE.
SRSCAN      THERE IS A KLINGON COMMANDER (C) AT SECTOR 9 - 9, AND A PLANET AT
SRSCAN      SECTOR 7 - 6. OTHER FEATURES IN THE QUADRANT ARE A FEDERATION
SRSCAN      STARSHIP (F), AT 2 - 4, AND A BLACK HOLE AT 6 - 4 (#).
SRSCAN      THE STARS (*) ARE LOCATED AT 1 - 1, 3 - 6, 6 - 9, 8 - 5,
SRSCAN      9 - 2, AND 9 - 5.
SRSCAN      THE PERIODS (.) ARE JUST EMPTY SPACE--THEY ARE PRINTED TO HELP
SRSCAN      YOU GET YOUR BEARINGS.
SRSCAN
SRSCAN        THE INFORMATION ON THE RIGHT IS ASSORTED STATUS INFORMATION.
SRSCAN      THE STATUS INFORMATION WILL BE ABSENT IF YOU TYPE NO) AFTER
SRSCAN      SRSCAN. OTHERWISE, STATUS INFORMATION WILL BE PRESENTED.
SRSCAN
SRSCAN        SHORT-RANGE SCANS ARE FREE.  THAT IS, THEY USE UP NO ENERGY
SRSCAN      AND NO TIME. IF YOU ARE IN BATTLE, DOING A SHORT-RANGE SCAN DOES
SRSCAN      NOT GIVE THE ENEMIES ANOTHER CHANCE TO HIT YOU. YOU CAN SAFELY
SRSCAN      DO A SHORT-RANGE SCAN ANYTIME YOU LIKE.
SRSCAN
SRSCAN
STATUS      *****************
STATUS      * STATUS REPORT *
STATUS      *****************
STATUS
STATUS      ======================================================
STATUS      NOTE FOR TSO 3270 USERS ---> See Help Catagory FS3270
STATUS      ======================================================
STATUS
STATUS
STATUS        MNEMONIC-  STATUS
STATUS        SHORTEST ABBREVIATION-  ST
STATUS
STATUS        THIS COMMAND GIVES YOU INFORMATION ABOUT THE CURRENT STATE OF
STATUS      YOUR STARSHIP, AS FOLLOWS-
STATUS
STATUS        STARDATE - THE CURRENT DATE.  A STARDATE IS THE SAME AS A DAY.
STATUS
STATUS        CONDITION - THERE ARE FOUR POSSIBLE CONDITIONS-
STATUS             RED    - IN BATTLE.
STATUS             YELLOW - LOW ON ENERGY (0/1000 UNITS).
STATUS             GREEN  - NONE OF THE ABOVE.
STATUS       EMERGENCY  - IN BATTLE AND LESS THAN 1000 UNITS
STATUS                    OF ENERGY.
STATUS
STATUS        POSITION - QUADRANT IS GIVEN FIRST, THEN SECTOR.
STATUS
STATUS        FEDERATION   - GIVES THE NUMBERS ON HOW MANY STARSHIPS
STATUS                       AND STARSHIPS ARE LEFT FOR THE FEDERATION
STATUS
STATUS        WARP FACTOR - WHAT YOUR WARP FACTOR IS CURRENTLY SET TO.
STATUS
STATUS        ENERGY - THE AMOUNT OF ENERGY YOU HAVE LEFT.  IF IT DROPS TO
STATUS             ZERO, ONE DOSE OF 750.0 UNITS OF ENERGY WILL BE
STATUS             TAKEN FROM YOUR BATTERIES, PROVIDED YOUR BATTLE
STATUS             COMPUTER IS WORKING, AND THE BATTERIES ARE CHARGED.
STATUS
STATUS        TORPEDOES - HOW MANY DISRUPTOR TORPEDOES YOU HAVE LEFT.
STATUS                  ALSO TELLS WHAT THE STATUS OF YOUR DISRUPTOR
STATUS                  TORPEDO TUBES ARE.  OUT - NO TORPEDOES LEFT,
STATUS                  READY - TORPEDOES STANDING BY TO FIRE, DAMAGED -
STATUS                  TORPEDO TUBES ARE DAMAGED.
STATUS
STATUS        SHIELDS - WHETHER YOUR SHIELDS ARE UP OR DOWN, HOW STRONG
STATUS             THEY ARE (WHAT PERCENT OF A HIT THEY CAN DEFLECT), AND
STATUS             SHIELD ENERGY.
STATUS
STATUS        KLINGON   - HOW MANY OF YOUR FRIENDLY SHIPS ARE OUT THERE.
STATUS
STATUS        REMAINING - HOW LONG YOU HAVE TO CRUSH THE FEDERATION
STATUS            IF IT REACHES ZERO, THE FEDERATION WINS, AND YOU
STATUS            WILL THEN BE OPENING SEALED ORDERS.
STATUS
STATUS        STATUS INFORMATION IS FREE--IT USES NO TIME OR ENERGY, AND IF
STATUS      YOU ARE IN BATTLE, THE FEDERATION IS NOT GIVEN ANOTHER CHANCE TO HIT
STATUS      YOU.
STATUS
STATUS
STATUS        STATUS INFORMATION CAN ALSO BE OBTAINED BY DOING A SHORT-RANGE
STATUS      SCAN. SEE THE (SRSCAN) COMMAND FOR DETAILS.
STATUS
LRSCAN
LRSCAN      *******************
LRSCAN      * LONG-RANGE SCAN *
LRSCAN      *******************
LRSCAN
LRSCAN      ======================================================
LRSCAN      NOTE FOR TSO 3270 USERS ---> See Help Catagory FS3270
LRSCAN      ======================================================
LRSCAN
LRSCAN        MNEMONIC-  LRSCAN
LRSCAN        SHORTEST ABBREVIATION-  L
LRSCAN
LRSCAN        A LONG-RANGE SCAN GIVES YOU GENERAL INFORMATION ABOUT WHERE YOU
LRSCAN      ARE AND WHAT IS AROUND YOU. HERE IS AN EXAMPLE OUTPUT.
LRSCAN
LRSCAN       LONG RANGE SCAN FOR AREA: 1 - 4
LRSCAN
LRSCAN         ****   ****   ****
LRSCAN
LRSCAN          102      2   9999
LRSCAN
LRSCAN         1007      3     19
LRSCAN
LRSCAN       PLANET DETECTED IN QUADRANT: 2 - 5
LRSCAN
LRSCAN      THIS SCAN SAYS THAT YOU ARE IN ROW 1, COLUMN 4 OF THE 8 BY 8
LRSCAN      GALAXY. THE NUMBERS IN THE SCAN INDICATE HOW MANY OF EACH
LRSCAN      KIND OF THING THERE IS IN YOUR QUADRANT AND ALL ADJACENT
LRSCAN      QUADRANTS. THE DIGITS ARE INTERPRETED AS FOLLOWS.
LRSCAN
LRSCAN        THOUSANDS DIGIT-  1000 INDICATES A KLINGON COMMANDER
LRSCAN        HUNDREDS DIGIT-   NUMBER OF FEDERATION STARSHIPS
LRSCAN        TENS DIGIT-       NUMBER OF STARBASES PRESENT
LRSCAN        ONES DIGIT-       NUMBER OF STARS PRESENT
LRSCAN        9999      -       INDICATES SUPERNOVA
LRSCAN        ****      -       EDGE OF FEDERATION SPACE.
LRSCAN
LRSCAN      FOR EXAMPLE, IN YOUR QUADRANT (1 - 4) THE NUMBER IS 2, WHICH
LRSCAN      INDICATES 2 STARS, YOU, AND NOTHING ELSE (YOU ARE ALWAYS
LRSCAN      IN THE CENTER QUADRANT OF THESE SCANS.) THERE IS A FEDERATION
LRSCAN      STARSHIP IN QUADRANT 1 - 3 (102), A COMMANDER AND SEVEN STARS
LRSCAN      IN QUADRANT 2 - 3 (1007), A SUPERNOVA IN QUADRANT 1 - 5 (9999)
LRSCAN      AND A STARBASE, AND NINE STARS IN 2 - 5 (19)
LRSCAN
LRSCAN      YOU MIGHT ALSO NOTICE A REPORT ON A PLANET IN QUADRANT 2 - 5
LRSCAN      UNLIKE SUPER STAR TREK, PLANETS ARE DETECTABLE BY LONG RANGE
LRSCAN      SCAN, SO THAT IF THEY ARE IN YOUR FLIGHT PATH, YOU CAN STOP
LRSCAN      AND KILL IT IF YOU WISH.
LRSCAN
LRSCAN        SINCE YOU ARE IN ROW 1, THERE ARE NO QUADRANTS ABOVE
LRSCAN      YOU. THE ****'S INDICATE THE THE BORDER OF FEDERATION
LRSCAN      SPACE, WHICH YOU ARE NOT PERMITTED TO CROSS.
LRSCAN
LRSCAN        LONG-RANGE SCANS ARE FREE.  THEY USE UP NO ENERGY OR TIME,
LRSCAN      AND CAN BE DONE SAFELY REGARDLESS OF BATTLE CONDITIONS.
LRSCAN
LRSCAN      FOR 3270 TSO USERS, THE INFORMATION GIVEN IS IN A LESS
LRSCAN      VERBOSE FASHION.
LRSCAN
CHART
CHART       **************
CHART       * STAR CHART *
CHART       **************
CHART
CHART         MNEMONIC-  CHART
CHART         SHORTEST ABBREVIATION-  C
CHART
CHART         AS YOU PROCEED IN THE GAME, YOU LEARN MORE AND MORE ABOUT
CHART       WHAT THINGS ARE WHERE IN THE GALAXY. THIS INFORMATION IS
CHART       AUTOMATICALLY RECORDED FOR YOU IN YOUR STAR CHART.
CHART
CHART         THE CHART LOOKS LIKE AN 8 BY 8 ARRAY OF NUMBERS.  THESE
CHART       NUMBERS ARE INTERPRETED EXACTLY AS THEY ARE ON A LONG-RANGE
CHART       SCAN. A PERIOD (.) IN PLACE OF A DIGIT MEANS YOU DO NOT KNOW
CHART       THAT INFORMATION YET. FOR EXAMPLE, ... MEANS YOU KNOW NOTHING
CHART       ABOUT THE QUADRANT.
CHART
CHART         LOOKING AT THE STAR CHART IS A FREE OPERATION.  IT COSTS
CHART       YOU NEITHER TIME NOR ENERGY, AND CAN BE DONE SAFELY WHETHER
CHART       IN OR OUT OF BATTLE.
DAMAGE
DAMAGE      *****************
DAMAGE      * DAMAGE REPORT *
DAMAGE      *****************
DAMAGE
DAMAGE        MNEMONIC-  DAMAGES
DAMAGE        SHORTEST ABBREVIATION-  DA
DAMAGE
DAMAGE        AT ANY TIME YOU MAY ASK FOR A DAMAGE REPORT TO FIND OUT WHAT
DAMAGE      DEVICES ARE DAMAGED AND HOW LONG IT WILL TAKE TO REPAIR THEM.
DAMAGE
DAMAGE        IF YOU SUFFER DAMAGES WHILE MOVING, IT IS POSSIBLE THAT A
DAMAGE      SUBSEQUENT DAMAGE REPORT WILL NOT SHOW ANY DAMAGE. THIS HAPPENS
DAMAGE      IF THE TIME SPENT ON THE MOVE EXCEEDS THE REPAIR TIME, SINCE IN
DAMAGE      THIS CASE THE DAMAGED DEVICES WERE FIXED EN ROUTE.
DAMAGE
DAMAGE        DAMAGE REPORTS ARE FREE.  THEY USE NO ENERGY OR TIME, AND CAN
DAMAGE      BE DONE SAFELY EVEN IN THE MIDST OF BATTLE.
MOVE
MOVE        *************************
MOVE        * MOVE UNDER WARP DRIVE *
MOVE        *************************
MOVE
MOVE          MNEMONIC-  MOVE
MOVE          SHORTEST ABBREVIATION-  M
MOVE          FULL COMMAND-  MOVE MANUAL (DISPLACEMENT)
MOVE                         MOVE AUTOMATIC (DESTINATION)
MOVE
MOVE          THIS COMMAND IS THE USUAL WAY TO MOVE FROM ONE PLACE TO
MOVE        ANOTHER WITHIN THE GALAXY. YOU MOVE UNDER WARP DRIVE, ACCORDING
MOVE        TO THE CURRENT WARP FACTOR (SEE 'WARP FACTOR').
MOVE          THERE ARE TWO COMMAND MODES FOR MOVEMENT; MANUAL AND AUTOMATIC.
MOVE        THE MANUAL MODE REQUIRES THE FOLLOWING FORMAT-
MOVE
MOVE               MOVE MANUAL (DELTX),(DELTY)
MOVE
MOVE      (DELTX) AND (DELTY) ARE THE HORIZONTAL AND VERTICAL DISPLACEMENTS FOR
MOVE        YOUR STARSHIP, IN QUADRANTS; A DISPLACEMENT OF ONE SECTOR IS 0.1
MOVE        QUADRANTS. SPECIFYING (DELTX) AND (DELTY) CAUSES YOUR SHIP TO MOVE
MOVE        IN A STRAIGHT LINE TO THE SPECIFIED DESTINATION. IF (DELTY) IS
MOVE        OMITTED, IT IS ASSUMED ZERO. FOR EXAMPLE, THE SHORTEST POSSIBLE
MOVE        COMMAND TO MOVE 1 SECTOR TO THE RIGHT WOULD BE
MOVE
MOVE               M M .1
MOVE
MOVE          THE FOLLOWING EXAMPLES OF MANUAL MOVEMENT REFER TO THE
MOVE        SHORT-RANGE SCAN EXAMPLE.
MOVE
MOVE          DESTINATION SECTOR      MANUAL MOVEMENT COMMAND
MOVE
MOVE                3 - 1                    M M -.3 .1
MOVE                2 - 1                    M M -.3 .2
MOVE                1 - 2                    M M -.2 .3
MOVE                3 - 4                    M M 0 .1
MOVE          (LEAVING QUADRANT)             M M .7
MOVE                3 - 5                    M M .1 .1
MOVE                4 - 10                   M M .6
MOVE                6 - 6                    M M .2 -.2
MOVE                5 - 4                    M M 0 -.1
MOVE
MOVE          THE AUTOMATIC MODE IS AS FOLLOWS-
MOVE
MOVE               MOVE AUTOMATIC (QROW),(QCOL),(SROW),(SCOL)
MOVE
MOVE        WHERE (QROW) AND (QCOL) ARE THE ROW AND COLUMN NUMBERS OF THE
MOVE        DESTINATION QUADRANT, AND (SROW) AND (SCOL) ARE THE ROW AND
MOVE        COLUMN NUMBERS OF THE DESTINATION SECTOR WITHIN THAT QUADRANT.
MOVE        THIS COMMAND ALSO MOVES YOUR SHIP IN A STRAIGHT LINE PATH TO
MOVE        THE DESTINATION. FOR MOVING WITHIN A QUADRANT, (QROW) AND
MOVE
MOVE        (QCOL) MAY BE OMITTED. FOR EXAMPLE, TO MOVE TO SECTOR 2 - 9
MOVE        IN THE CURRENT QUADRANT, THE SHORTEST COMMAND WOULD BE
MOVE
MOVE               M A 2 9
MOVE
MOVE        TO MOVE TO QUADRANT 3 - 7, SECTOR 5 - 8, TYPE
MOVE
MOVE               M A 3 7 5 8
MOVE
MOVE        AND IT WILL BE DONE. IN AUTOMATIC MODE, EITHER TWO OR FOUR NUMBERS
MOVE        MUST BE SUPPLIED.
MOVE
MOVE          AUTOMATIC MODE UTILIZES THE SHIP'S 'BATTLE COMPUTER'.  IF
MOVE        THE COMPUTER IS DAMAGED, MANUAL MOVEMENT MUST BE USED.
MOVE
MOVE          IF WARP ENGINES ARE DAMAGED LESS THAN 5 STARDATES
MOVE        YOU CAN STILL GO WARP 5.
MOVE          IT USES TIME AND ENERGY TO MOVE.  HOW MUCH TIME AND HOW MUCH
MOVE        ENERGY DEPENDS ON YOUR CURRENT WARP FACTOR AND THE DISTANCE YOU
MOVE        MOVE THE HIGHER THE WARP FACTOR, THE
MOVE        FASTER YOU MOVE, BUT HIGHER WARP FACTORS REQUIRE MORE ENERGY.
MOVE        YOUR WARP ENGINES ARE MOST EFFICIENT AT WARP FACTOR 10,
MOVE        AS YOU MOVE AWAY FROM THIS SPEED, YOU USE MORE ENERGY
MOVE        IN PROPORTION TO THE DISTANCE MOVED.
WARP
WARP        ***************
WARP        * WARP FACTOR *
WARP        ***************
WARP
WARP          MNEMONIC-  WARP
WARP          SHORTEST ABBREVIATION-  W
WARP          FULL COMMAND-  WARP (NUMBER)
WARP
WARP          YOUR WARP FACTOR CONTROLS THE SPEED OF YOUR STARSHIP.  THE
WARP        LARGER THE WARP FACTOR, THE FASTER YOU GO AND THE MORE ENERGY
WARP        YOU USE.
WARP
WARP          YOUR MINIMUM WARP FACTOR IS 1.0 AND YOUR MAXIMUM WARP FACTOR
WARP        IS 12.0. AT SPEEDS ABOVE WARP 10 THERE IS SOME DANGER OF CAUSING
WARP        DAMAGE TO YOUR WARP ENGINES; THIS DAMAGE IS LARGER AT HIGHER
WARP        WARP FACTORS AND ALSO DEPENDS ON HOW FAR YOU GO AT THAT WARP
WARP        FACTOR.
IMPULSE
IMPULSE     *******************
IMPULSE     * IMPULSE ENGINES *
IMPULSE     *******************
IMPULSE
IMPULSE       MNEMONIC-  IMPULSE
IMPULSE       SHORTEST ABBREVIATION-  I
IMPULSE       FULL COMMAND-  IMPULSE (MANUAL OR AUTOMATIC),(DISPLACEMENT OR DEST
IMPULSE
IMPULSE       THE IMPULSE ENGINES GIVE YOU A WAY TO MOVE WHEN YOUR WARP
IMPULSE     ENGINES ARE DAMAGED. THEY MOVE YOU AT A SPEED OF 0.95 SECTORS
IMPULSE     PER STARDATE, WHICH IS THE EQUIVALENT OF A WARP FACTOR OF ABOUT
IMPULSE     0.975, SO THEY ARE MUCH TOO SLOW TO USE EXCEPT IN EMERGENCIES.
IMPULSE
IMPULSE       MOVEMENT COMMANDS ARE INDICATED JUST AS IN THE 'MOVE' COMMAND.
IMPULSE
IMPULSE       THE IMPULSE ENGINES REQUIRE 20 UNITS OF ENERGY TO ENGAGE,
IMPULSE     PLUS 10 UNITS PER SECTOR (100 UNITS PER QUADRANT) TRAVELLED.
IMPULSE
IMPULSE     THE PLAYER SHOULD NOTE, THE IMPULSE ENGINES ARE IN A RATHER
IMPULSE     VUNERABLE PART OF THE SHIP, ARE ARE DAMAGED EASILY.
IMPULSE
SHIELDS
SHIELDS     *********************
SHIELDS     * DEFLECTOR SHIELDS *
SHIELDS     *********************
SHIELDS
SHIELDS       MNEMONIC-  SHIELDS
SHIELDS       SHORTEST ABBREVIATION-  SH
SHIELDS       FULL COMMANDS-  SHIELDS UP
SHIELDS                       SHIELDS DOWN
SHIELDS                       SHIELDS TRANSFER (AMOUNT OF ENERGY TO TRANSFER)
SHIELDS
SHIELDS       YOUR DEFLECTOR SHIELDS ARE A DEFENSIVE DEVICE TO PROTECT YOU
SHIELDS     FROM FEDERATION ATTACKS (AND NEARBY NOVAS). AS THE SHIELDS PROTECT
SHIELDS     YOU, THEY GRADUALLY WEAKEN. A SHIELD STRENGTH OF 75 PERCENT, FOR
SHIELDS     EXAMPLE, MEANS THAT THE NEXT TIME YOU ARE ATTACKED, YOUR SHIELDS
SHIELDS     WILL DEFLECT 75 PERCENT OF THE HIT, AND LET 25 PERCENT GET THROUGH
SHIELDS     TO HURT YOU.
SHIELDS
SHIELDS       IT COSTS 50 UNITS OF ENERGY TO RAISE SHIELDS, NOTHING TO LOWER
SHIELDS     THEM.
SHIELDS
SHIELDS     YOU SHOULD NEVER HAVE TO RAISE OR LOWER SHIELDS MANUALLY, AS
SHIELDS     YOUR AUTOMATIC DEFLECTOR SCREEN CONTROL WILL DO THIS FOR
SHIELDS     YOU, AS YOU GO INTO BATTLE, AND LEAVE BATTLE.
SHIELDS
SHIELDS       IF YOUR ENERGY LEVEL IS QUESTIONABLE (AS TO IF YOU MIGHT NOT
SHIELDS     WANT TO RAISE SHIELDS, IF THEY WOULD DO LITTLE OR NO GOOD)
SHIELDS     YOU WILL BE PROMPTED AS TO IF YOU WISH SHIELDS RAISED
SHIELDS
SHIELDS       YOU MAY TRANSFER ENERGY BETWEEN THE SHIP'S ENERGY (GIVEN AS
SHIELDS     (ENERGY) IN STATUS) AND THE SHIELDS. (TRANSFER) MAY BE ABBREVIATED
SHIELDS     (T). (AMOUNT OF ENERGY TO TRANSFER) IS THE NUMBER OF UNITS OF
SHIELDS     ENERGY YOU WISH TO TAKE FROM THE SHIP'S ENERGY AND PUT INTO THE
SHIELDS     SHIELDS. IF YOU SPECIFY A NEGATIVE NUMBER, ENERGY IS DRAINED
SHIELDS     FROM THE SHIELDS TO THE SHIP. TRANSFERRING ENERGY CONSTITUTES A
SHIELDS     TURN. IF YOU TRANSFER ENERGY TO THE SHIELDS WHILE UNDER ATTACK,
SHIELDS     THEY WILL BE AT THE NEW ENERGY LEVEL WHEN YOU ARE NEXT HIT.
SHIELDS
SHIELDS       ENEMY TORPEDOES HITTING YOUR SHIP EXPLODE ON YOUR SHIELDS
SHIELDS     (IF THEY ARE UP) AND HAVE ESSENTIALLY THE SAME EFFECT AS PHASER
SHIELDS     HITS.
SHIELDS
SHIELDS     IF YOU WISH TO OVERRIDE AUTOMATIC SHIELD CONTROL, SPECIFY
SHIELDS     "UP" OR "DOWN" IN THE COMMAND.
SHIELDS
COMPUTE
COMPUTE     ******************
COMPUTE     * SHIPS COMPUTER *
COMPUTE     ******************
COMPUTE
COMPUTE       MNEMONIC-  COMPUTER
COMPUTE       SHORTEST ABBREVIATION-  CO
COMPUTE       FULL COMMANDS-  COMPUTE AUTOMATIC <ROWSEC> <COLSEC>
COMPUTE                       COMPUTE AUTOMATIC <RQUAD> <CQUAD> <RSEC> <CSEC>
COMPUTE                       COMPUTE MANUAL  <X-DISP> <Y-DISP>
COMPUTE
COMPUTE       THE SHIP'S COMPUTER ALLOWS YOU TO GET SOME INFORMATION ABOUT
COMPUTE     MOVEMENT, BEFORE YOU ACTUALLY MOVE. YOU ENTER THE DESTINATION
COMPUTE     YOU ARE CONSIDERING IN THE SAME FORMAT AS MOVE . THE
COMPUTE     COMPUTER WILL THEN CALCULATE AND REPORT TO YOU THE TIME AND ENERGY
COMPUTE     REQUIRED FOR SUCH A TRIP.
COMPUTE
COMPUTE       THIS COMMAND REQUIRES NO TIME OR ENERGY, SO YOU MAY USE IT
COMPUTE     ANYTIME YOUR SHIP'S COMPUTER IS UNDAMAGED.
PHOTON
PHOTON      ********************
PHOTON      * PHOTON TORPEDOES *
PHOTON      ********************
PHOTON
PHOTON      SEE DISRUPTOR TORPEDO COMMAND.
PHOTON
DISRUPTOR
DISRUPTOR   ************************
DISRUPTOR   * DISRUPTOR TORPEDOES *
DISRUPTOR   ************************
DISRUPTOR
DISRUPTOR     MNEMONIC-  DISRUPTOR
DISRUPTOR     SHORTEST ABBREVIATION-  DIS
DISRUPTOR     FULL COMMANDS-  DISRUPTOR (NUMBER) (TARG1) (TARG2) (TARG3) (TARG4)
DISRUPTOR
DISRUPTOR     DISRUPTOR TORPEDOES ARE PROJECTILE WEAPONS--YOU EITHER HIT WHAT
DISRUPTOR   YOU AIM AT, OR YOU DON'T.  THERE ARE NO 'PARTIAL HITS'.
DISRUPTOR
DISRUPTOR     YOU MAY FIRE DISRUPTOR TORPEDOES SINGLY, OR IN BURSTS OF TWO
DISRUPTOR   THREE OR FOUR. EACH TORPEDO IS INDIVIDUALLY TARGETABLE. THE COMPUTER
DISRUPTOR   WILL PROMPT YOU, ASKING FOR THE TARGET SECTOR FOR EACH TORPEDO.
DISRUPTOR   ALTERNATELY, YOU MAY SPECIFY EACH TARGET IN THE COMMAND LINE.
DISRUPTOR
DISRUPTOR     IF MORE THAN ONE TORPEDO IS FIRED AND ONLY ONE TARGET
DISRUPTOR   SECTOR IS SPECIFIED, ALL TORPEDOES ARE FIRED AT THAT SECTOR.
DISRUPTOR   FOR EXAMPLE, TO FIRE TWO TORPEDOES AT SECTOR 3 - 4, YOU TYPE
DISRUPTOR
DISRUPTOR     DIS 2 3 4           (OR)           DIS 2 3 4 3 4
DISRUPTOR
DISRUPTOR   TO FIRE TORPEDOES AT, CONSECUTIVELY, SECTORS 2 - 6, 1 - 10,
DISRUPTOR   AND 4 - 7, TYPE
DISRUPTOR
DISRUPTOR     DIS 3 2 6 1 10 4 7
DISRUPTOR
DISRUPTOR
DISRUPTOR   THERE IS NO RESTRICTION TO FIRE DIRECTLY AT A SECTOR. FOR
DISRUPTOR   EXAMPLE, YOU CAN ENTER
DISRUPTOR
DISRUPTOR       DIS 1 3 2.5
DISRUPTOR
DISRUPTOR   TO AIM BETWEEN TWO SECTORS. HOWEVER, SECTOR NUMBERS MUST BE
DISRUPTOR   1 TO 10 INCLUSIVE.
DISRUPTOR
DISRUPTOR     TORPEDOES GOING WITHIN 0.5 SECTORS OF A BLACK HOLE ARE SWALLOWED.
DISRUPTOR   IF YOUR DISRUPTOR TORPEDO TUBES ARE DAMAGED LESS THAN
DISRUPTOR   3 STARDATES, YOU CAN STILL FIRE 2 TORPEDOES (INSTEAD OF 4)
REST
REST
REST        ********
REST        * REST *
REST        ********
REST
REST          MNEMONIC-  REST
REST          SHORTEST ABBREVIATION-  RES
REST          FULL COMMAND-  REST (NUMBER OF STARDATES)
REST
REST          THIS COMMAND SIMPLY ALLOWS THE SPECIFIED NUMBER OF STARDATES
REST        TO GO BY. THIS IS USEFUL IF YOU HAVE SUFFERED DAMAGES AND WISH
REST        TO WAIT UNTIL REPAIRS ARE MADE BEFORE YOU GO BACK INTO BATTLE.
REST
REST        NOTE THAT YOUR ENERGY LEVEL WILL BE RAISED BY 1024 UNITS A
REST        STARDATE, AS YOU REST.
REST
REST          IT IS NOT GENERALLY ADVISABLE TO REST WHILE YOU ARE UNDER
REST        ATTACK BY THE FEDERATION.
HELP
HELP        ********
HELP        * HELP *
HELP        ********
HELP
HELP          MNEMONIC-  HELP
HELP          (NO ABBREVIATION)
HELP
HELP         HELP COMMAND CONNECTS YOU WITH THE KLINGON HELP
HELP         DATA BASE, FOR QUICK HELP ON USING A COMMAND.
ABANDON
ABANDON     ****************
ABANDON     * ABANDON SHIP *
ABANDON     ****************
ABANDON
ABANDON       MNEMONIC-  ABANDON
ABANDON       (NO ABBREVIATION)
ABANDON
ABANDON      YOU MAY NOT ABANDON SHIP, THAT IS UNWORTHY OF A KLINGON.
ABANDON
DESTRUCT
DESTRUCT    *****************
DESTRUCT    * SELF-DESTRUCT *
DESTRUCT    *****************
DESTRUCT
DESTRUCT      MNEMONIC-  DESTRUCT
DESTRUCT
DESTRUCT      (NO ABBREVIATION)
DESTRUCT
DESTRUCT      YOU MAY SELF-DESTRUCT, THUS KILLING YOURSELF AND ENDING THE
DESTRUCT    GAME.
TERMINATE
TERMINATE
TERMINATE   ******************************
TERMINATE   * TERMINATE THE CURRENT GAME *
TERMINATE   ******************************
TERMINATE
TERMINATE     MNEMONIC-  TERMINATE
TERMINATE     (NO ABBREVIATION)
TERMINATE
TERMINATE     IMMEDIATELY CANCEL THE CURRENT GAME.  NO CONCLUSION IS REACHED
TERMINATE   AND NO SCORE IS COMPUTED. YOU WILL BE GIVEN AN OPPORTUNITY TO
TERMINATE   START A NEW GAME OR TO LEAVE THE KLINGON PROGRAM.
SENSOR
SENSOR      ***************
SENSOR      * SENSOR-SCAN *
SENSOR      ***************
SENSOR
SENSOR        MNEMONIC-  SENSORS
SENSOR        SHORTEST ABBREVIATION-  SE
SENSOR
SENSOR        UTILIZING THE SHORT-RANGE SENSORS, YOUR FIRST
SENSOR      OFFICER GIVES YOU A READOUT ON ANY PLANET IN YOUR QUADRANT.
A.P.D.
A.P.D.      **********************
A.P.D.      * ANTI-PHOTON DEVICE *
A.P.D.      **********************
A.P.D.
A.P.D.       MNENONIC- ANTI PHOTON
A.P.D.       SHORTEST ABBREVIATION- A P
A.P.D.       FULL COMMAND- ANTI PHOTON
A.P.D.
A.P.D.         LIKE ALL KLINGON COMMANDERS, YOUR SHIP IS EQUIPPED WITH
A.P.D.      AN ANTI-PHOTON DEVICE. THIS A.P.D. WILL PROTECT YOU FROM
A.P.D.      ONE ROUND OF FEDERATION PHOTON TORPEDOES (3.) THE A.P.D.
A.P.D.      REQUIRES 500 UNITS OF SHIELD ENERGY TO ACTIVATE IT. TWO
A.P.D.      THINGS CAN DISARM THE ANTI-PHOTON DEVICE, 1. IT ABSORBS
A.P.D.      A FULL ROUND OF TORPEDOES OR 2. A FEDERATION STARSHIP FIRES
A.P.D.      PHASERS AT YOU (THE A.P.D. IS RUN BY THE SHIP'S MAIN COMPUTER,
A.P.D.      NOT THE BATTLE COMPUTER, AND AS SUCH IS NOT AFFECTED WHEN
A.P.D.      THE BATTLE COMPUTER IS DAMAGED AND CAN BE USED EVEN IF YOUR
A.P.D.      SHIELDS ARE DOWN.)
A.P.D.
A.P.D.      THE USE OF THE ANTI PHOTON DEVICE DOES NOT COUNT AS A TURN
A.P.D.      AND CAN BE ACTIVATED INSTANTLY, EVEN DURING BATTLE, AT NO COST
A.P.D.      IN TIME, AND DOES NOT ALLOW ENEMIES TO ATTACK.
BATTERY
BATTERY     ***********
BATTERY     * BATTERY *
BATTERY     ***********
BATTERY
BATTERY     MNEMONIC- BATTERY
BATTERY     SHORTEST ABBREVIATION- BATT
BATTERY
BATTERY     THE BATTERY COMMAND PROVIDES INFORMATION OF WHETHER YOUR
BATTERY     BATTERIES (USED IF YOU FALL BELOW ZERO ENERGY) ARE CHARGED
BATTERY     OR NOT, ONCE THE BATTERIES ARE DRAINED THERE IS NO WAY TO
BATTERY     RECHARGE THEM. THEY CONTAIN 750.0 UNITS OF ENERGY
TRACTOR
TRACTOR     ****************
TRACTOR     * TRACTOR BEAM *
TRACTOR     ****************
TRACTOR
TRACTOR     MNEMONIC- TRACTOR
TRACTOR     SHORTEST ABBREVIATION- TRAC
TRACTOR     FULL COMMAND- TRACTOR (TARGET QUADRANT)
TRACTOR
TRACTOR     THE TRACTOR COMMAND ALLOWS YOU TO PULL A SHIP ACROSS SOME
TRACTOR     DISTANCE IN SPACE. WHEN THIS COMMAND IS ISSUED YOU WILL
TRACTOR     BE PROMPTED WITH THE AMOUNT OF ENERGY IT WOULD TAKE TO PULL
TRACTOR     A SHIP THAT FAR, AND ASKED IF YOU STILL WISH TO ENGAGE
TRACTOR     THE TRACTOR BEAM, IF A SHIP IS FOUND AT THE TARGET QUADRANT
TRACTOR     IT WILL BE PULLED TO YOUR QUADRANT. IF THERE IS MORE THAN ONE
TRACTOR     AT THE TARGET QUADRANT, ONE WILL BE SELECTED RANDOMLY.
TRACTOR
TRACTOR     IF THERE IS NO SHIP AT THE TARGET QUADRANT, YOU WILL BE
TRACTOR     NOTIFIED OF THIS FACT, AND THE POWER DRAIN CAUSED BY THE
TRACTOR     TRACTOR BEAM WILL BE CUT BY 50%
TRACTOR
TRACTOR     IT IS POSSIBLE TO TRACTOR EITHER COMMANDERS (TO HELP OUT
TRACTOR     IN A FIGHT PERHAPS) OR FEDERATION STARSHIPS. STARBASES,
TRACTOR     PLANETS, STARS, AND BLACK HOLES ARE NOT EFFECTED BY THE TRACTORS.
TRACTOR
TRACTOR     THE USE OF THE TRACTOR BEAM CONSTITUTES A TURN, AND ENEMIES
TRACTOR     WILL ATTACK.
FREEZE
FREEZE
FREEZE      **********
FREEZE      * FREEZE *
FREEZE      **********
FREEZE
FREEZE        MNEMONIC-  FREEZE
FREEZE        (NO ABBREVIATION)
FREEZE
FREEZE        THE PURPOSE OF THE (FREEZE) COMMAND IS TO ALLOW A PLAYER
FREEZE      TO SAVE THE CURRENT STATE OF THE GAME, SO THAT IT CAN BE FINISHED
FREEZE      LATER. A LOCAL FILE FT26F001 IS WRITTEN WITH ALL THE INFORMATION
FREEZE      ABOUT THE GAME IN PROGRESS.
FREEZE
FREEZE
FREEZE        TO RESTART A GAME CREATED BY THE 'FREEZE' COMMAND, THE USER
FREEZE      NEED ONLY TYPE 'OLD' IN RESPONSE TO THE INITIAL QUESTION
FREEZE      ABOUT THE TYPE OF GAME DESIRED.
FREEZE
FREEZE        NOTE-  A 'TOURNAMENT' GAME IS LIKE A FROZEN GAME, WITH THE
FREEZE      FOLLOWING DIFFERENCES. (1) TOURNAMENT GAMES ALWAYS START FROM
FREEZE      THE BEGINNING, WHILE A FROZEN GAME CAN START AT ANY POINT.
FREEZE      (2) TOURNAMENT GAMES REQUIRE ONLY THAT THE PLAYER REMEMBER THE
FREEZE      NAME OR NUMBER OF THE TOURNAMENT, WHILE THE INFORMATION ABOUT A
FREEZE      FROZEN GAME MUST BE KEPT ON A FILE.
FREEZE
HINTS       THE RULES FOR KLINGON ARE VERY MUCH LIKE SUPER STAR TREK,
HINTS       WITH THE FOLLOW EXCEPTIONS:
HINTS
HINTS       MAX SAFE WARP IS 10.
HINTS
HINTS       YOU HAVE A TRACTOR BEAM WHICH CAN BE ACTIVATED BY TYPING
HINTS       "TRAC TARGET" WHERE : TARGET IS THE TWO NUMBER QUADRANT NUMBER
HINTS       YOU ARE TRACTORING TO... IT WILL PULL IN ANY KIND OF SHIP
HINTS
HINTS       YOU DO NOT HAVE PHASERS
HINTS
HINTS       YOU MAY FIRE 4 TOPEDOES AT A TIME
HINTS
HINTS       YOU HAVE AN ANTI-PHOTON DEVICE WHICH WILL PROTECT YOU FROM 1
HINTS       ROUND OF FEDERATION TORPEDOES (3 TORPS)
HINTS
HINTS       YOU MAY NOT ORBIT, SHUTTLE, CRYSTAL, OR USE "PLANETS" COMMAND
HINTS
HINTS       YOU MAY NOT ABANDON|
HINTS
HINTS       IF YOU ARE LOOKING FOR A PLACE TO "REFUEL" (RECHARGE)
HINTS       YOU CAN'T, YOU ARE TWO WEEKS AWAY FROM "HOME"
HINTS       YOUR ENERGY IS REPLENISHED BY YOUR WARP ENERGIZERS AT THE RATE OF
HINTS       1024 UNITS/STARDATE (I.E. REST OR MOVE SLOWER THAN WARP 7 TO
HINTS       GET MORE ENERGY)
HINTS
HINTS       RUN OUT OF TIME AND YOU WILL DIE.
HINTS
HINTS       ON THE SHORT RANGE SCAN "#" IS A BLACK HOLE, TRY NOT TO HIT THEM
HINTS
HINTS       THE OBJECT OF THE GAME IS TO KILL ALL THE STARBASES, DO SO,
HINTS       AND YOU WIN.
HINTS
HINTS       YOU NEED NOT KILL ANY OF THE STARSHIPS TO WIN.
HINTS
HINTS       THE CHART AND LONG RANGE SCAN KEY IS
HINTS       1000'S DIGIT = KLINGONS. (YOUR GUYS)
HINTS       100'S DIGIT = FEDERATION STARSHIPS (THE ENEMY)
HINTS       10'S  DIGIT  = STARBASES (KILL THESE)
HINTS       1'S DIGIT = STARS
HINTS
HINTS       YOUR ANTI PHOTON DEVICE IS DISARMED BY ANY HIT FROM A FEDERATION
HINTS       STARSHIP... TO REARM IT (AT A COST OF 500 UNITS OF ENERGY)
HINTS       TYPE IN "A P" (NO QUOTES)
HINTS
HINTS       LONG RANGE SCANS SHOW PLANETS
HINTS
FS3270
FS3270                 ========================
FS3270                 Notes for TSO 3270 users
FS3270                 ========================
FS3270
FS3270      For TSO 3270 users, KLINGON is a full screen application.
FS3270      the major differences are:
FS3270
FS3270      The SRSCAN, LRSCAN, and STATUS commands cannot be
FS3270      explictly entered, since this information is on the screen
FS3270      at all times.
FS3270
FS3270      The format of the screen is:
FS3270
FS3270
FS3270
FS3270          ...........  ++++++++++   LRSCAN
FS3270          ...........  ++++++++++   and
FS3270          ... SRS ...  + status +
FS3270          ...........  ++ info ++   PLANET
FS3270          ...........  ++++++++++   info
FS3270
FS3270      SRS and STATUS - the format of this information is the
FS3270      same as the standard version.
FS3270
FS3270      The LRSCAN and PLANET information is the same as described
FS3270      in the LRSCAN command, however, the information is presented
FS3270      in a "compressed" form, to allow for the smaller amount of
FS3270      space available on the screen
FS3270
FS3270      The full screen mode will work only on 24 and 43 line 327X
FS3270      devices.
FS3270
FS3270      If you wish to experiment with other devices, the FSIO1
FS3270      assembler routine supplied in source must be modified by
FS3270      the user.
FS3270
BUGS
BUGS        At the present time, please report any bugs to:
BUGS        Larry Williams
BUGS        P.O. Box 8069
BUGS        Bartlett, IL  60103
BUGS
NEWS        No News!
@@
//CLIST    EXEC PGM=PDSLOAD
//STEPLIB  DD  DSN=SYSC.LINKLIB,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSUT2   DD  DSN=SYS1.CMDPROC,DISP=SHR
//SYSUT1   DD  DATA,DLM=@@
./ ADD NAME=KLINGON
 PROC 0 DEBUGUID(DUMMY)        -
 LOADLIB('SYSGEN.KLINGON.LOAD') -
 FREEZEDS(&SYSUID..KLINGON.FREEZE)            -
 HELPFILE(SYSGEN.KLINGON.ASSETS(#KLHELP)) -
 GRAPHIC(SYSGEN.KLINGON.ASSETS(#GRAFICS))
 CONTROL NOMSG NOPROMPT NOCONLIST NOSYMLIST FLUSH NOLIST
 /*********************************************************************
 /*
 /*  COMMENTS ON PARMS PASSED TO THIS CLIST
 /*
 /*  DEBUGUID = HERC01 THAT THE TRACE DEBUGING FILE (10) IS TO
 /*             BE ALLOCATED FOR, SPECIFY AS DUMMY IF NOT DESIRED
 /*             (I.E. DEBUGUID(DUMMY))
 /*
 /*  LOADLIB  = NAME OF LOAD LIBRARY WHERE THE KL AND KLINIT PROGRAMS
 /*             ARE LINKED IN
 /*
 /*  FREEZEDS = THE NAME FOR THE FREEZE FILE, IN CASE
 /*             GAME FROZEN
 /*
 /*  HELPFILE = NAME OF DATASET WHERE KLINGON HELP DATA IS KEPT
 /*
 /*  GRAPHIC  = "GRAPHICS" IMAGES FOR 3270 TYPE TERMINALS
 /*
 /*********************************************************************
CONTROL NOFLUSH NOMSG END(OD)
 /*********************************************************************
 /*
 /* FT06F001 IS NOT USED, BUT SOME VERSIONS OF FORTRAN INSIST ON IT
 /* SO ALLOCATED HERE.
 /*
 /*********************************************************************
FREE  DD(FT06F001)
ALLOC DD(FT06F001) DA(*)
WRITE
WRITE
WRITE *** NOW ATTEMPTING TO ALLOCATE YOUR FREEZE FILE
WRITE *** IF NOT FOUND, IT WILL BE CREATED
FREE  DD(FT27F001)
ALLOC DA('&FREEZEDS') DD(FT27F001) OLD
IF &LASTCC = 0 THEN GOTO NOINIT
 WRITE INIT FREEZE FILE...
 FREE  DD(FT27F001)
 ALLOC DA('&FREEZEDS') SP(1 1) TRACKS DD(FT27F001) UNIT(SYSDA)
 CALL '&LOADLIB(INITKL)'
NOINIT: -
WRITE
WRITE *** FREEZE FILE ALLOCATION COMPLETE
WRITE
FREE ATTR(F)
ATTR F RECFM(F B) LRECL(80) BLKSIZE(3200) DSORG(PS)
WRITE
WRITE *** NOW CREATING HIGH SPEED WORK FILES
WRITE
FREE DD(FT99F001)
FREE DD(FT98F001)
FREE DD(FT97F001)
ALLOC DD(FT99F001) UNIT(SYSDA) USING(F) SP(1 1) CYL
ALLOC DD(FT98F001) UNIT(SYSDA) USING(F) SP(1 1) CYL
ALLOC DD(FT97F001) UNIT(SYSDA) USING(F) SP(1 1) CYL
 /********************************************************************
 /*
 /* UNIT=10 IS THE DEBUG FILE, WILL NOT ACTUALLY BE USED UNLESS
 /* DEBUG MODE IS ACTIVATED
 /* (ACTIVATED BY XDEBUG COMMAND WITH PASSWORD)
 /* (LIMITED HERE TO ALLOCATE ONLY IF THE DEBUGUID MATCHES
 /*  LOGONID BEING USED)
 /*
 /********************************************************************
 /* &SYSUID = &DEBUGUID THEN ALLOC DD(FT10F001) SYSOUT(X) HOLD REUSE
 /********************************************************************
 /*
 /*  UNIT 8  = SYSOUT TO SEND CERTIFICATES OF MERIT TO
 /*            (FOR WINNERS OF EXPERT AND EMERITUS GAMES)
 /*
 /*  UNIT 25 = FILES WHERE GRAPHICS FILES ARE KEPT, COPIED TO
 /*            HIGH SPEED WORK FILES
 /*
 /*  UNIT 26 = KLINGON HELP FILE (NOT IBM STANDARD HELP)
 /*
 /********************************************************************
  /*
 FREE DD(FT08F001,FT25F001,FT26F001)
 ALLOC DD(FT08F001) SYSOUT(A)  NOHOLD
 ALLOC DD(FT25F001) DA('&GRAPHIC') SHR
 ALLOC DD(FT26F001) DA('&HELPFILE') SHR
  /*
 CALL '&LOADLIB(KL)'
  /*
 FREE DA('&HELPFILE')
 /* E DA('&GRAP43')
 /* E DA('&GRAP24')
 FREE DA('&LOADLIB')
  /*
 FREE DD(FT27F001,FT08F001,FT26F001,FT99F001,FT98F001,FT06F001)
 FREE DD(FT25F001,FT97F001,FT10F001)
  /*
 WRITE
 WRITE ***********************************************************
 WRITE *** PLEASE ONLY KEEP THE FREEZE FILE IF YOU FROZE A GAME  *
 WRITE ***********************************************************
 WRITE
 WRITE
 WRITENR   DO YOU WISH TO KEEP THE FREEZE FILE (Y/N) ?
 READ &OPT
 IF &OPT EQ Y OR &OPT EQ YES THEN GOTO KEEP
 DELETE '&FREEZEDS'
 WRITE
 WRITE *** FREEZE FILE DELETED
 WRITE
 KEEP: END
@@
//*
//* This JCL first compiles #JCLPROG which is a fortran program
//* That generates the JCL needed to compile/assemble KLINGON
//* then it executes that program and submits the resulting JCL
//* then it removes the OBJ and SOURCE PDS as they are no longer needed
//*
//*     ----- CLEAN UP -----
//CLEANUP EXEC PGM=IDCAMS
//SYSIN    DD *
  DELETE SYSGEN.KLINGON.LOAD SCRATCH PURGE
  DELETE SYSGEN.KLINGON.OBJ SCRATCH PURGE
  SET MAXCC=0
  SET LASTCC=0
//SYSPRINT DD SYSOUT=*
//*     ----- CREATE DATASETS -----
//CREATE EXEC PGM=IEFBR14
//KLOBJ    DD  DSN=SYSGEN.KLINGON.OBJ,UNIT=SYSALLDA,
//             DISP=(NEW,CATLG,DELETE),
//             SPACE=(3120,(300,100,35)),
//             DCB=(LRECL=80,BLKSIZE=3120)
//KLLOAD   DD  DSN=SYSGEN.KLINGON.LOAD,
//             UNIT=SYSALLDA,VOL=SER=PUB001,
//             SPACE=(CYL,(30,20,20),RLSE),
//             DISP=(NEW,CATLG,DELETE)
//*     ----- COMPILE -----
//IEKAA00  EXEC  PGM=IEKAA00,REGION=960K,
//         PARM='NOOBJ,DECK,MAP,NAME=MAIN,SIZE=512K,OPT=&OPT,NOEDIT'
//STEPLIB  DD  DISP=SHR,
//         DSN=SYSC.LINKLIB                  <--- FORTRAN LOADLIB
//SYSPRINT DD  SYSOUT=*
//SYSTERM  DD  DUMMY
//SYSUT1   DD  SPACE=(TRK,(30,30)),UNIT=SYSDA
//SYSUT2   DD  SPACE=(TRK,(30,30)),UNIT=SYSDA
//SYSLIN   DD  DUMMY,DCB=BLKSIZE=80
//SYSPUNCH DD  DISP=(NEW,PASS),DSN=&&OBJ,UNIT=SYSDA,
//         SPACE=(3200,(300,300)),DCB=(LRECL=80,BLKSIZE=3200,RECFM=FB)
//SYSIN    DD  DISP=SHR,
//         DSN=SYSGEN.KLINGON.SOURCE(#JCLPROG) <--- JCL SOURCE
//*     ---- LOAD AND GO STEP -----
//*
//LOADGO   EXEC PGM=LOADER,COND=(8,LE),
//         PARM='CALL,MAP',REGION=960K
//SYSLIN   DD  DSN=&&OBJ,DISP=(OLD,DELETE,DELETE)
//SYSLIB   DD  DISP=SHR,
//         DSN=SYSC.FORTLIB                   <--- FORTRAN CALLIB
//SYSLOUT  DD  SYSOUT=*
//FT06F001 DD  SYSOUT=*
//************************************************************
//*
//*  FOLLOWING DD CARD CONTAINS THE NAME OF THE MEMBERS THAT
//*  ARE TO BE ASSEMBLED.
//*
//************************************************************
//FT10F001 DD  *
CPAGE
TIME
FSIO1
FSIO2
JULIAN
SHIFT
SHIFTAB
STAX
SZTERM
STIMER
GAINIT
/*
//************************************************************
//*
//*  FOLLOWING DD CARD CONTAINS THE NAME OF THE MEMBERS THAT
//*  ARE TO HAVE LINK JCL CREATED FOR THEM
//*
//************************************************************
//FT11F001 DD  *
#LINK
#LNKINIT
/*
//************************************************************
//*
//*  FOLLOWING DD POINTS AT THE MEMLIST TO CREATE COMPILE
//*  JCL FROM
//*
//************************************************************
//FT12F001 DD DSN=SYSGEN.KLINGON.SOURCE(#MEMLIST),DISP=SHR
//************************************************************
//*
//*  FOLLOWING DD POINTS CONTAINS INFO TO CREATE THE JOBS
//*  JCL FROM
//*
//************************************************************
//FT13F001 DD  *
SYSGEN.KLINGON.SOURCE                      <----- INPUT SOURCE PDS
SYSGEN.KLINGON.LOAD                        <----- OUTPUT LOAD LIB
SYSGEN.KLINGON.OBJ                         <----- OUTPUT OBJECT LIB
SYSC.LINKLIB                                <----- LIBRARY FORTRAN COMP
SYSC.FORTLIB                                <----- FORTRAN CALLIB
$$KLINSTAL JOB (KL),'KL INSTALL',CLASS=A,MSGCLASS=A,REGION=1024K,
$$         USER=IBMUSER,PASSWORD=SYS1
$$KLASM    PROC INDS='UNKNOWN.LIBRARY',MBR=UNKNOWN,
$$         OBJDS='UNKNOWN.LIBARY',WORK=VIO
$$*********************************************************************
$$*
$$*  ASSEMBLER PROC, USED TO ASSEMBLE ASSEMBLER SUBROUTINES
$$*
$$*  DDNAMES USED BY THIS PROC
$$*  ---------
$$*  SYSLIB    - ASSEMBLER MACLIB, STANDARD "SYS1.MACLIB"
$$*  SYSUT1    - ASSEMBLER WORK SPACE
$$*  SYSUT2    - ASSEMBLER WORK SPACE
$$*  SYSUT3    - ASSEMBLER WORK SPACE
$$*  SYSPRINT  - WHERE LISTINGS ARE PRODUCED
$$*  SYSPUNCH  - OBJECT DECKS PRODUCED HERE
$$*  SYSIN     - INPUT TO THE ASSEMBLER
$$*
$$*********************************************************************
$$ASM      EXEC PGM=IFOX00,PARM='DECK,NOOBJ',REGION=512K
$$SYSLIB   DD  DSN=SYS1.MACLIB,DISP=SHR
$$SYSUT1   DD  UNIT=&WORK,SPACE=(1700,(300,200))
$$SYSUT2   DD  UNIT=&WORK,SPACE=(1700,(300,50))
$$SYSUT3   DD  UNIT=&WORK,SPACE=(1700,(300,50))
$$SYSPRINT DD  SYSOUT=*
$$SYSPUNCH DD  DSN=&OBJDS(&MBR),DISP=OLD
$$SYSIN    DD  DSN=&INDS(&MBR),DISP=SHR
$$         PEND
$$KLFORT PROC OPT=2,MBR=UNKNOWN,INDS='UNKNOWN.LIBRARY',
$$       OBJDS='UNKNOWN.LIBRARY',FORTLIB='UNKNOWN.LIBRARY',WORK=VIO
$$********************************************************************
$$*
$$*  PROC TO INVOKE FORTRAN H (TAKEN FROM THE CBT TAPE - FILE 455)
$$*
$$*  DDNAMES USED BY THIS STEP
$$*  --------
$$*  STEPLIB  - LIBRARY WHERE THE FORTRAN COMPILER LOAD MODULE IS
$$*  SYSPRINT - WHERE FORTRAN LISTINGS ARE PRODUCED TO
$$*  SYSTERM  - DUMMY FOR TERMINAL OUTPUT FOR THE FORT H EXT COMPILER
$$*  SYSUT1   - WORK FILE FOR FORTRAN
$$*  SYSUT2   - WORK FILE FOR FORTRAN
$$*  SYSPUNCH - WHERE GENERATED OBJECT MODULE IS PUT
$$*  SYSIN    - INPUT TO THE ASSEMBLER
$$*
$$********************************************************************
$$*
$$IEKAA00  EXEC  PGM=IEKAA00,REGION=960K,
$$         PARM='NOOBJ,DECK,MAP,NAME=&MBR,SIZE=512K,OPT=&OPT,NOEDIT'
$$STEPLIB  DD  DISP=SHR,DSN=&FORTLIB
$$SYSPRINT DD  SYSOUT=*
$$SYSTERM  DD  DUMMY
$$SYSUT1   DD  SPACE=(TRK,(30,30)),UNIT=&WORK
$$SYSUT2   DD  SPACE=(TRK,(30,30)),UNIT=&WORK
$$SYSLIN   DD  DUMMY,DCB=BLKSIZE=80
$$SYSPUNCH DD  DISP=OLD,DSN=&OBJDS(&MBR)
$$SYSIN    DD  DISP=SHR,DSN=&INDS(&MBR)
$$         PEND
$$KLLINK PROC OUTDS='UNKNOWN.LIBRARY',OBJDS='UNKNOWN.LIBRARY',
$$    MBR=UNKNOWN,INDS='UNKNOWN.LIBRARY',FORTLNK='UNKNOWN.LIBRARY',
$$    WORK=VIO
$$*********************************************************************
$$*
$$*  PROC TO INVOKE THE LINKAGE EDITOR
$$*
$$*  TWO STEP PROC, THE FIRST STEP COPIES THE LINKAGE EDITOR
$$*  CONTROL CARDS FROM THE KLINGON CONTROL FILE (WHICH MAY
$$*  HAVE A BLKSIZE GREATER THAN ALLOWED BY LINKAGE EDITOR 3200 MAX)
$$*  TO A WORK FILE
$$*
$$*  DDNAMES USED BY THE REBLOCK STEP ARE IEBGENER STANDARD
$$*
$$*  LKED DDNAMES
$$*  --------
$$*  SYSUT1   - WORK FILE FOR LKED
$$*  SYSLMOD  - OUTPUT LOAD MODULE LIBRARY
$$*  SYSLIB   - FORTRAN CALLLIB
$$*  O        - OBJECT LIBRARY, ADDED TO BY KLASM AND KLFORT STEPS
$$*  SYSPRINT - WHERE LISTINGS FOR LKED
$$*  SYSLIN   - WHERE LINKAGE EDITOR CONTROL CARDS ARE READ FROM
$$*
$$*********************************************************************
$$REBLOCK  EXEC PGM=IEBGENER,COND=(8,LE),REGION=512K
$$SYSIN    DD  DUMMY
$$SYSPRINT DD  DUMMY
$$SYSUT1   DD  DSN=&INDS(&MBR),DISP=SHR
$$SYSUT2   DD  DSN=&&LINK,SPACE=(TRK,(1,1)),UNIT=&WORK,
$$         DISP=(NEW,PASS,DELETE),DCB=(LRECL=80,BLKSIZE=80,RECFM=F)
$$*
$$LKED     EXEC PGM=IEWL,COND=(8,LE),
$$         PARM='LIST,MAP,XREF,SIZE(512K,128K)',REGION=960K
$$SYSUT1   DD  UNIT=&WORK,SPACE=(TRK,(5,5))
$$SYSLMOD  DD  DISP=OLD,DSN=&OUTDS
$$SYSLIB   DD  DISP=SHR,DSN=&FORTLNK
$$O        DD  DISP=SHR,DSN=&OBJDS
$$SYSPRINT DD  SYSOUT=*
$$SYSLIN   DD  DSN=&&LINK,DISP=(OLD,DELETE,DELETE)
$$         PEND
/*
//*------------- DD 14 IS THE WHERE THE JOBS WILL BE SUBMITTED TO
//FT14F001 DD  SYSOUT=(A,INTRDR)
//
//
