A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haemar.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+ \ e H A E M A R . F T \ e -+-+-+-+-+\r
2C\r
3C\r
4 SUBROUTINE MARK (SPEED)\r
5C PRINT THE MINUTES AND SECONDS ELAPSING ONTO VIDEO TERMINAL\r
6C THE INTEGER PARAMETER SPEED IS THE MULTIPLIER FOR THE REAL TIME.\r
7C EACH TIME A MINUTE HAS PASSED WE ISSUE A XOUT(255) COMMAND\r
8C CAUSING AN VC8E X OUTPUT VOLTAGE FOR ONE SECOND.\r
9C\r
10 INTEGER SPEED\r
11C\r
12 REAL TIME\r
13 INTEGER TOASCI,NCOND\r
14 EXTERNAL TIME,TOASCI,NCOND\r
15C\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
19C\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
2210 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
3020 T=T/2\r
31 I=8\r
32 GOTO 55\r
33C\r
3440 IF (I.LT.1) GOTO 50\r
35 CALL XOUT(SED(I))\r
36 I=I-1\r
37 GOTO 55\r
3850 CONTINUE\r
39 CALL XOUT (0)\r
4055 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
471 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