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