Add README.md
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haepri.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+ \ e H A E P R I . F T \ e -+-+-+-+-+\r
2C\r
3C PRINT THE CONTENTS OF THE DATA BUFFER\r
4C\r
5 SUBROUTINE PRINTR\r
6 INCLUDE HABRK.FI\r
7 INCLUDE HAEPTI.FI\r
8 INCLUDE HAEBUF.FI\r
9 INCLUDE HAEGSA.FI\r
10 INCLUDE HAETTY.FI\r
11C\r
12\fC\r
13 LOGICAL BETW\r
14 INTEGER IATX\r
15 INTEGER TOASCI,ESAM\r
16 EXTERNAL TOASCI,ESAM\r
17 * ,BETW,IATX\r
18 INTEGER I,IEND,J,II,K,\r
19 * S0,S1, @ START/END OF OUTPUT\r
20 * Y(20),TMP, @ OUTPUT LINE BUFFER\r
21 * MINUTE,SECOND\r
22 * ,KANAL,OCT(2,20) @ NUMBER OF CHANNEL TO DUMP, OCTAL OUTPUT BUFFER\r
23 * ,ALLCHS @ HOLDS NUMBER OF A/D AND STRIG CHANNELS\r
24 REAL TEMP1\r
25C\r
2611 IF (SAMCNT.EQ.0) RETURN @ NOTHING TO PRINT, GO HOME\r
27 KANAL=CHANEL @ INSERT DEFAULT VALUE FOR CHANNEL NUMBER\r
28 ALLCHS=CHNLS+STRIGS @ NUMBER OF CHANNELS SAMPLED\r
29 IF (BETW(0,OPTION-1,ALLCHS)) KANAL=OPTION-1 @ PR0 ... PR7 SELECTS CHANNEL TO DUMP\r
30 IF (KANAL.GE.ALLCHS) GOTO 20\r
31 IF (OPTION.NE.12) CALL ASKHIM(2) @ LP* DOESN NOT ASK FOR START, END ...\r
32 IF (BREAK(11)) RETURN\r
33 SECOND=SAMCNT/SAMRAT @ COMPUTE THE LENGTH OF THIS SAMPLE IN SECONDS\r
34 MINUTE=SECOND/60 @ AND NOW IN MINUTES\r
35 SECOND=TOASCI(MOD(SECOND,60)) @ SECONDS ZERO FILLED\r
36 I=SAMRAT/PACK(CHANEL)\r
37 WRITE (3,1) LABEL,KANAL,MINUTE,SECOND,SAMCNT,I\r
38 S0=BEGIN*SAMRAT @ START OF OUTPUT\r
39 S1=ENDS*SAMRAT @ END OF THE OUTPUT LIST AT S1\r
40 TMP=CHANEL\r
41 CHANEL=KANAL @ INSERT NEW CHANNEL NUMBER FOR SOME TIME\r
42 DO 10 I=S0,S1,20\r
43 IEND=MIN0 (I+19,S1) @ 20 INTEGERS PER LINE\r
44 IF (BREAK(11)) GOTO 30 @ SW 11 ABORTS TASK\r
45 II=0\r
46 DO 15 J=I,IEND,1 @ FILL UP TEMP BUFFER FROM VIRTUAL STORAGE\r
47 II=II+1\r
4815 Y(II)=ESAM(J)\r
49 TEMP1=FLOAT(I)/FLOAT(SAMRAT) @ COMPUTE THE TIME OF THE DATA\r
50 K=IEND-I+1 @ PRINT ONLY THOSE WORDS WHICH ARE FILLED\r
51CXCX DO 17 J=1,K\r
52CXCX17 CALL OCTAL (Y(J),OCT(1,J)) @ CONVERT TO OCTAL\r
53CXCX IF (KANAL.LT.CHNLS) @ TEST FOR A/D CHANNEL SCANNING\r
54 WRITE (3,2) TEMP1,(Y(J),J=1,K) @ AND LIST THEM ONTO LPT\r
55CXCX IF (KANAL.GE.CHNLS) @ HERE WE OUTPUT OCTAL NUMBERS\r
56CXCX * WRITE (3,5) TEMP1,(OCT(2,J),J=1,K)\r
57 IF (I.GT.90 .AND. MOD(I-1,100).EQ.0) WRITE (3,3) @ ALLE 5 ZEILEN LEERZEILE DRUCKEN\r
5810 CONTINUE\r
5930 CHANEL=TMP @ RESTORE ORIGINAL SAMPLE CHANNEL\r
60 RETURN\r
61C BAD CHANNEL NUMBER, PRINT ERROR MSG AND ASK AGAIN\r
6220 WRITE (TTO,4) ALLCHS,KANAL\r
63 OPTION=0 @ PREVENT LOOPING\r
64 GOTO 11 @ AND ASK AGAIN\r
651 FORMAT (1H1,5X,10A6,/,' KANAL',I2,' IN',I4,':',A2,' MINUTEN',\r
66 * ,I7,' MESSWERTE BEI EINER MESSRATE VON',I4,' HZ'//)\r
672 FORMAT (F8.2,2(5X,5I5,3X,5I5))\r
683 FORMAT (1X)\r
694 FORMAT (' NUR',I3,' A/D UND STRIGG KANAELE VORHANDEN JEDOCH',\r
70 * ' KANAL',I5,' ANGEFORDERT.')\r
715 FORMAT (F8.2,2(3X,5(A6,1X),3X,5(A6,1X)/8X))\r
72 END\r
73\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0