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