PROGRAM CAMSER LOGICAL*1 STATE(16) INTEGER RECBUF(15) EQUIVALENCE(STATE,RECBUF(3)) INTEGER NEW EQUIVALENCE(NEW,RECBUF(11)) INTEGER SNDBUF(13) LOGICAL*1 OSTATE(16) INTEGER OLD INTEGER IDS INTEGER HIGH INTEGER LOW INTEGER IPARAM(6) INTEGER I2PARAM(6) BYTE INBUF(10) INTEGER IESB(8) INTEGER IOSB(2) BYTE ISB(4) EQUIVALENCE(ISB,IOSB) BYTE OUTBUF(80) INTEGER OUTLEN INTEGER ILOOP BYTE FRONT INTEGER PRM1 INTEGER PRM2 INTEGER IOWLB DATA IOWLB/"000400/ INTEGER IORVB DATA IORVB/"010400/ BYTE TYPE(10,3) DATA TYPE/ 1'S','[','N','D','N','I','N','G',' ',' ','M','O','T','T','A','G','N 1','I','N','G','L','I','N','J','E','S','T','R','\','M'/ REAL TASK DATA TASK/6RGETDRV/ BYTE CR DATA CR/"15/ BYTE LF DATA LF/"12/ CONTINUE CALL TERSEQ(85,PRM1,PRM2) CALL TERSEQ(50,PRM1,PRM2) CALL GETADR(IPARAM,OUTBUF) IPARAM(3)=0 OUTLEN=33 CALL MOVE01(OUTLEN,'Kom ih}g: "SET /FDX=TI:", "VT1" !', 1 OUTBUF) OUTBUF(OUTLEN+1)=CR OUTBUF(OUTLEN+2)=LF OUTLEN=OUTLEN+2 ASSIGN 30003 TO M00000 GOTO 30004 30003 CONTINUE OUTLEN=50 CALL MOVE01(OUTLEN,'Vidare att "INS $GETDRV" och "FIX GETDRV" beh| 1vs !', 1 OUTBUF) OUTBUF(OUTLEN+1)=CR OUTBUF(OUTLEN+2)=LF OUTLEN=OUTLEN+2 ASSIGN 30005 TO M00000 GOTO 30004 30005 CONTINUE OUTLEN=47 CALL MOVE01(OUTLEN,'Allt detta g|rs enklast genom "@LB:[1,2]CAMUS" 1.', 1 OUTBUF) OUTBUF(OUTLEN+1)=CR OUTBUF(OUTLEN+2)=LF OUTLEN=OUTLEN+2 ASSIGN 30006 TO M00000 GOTO 30004 30006 CONTINUE OUTLEN=41 CALL MOVE01(OUTLEN,'START och STOPP: Tryck p} valfri tangent>', 1 OUTBUF) ASSIGN 30007 TO M00000 GOTO 30004 30007 CONTINUE ASSIGN 30008 TO M00001 GOTO 30009 30008 CONTINUE CALL TERSEQ(85,PRM1,PRM2) CALL TERSEQ(50,PRM1,PRM2) SNDBUF(1)=10 ASSIGN 30010 TO M00002 GOTO 30011 30010 CONTINUE IF (IDS.NE.1) GOTO 30001 SNDBUF(1)=1 DO 30012ILOOP=1,12 OSTATE(ILOOP)=.NOT.STATE(ILOOP) 30012 CONTINUE 30013 CONTINUE IF (.NOT.(NEW.EQ.0)) GOTO 30015 OLD=1 GOTO 30014 30015 CONTINUE OLD=0 30014 CONTINUE CALL TERSEQ(48,3,18) CALL TERSEQ(29,PRM1,PRM2) CALL CHANGE(,' ',OUTBUF,80) OUTLEN=4 CALL MOVE01(OUTLEN,'BxLL',OUTBUF) IF (.NOT.(STATE(13))) GOTO 30017 OUTBUF(2)='I' GOTO 30016 30017 CONTINUE OUTBUF(2)='U' 30016 CONTINUE ASSIGN 30018 TO M00000 GOTO 30004 30018 CONTINUE CALL TERSEQ(48,4,18) CALL TERSEQ(30,PRM1,PRM2) ASSIGN 30019 TO M00000 GOTO 30004 30019 CONTINUE CALL TERSEQ(48,5,10) CALL TERSEQ(31,PRM1,PRM2) CALL TERSEQ(61,PRM1,PRM2) CALL CHANGE(,' ',OUTBUF,80) OUTLEN=53 CALL MOVE01(OUTLEN,'STATUSSIGNALER fr}n UPPSALABUSS radiofront 1 CAMUS 2200',OUTBUF) ASSIGN 30020 TO M00000 GOTO 30004 30020 CONTINUE CALL CHANGE(,' ',OUTBUF,80) OUTLEN=9 CALL MOVE01(OUTLEN,'KANAL x :', 1 OUTBUF) CALL TERSEQ(48,8,1) OUTBUF(7)='1' ASSIGN 30021 TO M00000 GOTO 30004 30021 CONTINUE CALL TERSEQ(48,12,1) OUTBUF(7)='2' ASSIGN 30022 TO M00000 GOTO 30004 30022 CONTINUE CALL TERSEQ(48,16,1) OUTBUF(7)='3' ASSIGN 30023 TO M00000 GOTO 30004 30023 CONTINUE CALL TERSEQ(48,20,1) OUTBUF(7)='4' ASSIGN 30024 TO M00000 GOTO 30004 30024 CONTINUE CALL TERSEQ(59,PRM1,PRM2) 30025 CONTINUE IF(.NOT.(.TRUE.) )GOTO 30026 IF (.NOT.(OLD.NE.NEW)) GOTO 30028 OLD=NEW CALL TERSEQ(2,PRM1,PRM2) DO 30029ILOOP=1,12 IF (.NOT.(STATE(ILOOP) .NE. OSTATE(ILOOP))) GOTO 30032 IF (.NOT.(ILOOP.EQ.3 .OR. ILOOP.EQ.6 .OR. ILOOP.EQ.9 .OR. 1 ILOOP.EQ.12)) GOTO 30034 HIGH=63 LOW=59 GOTO 30033 30034 CONTINUE HIGH=59 LOW=63 30033 CONTINUE IF (.NOT.(STATE(ILOOP))) GOTO 30036 CALL TERSEQ(HIGH,PRM1,PRM2) GOTO 30035 30036 CONTINUE CALL TERSEQ(LOW,PRM1,PRM2) 30035 CONTINUE OUTLEN=10 CONTINUE IF (ILOOP .NE. 1 ) GOTO 30037 CALL TERSEQ(48,8,20) CALL MOVE01(OUTLEN,TYPE(1,1),OUTBUF) GOTO30038 30037 CONTINUE IF (ILOOP .NE. 2) GOTO 30039 CALL TERSEQ(48,8,40) CALL MOVE01(OUTLEN,TYPE(1,2),OUTBUF) GOTO30038 30039 CONTINUE IF (ILOOP .NE. 3) GOTO 30040 CALL TERSEQ(48,8,60) CALL MOVE01(OUTLEN,TYPE(1,3),OUTBUF) GOTO30038 30040 CONTINUE IF (ILOOP .NE. 4) GOTO 30041 CALL TERSEQ(48,12,20) CALL MOVE01(OUTLEN,TYPE(1,1),OUTBUF) GOTO30038 30041 CONTINUE IF (ILOOP .NE. 5) GOTO 30042 CALL TERSEQ(48,12,40) CALL MOVE01(OUTLEN,TYPE(1,2),OUTBUF) GOTO30038 30042 CONTINUE IF (ILOOP .NE. 6) GOTO 30043 CALL TERSEQ(48,12,60) CALL MOVE01(OUTLEN,TYPE(1,3),OUTBUF) GOTO30038 30043 CONTINUE IF (ILOOP .NE. 7) GOTO 30044 CALL TERSEQ(48,16,20) CALL MOVE01(OUTLEN,TYPE(1,1),OUTBUF) GOTO30038 30044 CONTINUE IF (ILOOP .NE. 8) GOTO 30045 CALL TERSEQ(48,16,40) CALL MOVE01(OUTLEN,TYPE(1,2),OUTBUF) GOTO30038 30045 CONTINUE IF (ILOOP .NE. 9) GOTO 30046 CALL TERSEQ(48,16,60) CALL MOVE01(OUTLEN,TYPE(1,3),OUTBUF) GOTO30038 30046 CONTINUE IF (ILOOP .NE. 10) GOTO 30047 CALL TERSEQ(48,20,20) CALL MOVE01(OUTLEN,TYPE(1,1),OUTBUF) GOTO30038 30047 CONTINUE IF (ILOOP .NE. 11) GOTO 30048 CALL TERSEQ(48,20,40) CALL MOVE01(OUTLEN,TYPE(1,2),OUTBUF) GOTO30038 30048 CONTINUE IF (ILOOP .NE. 12) GOTO 30049 CALL TERSEQ(48,20,60) CALL MOVE01(OUTLEN,TYPE(1,3),OUTBUF) 30038 CONTINUE 30049 CONTINUE ASSIGN 30050 TO M00000 GOTO 30004 30050 CONTINUE 30032 CONTINUE 30029 CONTINUE 30030 CONTINUE CALL MOVE01(16,STATE,OSTATE) 30028 CONTINUE CALL READEF(3,IDS) IF (IDS.NE.0) GOTO 30026 ASSIGN 30051 TO M00002 GOTO 30011 30051 CONTINUE IF (IDS.NE.1) GOTO 30001 GOTO 30025 30026 CONTINUE CALL TERSEQ(59,PRM1,PRM2) CALL TERSEQ(85,PRM1,PRM2) CALL TERSEQ(50,PRM1,PRM2) GOTO 30002 30001 CONTINUE CALL TERSEQ(59,PRM1,PRM2) CALL TERSEQ(85,PRM1,PRM2) CALL TERSEQ(50,PRM1,PRM2) OUTLEN=28 CALL MOVE01(OUTLEN,'...CMS - FEL I KOMMUNIKATION',OUTBUF) ASSIGN 30052 TO M00000 GOTO 30004 30052 CONTINUE 30002 CONTINUE CALL EXIT GOTO 30053 30004 CONTINUE IPARAM(2)=OUTLEN CALL WTQIO(IOWLB,5,2,,,IPARAM,IDS) IF (.NOT.(IDS.NE.1)) GOTO 30055 STOP 'CMS WTQIO WRITE IDS' 30055 CONTINUE GOTO M00000 30053 CONTINUE GOTO 30056 30009 CONTINUE CALL GETADR(I2PARAM(1),INBUF) I2PARAM(2)=1 CALL WTQIO(IORVB,5,3,,IOSB,I2PARAM,IDS) IF (.NOT.(IDS.NE.1)) GOTO 30058 STOP 'CMS WTQIO READ IDS' 30058 CONTINUE CALL QIO(IORVB,5,3,,IOSB,I2PARAM,IDS) IF (.NOT.(IDS.NE.1)) GOTO 30060 STOP 'CMS QIO READ IDS' 30060 CONTINUE GOTO M00001 30056 CONTINUE GOTO 30061 30011 CONTINUE CONTINUE CALL SDRCN(TASK,SNDBUF,4,,IESB,,IDS) IF (IDS.NE.1) GOTO 30062 CALL WAITFR(4,IDS) IF (IDS.NE.1) GOTO 30062 IF (IESB(1).NE.1) GOTO 30062 CALL RECEIV(TASK,RECBUF,,IDS) IF (IDS.NE.1) GOTO 30062 GOTO 30063 30062 CONTINUE IDS=-1 30063 CONTINUE GOTO M00002 30061 CONTINUE END