C -+-+-+-+-+  H A E O P N . F T  -+-+-+-+-+ C C * UP 29-NOV-82 C C OPEN THE OUTPUT FILE 6 FOR APPENDING C SUBROUTINE OPNSIX INCLUDE HAEBUF.FI INCLUDE HAETTY.FI INCLUDE HAECLR.FI C INTEGER LOC EXTERNAL LOC INTEGER K,REV, * TEMPB(85), @ TEMPORARY INPUT BUFFER FOR FILE HEADER * TMAXBL, @ MAX BLOCKS IN THIS FILE * TREC C INPREC=-1 @ SET THE 'NO SAMPLE IN CORE' FLAG FOR ESAM UNIT=6 @ ESAM INPUT IS FROM FILE 6 IF (REC6.LT.1) DEFINE FILE 6(MAXREC,85,U,REC6) @ INIT THE INPUT UNIT REC6=1 @ INIT TO THE FIRST RECORD SIXCNT=0 @ COUNT THE DATA SETS FOUND ON UNIT 6 TMAXBL=MAXREC @ DEFAULT FILE LENGTH --> TMAXBL BLKCNT=TMAXBL @ DEFAULT LENGTH INTO THE HEADER 5 READ(6'REC6) TEMPB @ READ THE NEXT HEADER BLOCK SIXCNT=SIXCNT+1 @ INCREMENT DATA SET COUNTER REV=TEMPB((LOC(REVSON)-LOC(RCRD0))/3+1) @ REVISON NUMBER --> K IF (INT(REVSON).NE.INT(REV).AND..NOT.CLEAR * .AND.REC6.EQ.1) GOTO 30 @ REVISON NUMBER INCOMPABILITY K=TEMPB((LOC(REDVAL)-LOC(RCRD0))/3+1) @ ADR. OF READ VALID FLAG --> K IF (.NOT.CLEAR .AND. K.EQ.6HDLWPD2) GOTO 10 @ IF CLEAR FLAG THEN WE START AT THE FIRST RECORD ELSE C @ IF RECORD IS VALID THEN SKIP THE DATA SET CLEAR=.FALSE. @ RESET THE CLEAR FLAG TREC=REC6-1 @ THIS RECORD BECOMES THE HEADER BLOCK REC6=TREC @ INDEX TO THE NEW HEADER BLOCK --> REC6 XSAML=(TMAXBL-REC6-1)*255 @ MAX SAMPLE COUNT FITTING INTO THE REMAINING FILE SPACE ( ONE CHANNEL INPUT) --> XSAML IF (XSAML.LT.640) GOTO 20 @ IF AT LEAST 64 HZ *10 SEC SAMPLING IS NOT POSSIBLE THEN GOTO 20 SETNUM=SIXCNT @ SAVE THE CURRENT NUMBER OF THIS DATA SET RETURN @ REC6 POINTS TO THE NEW HEADER BLOCK C C 10 K=TEMPB((LOC(LASREC)-LOC(RCRD0))/3+1) @ ADR. OF LASREC --> K CLEAR=.FALSE. REC6=K+1 @ BLOCK OF NEXT HEADER --> REC6 K=TEMPB((LOC(BLKCNT)-LOC(RCRD0))/3+1) @ ADR. OF BLKCNT --> K TMAXBL=K @ LENGTH OF FILE --> TMAXBL BLKCNT=TMAXBL @ INSERT THE LENGTH OF THE FILE INTO THE HEADER OF THE NEXT DATA SET IF (REC6.LT.TMAXBL) GOTO 5 @ IF END OF FILE REACHED THEN READ THE NEXT DATA SET AT LASREC+1 20 WRITE (TTO,1) SIXCNT,REC6 @ END OF FILE XSAML=0 @ ABORTS ADCON SINCE THERE IS NO SPACE FOR OUTPUT SETNUM=0 @ NO DATA SET FOUND IN THE BUFFER RETURN 30 CONTINUE WRITE (TTO,2) REV,REVSON GOTO 20 C 1 FORMAT (' AUSGABEDATEI 6 IST VOLL. LETZTER SATZ:',I3, * ' BLOCK:',I4) 2 FORMAT (' AUSGABEDATEI 6 REV.:',F4.1,' - HAE REV.:',F4.1) END