2 / VERSION 5A 4-26-77 MH
4 /THE FOLLOWING IS A SET OF 8 MODE (RALF TYPE)
5 /ROUTINES THAT ENABLE PDP 12(8) HARDWARE OPTIONS
6 /THESE ROUTINES ARE CALLABLE AT THE FORTRAN LEVEL
7 /THE FOLLOWING OPTIONS ARE SUPPORTED:
9 / 1 READ A BIT IN THE RIGHT SWITCHES
10 / 2 READ A BIT IN THE LEFT SWITCHES
11 / 3 READ A SENSE SWITCH
12 / 4 READ AN EXTERNAL LEVEL
13 / 5 OPEN OR CLOSE A RELAY
15 /IF THE REQUESTED BIT OR SWITCH IS SET THE
16 /SUBROUTINE RETURNS WITH THE CALLERS ARG SET TO
17 /A 1,OTHERWISE IT IS SET TO A 0
23 JSA SETUP /CHECK ONE RSW BIT
24 TRAP4 DORITE /CALL 8 MODE ROUT USER
26 CONT, STARTD /ANSWER IS IN XR3
27 FLDA% 0,XR2 /GET PTR TO CALLER ANS
31 FSTA% 3 /GIVE ANS TO CALLER
32 GOBAK, FLDA 30 /RTN TO CALLER
35 LSW, JSA SETUP /READ 1 LSW BIT
36 TRAP4 DOLEFT /CALL 8MODE ROUT
39 SSW, STARTD /READ A SENSE SWITCH
43 ROPEN, STARTD /OPEN A RELAY
45 ERCLOS, FSTA MASK /PLANT A BCLI OR BSEI IN
52 EXTLVL, STARTD /READ AN EXTERNAL LEVEL
54 ESSW, FSTA LSKP /PLANT SXLI OR SNS IN
55 JSA SETUP /8 MODE ROUTINE
59 RCLOSE, STARTD /CLOSE A RELAY
62 SETUP, 0;0 /GET ARGS AND SETUP RTN
65 FLDA% 0,XR1 /GET PTR TO 1ST USER ARG
68 FLDA% 3 /USER ARG TO FAC
69 ATX XR3 /PUT IN XR FOR 8 MODE
71 \fDORITE, 0 /READ RIGHT SWITCHES
74 JMS SETBIT /GET REQUESTED BIT
76 SZA CLA /IF BIT IS SET,SET XR3=1
80 DOLEFT, 0 /READ LEFT SWITCHES
89 DOSXL, 0 /READ SENSE SWITCH
91 TAD XR3 /=SSW OR LVL TO DO
95 CLL CML /SET LNK=COND MET
98 LSKP, 0 /=SNS I N OR SXL N
99 261 /IF SKP FAILS THEN COND
100 /IS MET SO ROTATE LNK
101 /INTO AC(11) (261=ROL I 1)
106 JMP% DOSXL /RTN TO RTS
107 RELAY, 0 /OPEN A RELAY
109 JMS SETBIT /GO SET RELAY BIT
114 MASK, 0 /BCL I OR BSE I
115 0 /SET OR CLR 1 RELAY BIT
116 14 /ATR PUT RELAYS BACK
122 SETBIT, 0 /COME HERE TO POSITION
123 TAD XR3 /BIT IN AC ACCORDING TO
125 CMA CLL CML /ROTATE BIT INTO POSITION
126 DCA XR3 /XR3 MUST=0 UPON EXIT
127 RAR /ROTATE LINK UNTIL
130 JMP% SETBIT /RTN WITH AC SET