SUBROUTINE DISALL (ICHAR,IU) C C ROUTINE TO DISPLAY FULL SCREEN OF INFO FOR TRDEMO C INCLUDE 'TRKCOMMON.FTN' REAL LAUNCH INTEGER SCAN,WHOM,CREW,HYPER,TORPS LOGICAL*1 THRU,XSHIP,CLOAK,CLON,FBASE BYTE MESSAG,INITLS,X BYTE CLEAR(10),FSTLIN(6),REV(4),REG(4),L12(7),L14(7) DATA CLEAR/"33,'[','0',';','0','H',"33,'[','0','J'/ DATA REV/"33,'[','7','m'/ DATA REG/"33,'[','0','m'/ DATA FSTLIN/"33,'[','3',';','1','H'/ DATA L12/"33,'[','1','3',';','1','H'/ DATA L14/"33,'[','1','5',';','1','H'/ INTEGER I CHARACTER OUTBUF*80, NXTLN*80, HDLIN*80, TMP*1 INTEGER J DATA HDLIN(1:44)/'SHIP OWN POSITION COURSE WARP ENERGY '/ DATA HDLIN(45:80)/' SHLDS HOMERS TORPS CLK HYP DCK'/ DATA NXTLN(1:44)/' SHIP PHA TOR SCN CLK '/ DATA NXTLN(45:80)/'NAV WRP ANT SLD '/ EQUIVALENCE (X,TMP) C C 100 WRITE (5,10011) CLEAR,REV,HDLIN(1:80),L12,NXTLN(1:80),REG 10011 FORMAT (' ',10A1,4A1,A80,7A1,A80,4A1) C C DISPLAY ROUTINE C 10 DO 10010 I=1,8 IF (I.EQ.1) WRITE (5,10012) FSTLIN 10012 FORMAT (' ',6A1,$) DO 10050 J=1,80 10050 OUTBUF(J:J)=' ' ENCODE (1,10003,OUTBUF(2:2)) I 10003 FORMAT (I1) IF (.NOT.XSHIP(I)) GOTO 10100 X=INITLS(I,1) OUTBUF(7:7)=TMP X=INITLS(I,2) OUTBUF(8:8)=TMP ENCODE (1,10003,OUTBUF(10:10)) IUNIV(I) OUTBUF (11:11) = ',' ENCODE (5,10018,OUTBUF(12:16)) XCORD(I) 10018 FORMAT (F5.1) OUTBUF(17:17)=',' ENCODE (5,10018,OUTBUF(18:22)) YCORD(I) IF (DIR(I).GT.90.) V=(450.-DIR(I))/30. IF (DIR(I).LE.90.) V=(90.-DIR(I))/30. ENCODE (6,10017,OUTBUF(24:29)) V 10017 FORMAT (F6.2) ENCODE (4,10004,OUTBUF(32:35)) WARP(I) 10004 FORMAT (F4.2) ENCODE (6,10005,OUTBUF(38:43)) ENERGY(I) 10005 FORMAT (I6) ENCODE (6,20500,OUTBUF(46:51)) SHIELD(I) 20500 FORMAT (I6) ENCODE (2,10006,OUTBUF(55:56)) NHOM(I) 10006 FORMAT (I2) ENCODE (2,10006,OUTBUF(63:64)) TORPS(I) OUTBUF(69:69)='Y' IF (.NOT.CLON(I)) OUTBUF(69:69)='N' ENCODE (3,10103,OUTBUF(74:74)) HYPER(I,1),HYPER(I,2) 10103 FORMAT (I1,'/',I1) OUTBUF(79:79)='Y' IF (.NOT.DOCKED(I)) OUTBUF(79:79)='N' GOTO 10007 10100 OUTBUF (8:25)='** SHIP IS IDLE **' 10007 WRITE (5,10015) OUTBUF(1:80) 10015 FORMAT (' ',A80) 10010 CONTINUE C C WRITE THE DAMAGE INFORMATION C WRITE (5,20000) L14 20000 FORMAT (' ',7A1) DO 20100 I=1,8 DO 20001 J=1,80 20001 OUTBUF(J:J)=' ' ENCODE (1,20002,OUTBUF(10:10)) I 20002 FORMAT (I1) DO 20003 J=1,8 ITMP=(J*7)+10 ENCODE (3,20004,OUTBUF(ITMP:ITMP+2)) IDAMGE(I,J) 20004 FORMAT (I3) 20003 CONTINUE WRITE (5,20005) OUTBUF(1:80) 20005 FORMAT (' ',A80) 20100 CONTINUE CALL MARK ("15,2,2,IX) CALL WAITFR ("15) CALL CANMT CALL INCHR(ICHAR) IF (ICHAR.EQ."27) GOTO 100 IF (ICHAR.EQ."123.OR.ICHAR.EQ."130) RETURN IF (ICHAR.NE."33) GOTO 10 RETURN END