11 common/lll/ mssg(28),namprog(2),logut,logup,lisflg,msgf
12 INTEGER*4 MSSG,NAMPROG,LOGUT,LOGUP
13 CHARACTER*4 LISFLG,MSGF
15 equivalence(cmssg,mssg)
17 common/ml01/ iwd(20),lwd(2,40),ityp(40),nf,nter
18 INTEGER*4 IWD, LWD, ITYP, NF,NTER
20 common/ml02/ iwdraw(20)
23 common/sc01/ namcmd(20)
25 CHARACTER*4 CNAMCMD(20)
26 equivalence(cnamcmd,namcmd)
31 common/sc04/ jcnf,ihedn,mbfl
35 common/sc05/ nhwh,lstl,lnby,maxip,nskip,iswab,lform
36 INTEGER*4 NHWH,LSTL,LNBY,MAXIP,NSKIP
37 CHARACTER*4 ISWAB,LFORM
39 common/sc12/ mem_style,shmid
40 CHARACTER*80 MEM_STYLE
43 common/sc13/ lcon,lcmd,lin,lban,lhep
44 INTEGER*4 LCON,LCMD,LIN,LBAN,LHEP
46 common/sc14/ nbred,nbtop,icnf
50 common/sc16/ indir(8192),intyp,inreci,luinf
51 INTEGER*4 INDIR, INRECI,LUINF
57 common/orphas/ strbufevt,numbufevts,buf_num,lastevt,sumevts,
60 REAL*8 STRBUFEVT,NUMBUFEVTS,BUF_NUM,LASTEVT,SUMEVTS,
65 INTEGER*4 RETN,IERR,STAT,I
67 INTEGER*4 NSEC,ISTAT,KIND,KERR
71 CHARACTER*4 IDONE,KMD,KOM
73 equivalence(kmd,lwd(1,1)),(kom,iwd(1))
76 equivalence(lut,luc(1)),
80 character*4 cnamcmds(20), ciwd(20)
81 equivalence(cnamcmds, namcmds), (ciwd,iwd)
82 DATA cnamcmds,ciwd/40*
' '/
107 25
FORMAT(
'NUMBER OF BUFFERS PROCESSED =',i8)
110 IF(intyp.EQ.
'SHM ')
THEN 114 WRITE(cmssg,28)lastevt-beginevt,
116 & lastevt-beginevt-sumevts
120 26
FORMAT(
' Total Events Seen Events Lost Events')
130 35
FORMAT(
'Error reading cmd-file or cmd-file not assigned')
135 45
FORMAT(
'END OF COMMAND FILE')
145 55
IF(lin.NE.lcon)
GO TO 1000
154 70
CALL nuinp(lcmd,ierr)
159 100
IF(lin.EQ.lcon)
WRITE(logut,105)
160 105
FORMAT(
' SCANOR->',$)
167 READ(lin,110,err=30,end=40)iwd
170 WRITE(cmssg,115)(iwd(i),i=1,12),(namcmd(i),i=1,5)
171 IF(lin.NE.lcon)
CALL messlog(logut,logup)
172 IF(lin.EQ.lcon)
CALL messlog(0,logup)
173 115
FORMAT(12a4,
' - FROM ',5a4)
181 IF(kom.EQ.
'CMDF')
GO TO 70
182 IF(kom.EQ.
'CMD ')
GO TO 70
183 IF(kom.EQ.
'CCON')
GO TO 50
184 IF(kom.EQ.
'CLCM')
GO TO 55
185 IF(kom.EQ.
'CCMD')
GO TO 60
189 CALL gread(iwd,lwd,ityp,nf,1,80,nter)
191 IF(kmd.EQ.
' ')
GO TO 100
193 CALL cmpsetup(idone,retn)
194 IF(idone.EQ.
'YES ')
THEN 195 IF(retn.EQ.50)
GO TO 50
199 CALL cmpinput(idone,retn)
200 IF(idone.EQ.
'YES ')
THEN 201 IF(retn.EQ.50)
GO TO 50
205 CALL cmpread(idone,retn)
206 IF(idone.EQ.
'YES ')
THEN 207 IF(retn.EQ.50)
GO TO 50
211 IF(nter.NE.0)
GO TO 1000
213 IF(kmd.EQ.
'ZERO')
GO TO 200
214 IF(kmd.EQ.
'Z ')
GO TO 210
215 IF(kmd.EQ.
'SUM ')
GO TO 220
217 IF(kmd.EQ.
'WAIT')
GO TO 230
219 IF(kmd.EQ.
'GO ')
GO TO 250
220 IF(kmd.EQ.
'GOEN')
GO TO 250
222 IF(kmd.EQ.
'END ')
GO TO 300
223 IF(kmd.EQ.
'HUP ')
GO TO 320
224 IF(kmd.EQ.
'KILL')
GO TO 340
232 200
CALL hisnit(luh,
'ZOT ')
256 230
CALL milv(lwd(1,2),nsec,xv,kind,kerr)
257 IF(kerr.NE.0)
GO TO 1000
259 IF(nsec.GT.300) nsec=300
260 CALL wait(nsec,2,istat)
267 250
CALL doscan(retn)
269 IF(msgf.NE.
' ')
GO TO 20
270 IF(retn.EQ.0)
GO TO 100
271 IF(retn.EQ.20)
GO TO 20
272 IF(retn.EQ.50)
GO TO 50
279 300
IF(lut.LT.0)
GO TO 320
287 320
CALL hisnit(luh,
'HUP ')
288 IF(kmd.EQ.
'HUP ')
GO TO 100
296 IF((mem_style(1:5).NE.
'LOCAL'))
THEN 297 CALL mmap_close(ierr)
308 write(6,*)
"Exiting Scanor..." 315 1000
WRITE(cmssg,1005)
317 1005
FORMAT(
'Syntax error or illegal command - ignored')
subroutine messlog(LUA, LUB)