A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haeptv.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+ \ e H A E P T V . F T \ e -+-+-+-+-+\r
2C\r
3C DISPLAYS THE SAMPLE BUFFER ONTO CRT \r
4C\r
5C UP 10-DEC-84 MORE SUPPORT OF THE FPP FACILITIES\r
6C UP 8-SEP-87 HA REMOVING A PROGRAMMING ERROR\r
7 SUBROUTINE PLOTTV\r
8 INCLUDE HAEGSA.FI\r
9 INCLUDE HAEBUF.FI\r
10 INCLUDE HAEPTI.FI\r
11 INCLUDE HABRK.FI\r
12 INCLUDE HAETTY.FI\r
13 REAL COND,XYSAM\r
14 INTEGER NCOND\r
15 EXTERNAL COND,NCOND,XYSAM\r
16C\r
17\f INTEGER SAMBUF (2000),SAMBFL, @ DISPLAY BUFFER SPACE, BUFFER LENGTH (CHANGE DATA STATEMENT TOO!)\r
18 * NUMCN, @ NUMBER OF CHANNELS TO SCAN\r
19 * CO,CORD,CA, @ CHANNEL OF THE ORDINATE, ABZISSE\r
20 * STEP @ INCREMENT FOR SAMBUF SCAN & PLOT\r
21 LOGICAL TIMABZ,TIMORD @ ABZ., ORD. IS THE TIME BASE (COUNTS TO SAMCNT)\r
22 REAL ORD,ABZ, @ ORDINATE, ABZISSE\r
23 * DOWN,UP,LEFT,RIGHT @ SCREEN SCALING LIMITS\r
24 DATA SAMBFL /2000/, STEP /3/\r
25C\r
26C\r
27 IF (SAMCNT.EQ.0) RETURN @ NO SAMPLE, RETURN\r
28 IF (OPTION.NE.12) CALL ASKHIM (2) @ TV* SKIPS SOME QUESTIONS\r
29 NUMCN=2 @ DEFAULT NUMBER OF CHANNELS TO SCAN\r
30 CO=1\r
31 CA=8\r
32 WRITE (TTO,1) CA,CO,STEP @ READ THE CHANNEL NUMBER OF THE DATA TO BE DISPLAYED\r
33 READ (TTI,2) CA,CO,STEP\r
34 STEP=NCOND(STEP,STEP,3) @ INCREMENT DEFAULTS TO 3\r
35 CO=NCOND(CO,CO,CA.GT.7,CO,CA+1)\r
36 TIMABZ=CA.GT.7 @ ABZISSE IS A TIME SCALE\r
37C IF THE ABZISSE IS THE TIME AXIS THEN WE MAY PLOT MORE THAN ONE CHANNEL\r
38 IF (.NOT.TIMABZ) GOTO 30\r
39 WRITE (TTO,5) NUMCN @ READ THE NUMBER OF CHANNELS TO SCAN\r
40 READ (TTI,2) I\r
4130 NUMCN=MIN0(CHNLS-CO,NCOND(.NOT.TIMABZ,1,I,I,NUMCN))\r
42 TIMORD=CO.GT.7 @ ORDINATE IS THE TIME SCALE\r
43C COMPUTE THE SCREEN SCALING LIMITS\r
44C COMPUTE THE MARGIN OF PLOT EITHER -511,511 FOR AD VALUES OR TE1 FOR TIME SCALE\r
45 UP =COND(TIMORD,ENDS*SAMRAT,511.)\r
46 DOWN =COND(TIMORD,FLOAT(BEGIN*SAMRAT),-511.)\r
47 LEFT =COND(TIMABZ,FLOAT(BEGIN*SAMRAT),-511.)\r
48 RIGHT=COND(TIMABZ,ENDS*SAMRAT,511.)\r
49C\r
50 CALL CLRPLT(SAMBFL,SAMBUF) @ OPEN THE PLOT \r
51 CALL SCALE (LEFT,DOWN,RIGHT,UP) @ SCALE THE SCREEN\r
52C\r
53 DO 10 I=BEGIN*SAMRAT,ENDS*SAMRAT-1,STEP\r
54 IF BREAK(11) GOTO 20 @ USER ABORTS DISPLAY PLOT\r
55 ABZ=COND(TIMABZ,FLOAT(I),XYSAM(I,CA))\r
56 DO 10 CORD=CO,CO+NUMCN-1 @ LOOP FOR EACH CHANNEL\r
57 ORD=COND(TIMORD,FLOAT(I),XYSAM(I,CORD))\r
58 CALL PLOT (1,ABZ,ORD) @ INSERT THE POINT INTO THE DISPLAY\r
5910 CONTINUE\r
60 WRITE (TTO,3) @ WAIT TO CONTINUE\r
61 READ (TTI,4)\r
6220 CALL CLRPLT (0,SAMBUF) @ SWITCH OFF THE DISPLAY\r
63 RETURN\r
641 FORMAT (' KANAL DER ABZISSE/ORDINATE (ZEIT=8),'\r
65 * ' SCHRITTWEITE (3I1) (',\r
66 * 3I1,')? ',$)\r
672 FORMAT (2I1,I3)\r
683 FORMAT (' BILD LANGE GENUG ANGESEHEN? ',$)\r
694 FORMAT ()\r
705 FORMAT (' ANZAHL DER DARZUSTELLENDEN KANAELE (I1) (',I1,\r
71 * ') ? ',$)\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\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