7ca74c07eb234276aa395542d514d64578adbda5
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haemar.ft
1 C -+-+-+-+-+ \ e H A E M A R . F T \ e -+-+-+-+-+
2 C
3 C
4 SUBROUTINE MARK (SPEED)
5 C PRINT THE MINUTES AND SECONDS ELAPSING ONTO VIDEO TERMINAL
6 C THE INTEGER PARAMETER SPEED IS THE MULTIPLIER FOR THE REAL TIME.
7 C EACH TIME A MINUTE HAS PASSED WE ISSUE A XOUT(255) COMMAND
8 C CAUSING AN VC8E X OUTPUT VOLTAGE FOR ONE SECOND.
9 C
10 INTEGER SPEED
11 C
12 REAL TIME
13 INTEGER TOASCI,NCOND
14 EXTERNAL TIME,TOASCI,NCOND
15 C
16 INTEGER A,B,MM,SS,HH,I,T,
17 * SED(8) @ HOLDS THE LAST DIGIT OF THE MINUTES IN HEX (31,63)
18 \f DATA A,SED/9*0/
19 C
20 IF (TIME(B)+2.LT.A) GOTO 10 @ NEW CALL CLOCK
21 IF ((0.5+TIME(B)).LT.A) RETURN @ LESS THAN ONE SECOND SINCE LAST CALL
22 10 A=INT(TIME(B)+0.5)
23 B=SPEED*A
24 SS=MOD(B,60)
25 IF (SS.NE.0) GOTO 40
26 CALL XOUT (128)
27 T=MOD(MOD(B/60,60),10)
28 DO 20 I=1,4
29 SED(I*2)=NCOND(MOD(T,2),63,31)
30 20 T=T/2
31 I=8
32 GOTO 55
33 C
34 40 IF (I.LT.1) GOTO 50
35 CALL XOUT(SED(I))
36 I=I-1
37 GOTO 55
38 50 CONTINUE
39 CALL XOUT (0)
40 55 CONTINUE
41 SS=TOASCI(SS)
42 MM=TOASCI(MOD(B/60,60))
43 HH=TOASCI(B/3600)
44 A=A+1
45 WRITE (4,1) HH,MM,SS
46 RETURN
47 1 FORMAT (2H+ ,2(A2,1H:),A2)
48 END
49 \1a