C ******** C *FORMAT* C ******** C FORMAT PAPER TAPE DATA INTO 80 CHARACTER RECORDS, REPLACING BLANK C CHARACTERS WITH @B@ AND NEW LINE CHARACTERS WITH @CL@ C AND ILLEGAL CHARACTERS WITH @.@ C INPUT RECORDS 60 CHARACTERS LONG DIMENSION ICHAR%13< DIMENSION IARR%540<,JARR%81< DATA ICHAR/@0@,@1@,@2@,@3@,@4@,@5@,@6@,@7@,@8@,@9@,@#@,@*@,@ @/ DATA ID/@.@/ DATA NL/Z1 0150AF0AF0AF/,IBL/Z1 0000AF0AF0AF/ DATA IC/@C@/,IL/@L@/,IB/@B@/ IN # 1 IOUT # 6 IPN # 7 WRITE%6,1002< %ICHAR%I<,ICHAR%I<,I#1,13<,IC,IC,IL,IL,IB,IB,ID,ID NREC # 0 MAXREC # 1000 MAXREC # 300 N # 0 M # 0 N1 # 1 N2 # 540 10 READ%IN,1004,END#100<%IARR%I<,I#N1,N2< 20 N # N & 1 M # M & 1 JARR%M< # IARR%N< IF%JARR%M< .NE. IBL< GO TO 30 JARR%M< # IB GO TO 60 30 IF%JARR%M< .NE. NL< GO TO 40 JARR%M< # IC M # M & 1 JARR%M< # IL GO TO 60 40 DO 50 I # 1,13 IF%JARR%M< .EQ. ICHAR%I<< GO TO 60 50 CONTINUE JARR%M< # ID 60 IF%M .LT. 80< GO TO 20 NREC # NREC & 1 IF%NREC .GT. MAXREC< GO TO 90 WRITE%IOUT,1005<%JARR%I<,I#1,80< WRITE%IPN,1008< %JARR%I<,I#1,80< M # M - 80 IF%M .EQ. 1< JARR%1< # JARR%81< N2 # N2 - N DO 70 I # 1,N2 70 IARR%I< # IARR%I & N< N # 0 IF%N2 .GT. 80< GO TO 20 N1 # N2 & 1 N2 # N2 & 420 GO TO 10 90 WRITE%6,1007< RETURN 100 WRITE%6,1006< RETURN 1002 FORMAT%5X,@CHARACTER CODES@/20%5X,A1,@ # @,Z,/<< 1004 FORMAT%60A1< 1005 FORMAT%5X,80A1< 1006 FORMAT%5X,20HEND OF DATA < 1007 FORMAT%5X,35HMAXIMUM OUTPUT RECORDS REACHED < 1008 FORMAT%80A1< END