A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haepla.ft
1 C -+-+-+-+-+ \ e H A E P L A . F T \ e -+-+-+-+-+
2 C
3 C HERE WE PLOT THE TIME AXIS FOR THE HAEPAL (PALOT) AND HAEPRL (PRLOT)
4 C ROUTINES.
5 C
6 SUBROUTINE PLALRL
7 C
8 INCLUDE HAEBUF.FI
9 INCLUDE HAEGSA.FI
10 INCLUDE HABRK.FI
11 INCLUDE HAPPEN.FI
12 INCLUDE HAECSZ.FI
13 \fC
14 LOGICAL MLTPLE
15 REAL COND
16 INTEGER NCOND
17 EXTERNAL MLTPLE,COND,NCOND
18 C
19 REAL TE1,TE2 @ TEMPORARY STORAGE
20 INTEGER I
21 LOGICAL ABISMI @ TIME AXIS SCALING IS IF ABISMI THEN MINUTES ELSE SECONDS FI
22 C
23 C
24 C PLOT THE TIME SCALE
25 C
26 ABISMI=PZEND-PZBEG.GT.600 @ IF MORE THAN 300 SECONDS TO PLOT THEN WE DRAW A MINUTE SCALE
27 CALL FACTOR (XLEN/(PZEND-PZBEG),1.)
28 CALL XYPLOT (0,-.5,-PENUP)
29 C HERE WE DRAW A LITTLE BAR INDICATING A SECOND OR MINUTE
30 DO 135 I=PZBEG,PZEND @ ONE SECOND INCREMENTS
31 TE1=I-PZBEG
32 CALL XYPLOT (TE1,0.,PENDWN)
33 IF (ABISMI) TE2=COND(MOD(I,600).EQ.0,-.7,
34 * MOD(I,300).EQ.0,-.5,
35 * MOD(I,60).EQ.0,-.3)
36 IF (.NOT.ABISMI) TE2=COND(PZEND-PZBEG.GT.180,
37 * COND(MLTPLE(I,60),-.7,MLTPLE(I,10),-.5,MLTPLE(I,5),-.3),
38 * COND(MLTPLE(I,10),-.7,MLTPLE(I,5),-.5,-.3))
39 CALL XYPLOT (TE1,TE2,PENDWN)
40 C HERE WE COMPUTE WHERE TO WRITE THE NUMBER ONTO THE TIME AXIS
41 TE2=PZEND-PZBEG
42 IF (MOD(I,NCOND(TE2.GT.5400,1800, TE2.GE.1800,600,
43 * TE2.GE.900,300, TE2.GT.300,120, 60)).GT.0)
44 * GOTO 134 @ EACH FIRST OR SECOND MINUTE WE PLOT THE NUMBER
45 CALL WHERE (TE2,TE2,TE2,TE3) @ GET X FACTOR
46 CALL FACTOR (1.,1.)
47 CALL NUMBER (TE1*TE2-INT(ALOG10(AMAX1(1.,FLOAT(I)/60.))
48 * +.01)*YN/2.-YN*.3,-1.3,YN,I/60.,0,-1) @ CENTER THE NUMBER
49 CALL FACTOR (TE2,TE3) @ RESET THE FACTOR
50 CALL XYPLOT (TE1,0,PENUP) @ DRIVE PEN BACK TO THE AXIS
51 134 CALL XYPLOT (TE1,0,PENDWN)
52 IF (ABISMI) I=NCOND(MLTPLE(I,60).AND.I.LT.PZEND-1
53 * ,MIN0(I+58,PZEND-1),I) @ IF MINUTE SCALING THEN WE MAY SKIP 60 SECONDS
54 135 CONTINUE
55 CALL XYPLOT (0,.5,-PENUP) @ RESET CORRECT ORIGIN
56 CALL FACTOR (1.,1.)
57 CALL SYMBOL (AMAX1(XLEN*.5,10.),-YOFSET,YZ,
58 * 'TIME [MIN]',0,10)
59 CALL LABPLT (0,-YOFSET,PZEND)
60 CALL SYMBOL (0,YLEN+YZ,YZ,LABEL,0,MIN0(42,LABCNT*6)) @ PLOT 42 CHARACTERS INTO THE FIRST LINE OF LABEL
61 IF (LABCNT.GT.7)
62 * CALL SYMBOL (YZ,YLEN,YZ,LABEL(8),0,LABCNT*6-42) @ AND THE REMAINING INTO THE NEXT LINE
63 140 CALL XYPLOT (38.,25.,PENUP)
64 CALL EXPLT
65 RETURN
66 END
67 \1a