SUBROUTINE OPNPUT(ITRANS,ICHAR) COMMON/OUTFIL/ILINE(512),IPOS,IOTSUM,IONYBL,NOREC,IFLG,LEN LOGICAL*1 INAME(30),ILINE BYTE CR,LF CHARACTER*80 LINE DATA CR,LF/'15'O,'12'O/ DATA INAME/30*0/ C CHECK IF A FILE IS ALREADY OPEN - IF SO, THEN CLOSE IT IF((ITRANS.AND.1).EQ.0) GOTO 5 CALL CLSFIL(1,ITRANS) C C SET UP A FILE TO RECEIVE DATA FROM THE UNIVAC C 5 LINE='FILE:' NEXT=8 IF((ITRANS.AND."4).NE.0)THEN LINE(NEXT:NEXT+9)='ECHO Mode-' NEXT=NEXT+10 ENDIF IF((ITRANS.AND."20).NE.0)THEN LINE(NEXT:NEXT+9)='COPY Mode-' NEXT=NEXT+10 END IF IF((ITRANS.AND."40).NE.0)THEN LINE(NEXT:NEXT+10)='8/Bit Mode-' NEXT=NEXT+11 END IF IF((ITRANS.AND."400).NE.0)THEN LINE(NEXT:NEXT+15)='PROMPTLESS Mode-' NEXT=NEXT+16 END IF IF((ITRANS.AND."200).EQ.0)THEN LINE(NEXT:NEXT+10)='ASCII Data-' NEXT=NEXT+11 ELSE LINE(NEXT:NEXT+11)='Binary data-' NEXT=NEXT+12 END IF WRITE(5,1000)CR,LINE(1:NEXT-2) 1000 FORMAT('$',A1,A) WRITE(5,10)CR 10 FORMAT('$',A1,'FILE as what? ') DO 12 I=1,30 12 INAME(I)=0 CALL READST(INAME,LEN,29) IF(LEN.LT.1) RETURN C INAME(30)=0 IPOS=0 IOTSUM=0 IONYBL=0 ITRANS=ITRANS + 1 NOREC=1 C C IF IN ASCII 7-BIT MODE, OPEN A SEQUENTIAL OUTPUT FILE C IF((ITRANS.AND."140).EQ.0) GOTO 20 C DEFINE FILE 7 (0,256,U,NOREC) CALL ASNLUN(7,'SY',0) OPEN(UNIT=7,NAME=INAME,ACCESS='DIRECT',TYPE='NEW',RECORDSIZE=128 C ,BUFFERCOUNT=2,ERR=30) 19 RETURN C C OPEN A SEQUENTIAL OUTPUT FILE C 20 CALL ASNLUN(7,'SY',0) OPEN(UNIT=7,NAME=INAME,ACCESS='SEQUENTIAL',TYPE='NEW',ERR=30, C CARRIAGECONTROL='LIST',RECL=512) RETURN C C ERROR IN OPENING THE FILE C 30 WRITE(5,1001) 1001 FORMAT(' *** ERROR IN OPENING OUTPUT FILE ***') ITRANS=ITRANS.AND."177776 RETURN END