C******************************************************************************** C * C *********** * C * * * C * *** * SIMMONDS PRECISION PRODUCTS, INC. * C * * * * INSTRUMENT SYSTEMS DIVISION * C * * * PANTON ROAD * C * *** * VERGENNES, VERMONT 05491 U.S.A. * C * * * * (802) 877-2911 * C * * * * * C * **** * PROGRAMMER: JAMES E DUNN * C * * * * C * * * * C ** ******* * C * C******************************************************************************** C * C VTX.FTN * C MAIN PROGRAM SEGMENT FOR VTX INITIALIZATION * C * C WHERE VTX IS VT52, VT55 OR VT100 * C * C******************************************************************************** C * C REV DATE PROGRAMMER DESCRIPTION * C --- ------ ---------- ------------------------ * C 1.0 07-MAY-82 J.E.DUNN DECUS RELEASE VERSION * C * C******************************************************************************** INTEGER*2 LUN,TYPE,STATUS,XPARAM, 1 PARAM(8),ESCSEQ(8) LOGICAL*1 ESC, 1 MODE(0:1) DATA LUN/1/, 1 ESC/"033/, 2 MODE/'l','h'/, 3 PARAM/1,1,0,1,0,0,0,1/, 4 ESCSEQ/'?4','?8','?5','?7','20','?9','?3','?2'/ C****************** C C--- DEFAULT VALUES C C PARAM(1)=1 !SET SMOOTH SCROLL C PARAM(2)=1 !SET AUTO REPEAT C PARAM(3)=0 !SET REVERSE SCREEN C PARAM(4)=1 !SET WRAPAROUND C PARAM(5)=0 !SET AUTO LINE FEED C PARAM(6)=0 !SET INTERLACE C PARAM(7)=0 !SET 132 COLUMN MODE C PARAM(8)=1 !SET VT100 MODE C****************** C C--- PROCESS FILE ERRORS WITHIN PROGRAM C C****************** CALL ERRSET(29,.TRUE.,.FALSE.,.TRUE.,.FALSE.) CALL ERRSET(64,.TRUE.,.FALSE.,.TRUE.,.FALSE.) C****************** C C--- GET INITIALIZATION PARAMETERS FROM VTX.INI FILE IF ONE EXISTS C C****************** OPEN(UNIT=2,NAME='SY:VTX.INI',TYPE='OLD',READONLY,ERR=1400) 1100 READ(2,*,ERR=1200,END=1200) I,XPARAM IF((I.GE.1).AND.(I.LE.8)) PARAM(I)=XPARAM GOTO 1100 C****************** C C--- PROCESS NON-STANDARD PARAMETER VALUES C C****************** 1200 DO 1300 I = 1,8 IF(PARAM(I).NE.0) PARAM(I) = 1 1300 CONTINUE C****************** C C--- GET TERMINAL TYPE FROM THE FULL-DUPLEX TERMINAL DRIVER C C****************** 1400 CALL TRMTYP(LUN,TYPE) IF((TYPE.EQ.9).OR.(TYPE.EQ.10)) GOTO 2000 IF(TYPE.EQ.13) GOTO 2200 GOTO 9000 C****************** C C--- INITIALIZE A VT52 OR VT55 C C****************** 2000 WRITE(LUN,100) ESC,ESC CALL VT1XX(LUN,STATUS) IF(STATUS.EQ.1) GOTO 2200 GOTO 9000 C****************** C C--- INITIALIZE A VT100 C C****************** 2200 WRITE(LUN,100) ESC,ESC DO 2300 I = 1,7 WRITE(LUN,110) ESC,ESCSEQ(I),MODE(PARAM(I)) 2300 CONTINUE IF (PARAM(8).EQ.1) GOTO 9000 WRITE(LUN,110) ESC,ESCSEQ(8),MODE(0) CALL VT5X(LUN) C****************** C C--- THAT'S ALL FOLKS C C****************** 9000 CALL EXIT C****************** C C--- FORMAT STATEMENTS C C****************** 100 FORMAT('+',A1,'>',A1,'<',$) 110 FORMAT('+',A1,'[',A2,A1,$) END