/[PAMELA software]/chewbacca/PamOffLineSW/forroutines/calorimeter/calunpack.for
ViewVC logotype

Diff of /chewbacca/PamOffLineSW/forroutines/calorimeter/calunpack.for

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mocchiut, Tue Sep 23 07:20:20 2008 UTC revision 1.6 by mocchiut, Wed Dec 23 07:04:29 2009 UTC
# Line 1  Line 1 
1  C  C
2  C  Written by Emiliano Mocchiutti and Mirko Boezio  C  Written by Emiliano Mocchiutti and Mirko Boezio
3  C  C
4  C     * Version: 3.4.10 *  C     * Version: 3.4.11 *
5  C  C
6  C Changelog:  C Changelog:
7  C  C
8    C 3.4.10 - 3.4.11: (2008-12-04) Process always the data also in case of CRC errors.
9    C
10  C 3.4.09 - 3.4.10: (2006-10-19) Bug, crash when length is too big, fixed (introduced error code 143 = packet length problems);  C 3.4.09 - 3.4.10: (2006-10-19) Bug, crash when length is too big, fixed (introduced error code 143 = packet length problems);
11  C  C
12  C 3.4.08 - 3.4.09: (2006-09-28) XE is not always correctly found, fixed.  C 3.4.08 - 3.4.09: (2006-09-28) XE is not always correctly found, fixed.
# Line 121  c      PARAMETER (START=300,SEC1ST=1200) Line 123  c      PARAMETER (START=300,SEC1ST=1200)
123  c      PARAMETER (START=500,SEC1ST=1200)  c      PARAMETER (START=500,SEC1ST=1200)
124        PARAMETER (SEC1ST=1200)        PARAMETER (SEC1ST=1200)
125        PARAMETER (NPLA=22,NCHA=96,LENSEV=NPLA*NCHA)        PARAMETER (NPLA=22,NCHA=96,LENSEV=NPLA*NCHA)
126        PARAMETER (ival='FFFF'x)  c      PARAMETER (ival=-32768)
127    c      PARAMETER (ival='FFFF'x)
128  C  C
129  C Normal variables definition  C Normal variables definition
130  C  C
# Line 143  C Line 146  C
146        integer seemcomp, seemfull, cberaw, yesisco, yesisfu,yesisra        integer seemcomp, seemfull, cberaw, yesisco, yesisfu,yesisra
147        integer ca50, ca50a, ca50b        integer ca50, ca50a, ca50b
148        integer firsttime        integer firsttime
149          integer scrcerr, sic, sicb
150  C      C    
151        real dedx1(11,96),dedx2(11,96),dedx3(11,96),dedx4(11,96)        real dedx1(11,96),dedx2(11,96),dedx3(11,96),dedx4(11,96)
152        real dedx1c(11,96),dedx2c(11,96),dedx3c(11,96),dedx4c(11,96)        real dedx1c(11,96),dedx2c(11,96),dedx3c(11,96),dedx4c(11,96)
# Line 169  C Line 173  C
173  C          C        
174  C Begin !  C Begin !
175  C  C
176    c      dumpo = iev
177        start = 320        start = 320
178        firsttime = 1        firsttime = 1
179        SOGLIA0 = 70        SOGLIA0 = 70
180          sic = 0
181          sicb = 0
182   2    continue   2    continue
183  C  C
184  C     input length must be > 0, if not go out with error code 142  C     input length must be > 0, if not go out with error code 142
# Line 183  C Line 190  C
190           enddo           enddo
191           goto 999           goto 999
192        endif        endif
193    
194          do bit = 0, 15
195             ival = ibset(ival,bit)
196          enddo
197    c      print *,' IVAL ',IVAL
198    c      write(*,22)IVAL
199  C  C
200  C     no debug informations  C     no debug informations
201  C  C
# Line 190  C Line 203  C
203  C  C
204  C     DEBUG: PRINT OUT THE INPUT VECTOR  C     DEBUG: PRINT OUT THE INPUT VECTOR
205  C  C
206        if (iev.eq.dumpo) then  c      if (iev.eq.dumpo) then
207           do l=1,lung  c         do l=1,lung
208              write(*,17)l,vecta(l)  c            write(*,17)l,vecta(l)
209           enddo  c         enddo
210        endif  c      endif
211  C      dumpo = iev  C      dumpo = iev
212  C  C
213  C     DETERMINE LENGTH IN WORDS FROM LENGTH IN BYTES  C     DETERMINE LENGTH IN WORDS FROM LENGTH IN BYTES
# Line 292  C Line 305  C
305  c  c
306   32   continue   32   continue
307  C  C
308          if ( ic .lt. 1 ) then
309             if (dumpo.eq.iev) print *,' AGH IC = ',IC      
310             ic = 1
311          endif
312          if ( icsave .lt. 0 ) then
313             if (dumpo.eq.iev) print *,' AGH ICSAVE = ',ICSAVE      
314             icsave = 0
315          endif
316    C
317        ke = 0        ke = 0
318        chis = chi        chis = chi
319        icold = ic        icold = ic
320        DO i = 1, 60000        DO i = 1, 120000
321           vect(i) = 0           vect(i) = 0
322        enddo        enddo
323        do while (ke.eq.0)        do while (ke.eq.0)
# Line 803  C Line 825  C
825        endif        endif
826  C  C
827        if (check.ne.vect(length)) then        if (check.ne.vect(length)) then
828  C  c
829    c     try to process anyway if we have crc errors but only on the second time we have found our section
830    c
831             scrcerr = 0
832             sic = 0
833             sicb = 0
834             if ( headcor.ne.2 ) then
835    C    
836  C     clear vectors of that section in the common  C     clear vectors of that section in the common
837    C    
838                call clearsec
839  C  C
840           call clearsec              calselftrig(k,1) = check
841  C              calselftrig(k,2) = vect(length)
          calselftrig(k,1) = check  
          calselftrig(k,2) = vect(length)  
842  c          c        
843           merror(contr) = 132              merror(contr) = 132
844           chi = chi + 4              chi = chi + 4
845           lleng = 0              lleng = 0
846           length2 = 0              length2 = 0
847           length = 0              length = 0
848    c    
849                if (ke.eq.1.and.headcor.ne.2) then
850                   ic = 10
851    c     elseif (headcor.eq.2) then
852    c     contr = contr + 1            
853                endif
854                headcor = 1
855                ichc = ic - 1
856                if (iev.eq.dumpo)
857         &           print *,' A crc is wrong ',ic,
858         &           ' search section ',contr,' coco = ',coco
859                goto 32    
860             else
861    c    
862    c     set some variables and try to go on
863  c  c
864           if (ke.eq.1.and.headcor.ne.2) then              merror(contr) = 132
865              ic = 10              scrcerr = 1
866           elseif (headcor.eq.2) then              sic = ic
867              contr = contr + 1                          sicb = icb
868    
869           endif           endif
          headcor = 1  
          ichc = ic - 1  
          if (iev.eq.dumpo)  
      &        print *,'crc is wrong ',ic,  
      &        ' search section ',contr,' coco = ',coco  
          goto 32      
870        else        else
871           chi = chi - 4           chi = chi - 4
872           if (chi.lt.0) chi = 0           if (chi.lt.0) chi = 0
# Line 842  C     Line 881  C    
881        call clearsec        call clearsec
882        do i = 1, 7        do i = 1, 7
883           icb = icb + 1           icb = icb + 1
884           auto(i) = vect(icb)           if ( icb.gt.120000 ) then
885    c     out of vector...
886                if (iev.eq.dumpo) then
887                   print *,' Run out of vect...'  
888                   goto 150
889                endif
890             endif
891             auto(i) = vect(icb)            
892        enddo        enddo
893  C      C    
894        st2c = 0        st2c = 0
# Line 859  C     Line 905  C    
905              chi = chi + 4              chi = chi + 4
906              if (iev.eq.dumpo)              if (iev.eq.dumpo)
907       &           print *,'raw lung 4'       &           print *,'raw lung 4'
908              lleng = 0              if ( scrcerr.eq.0 ) then
909              goto 150                 lleng = 0
910           else                               goto 150
911              if (k.eq.1) call CALRAW(vect,icb+1,length-1,dedx1)              endif
             if (k.eq.2) call CALRAW(vect,icb+1,length-1,dedx2)  
             if (k.eq.3) call CALRAW(vect,icb+1,length-1,dedx3)  
             if (k.eq.4) call CALRAW(vect,icb+1,length-1,dedx4)  
912           endif           endif
913    c     else              
914             if (k.eq.1) call CALRAW(vect,icb+1,length-1,dedx1)
915             if (k.eq.2) call CALRAW(vect,icb+1,length-1,dedx2)
916             if (k.eq.3) call CALRAW(vect,icb+1,length-1,dedx3)
917             if (k.eq.4) call CALRAW(vect,icb+1,length-1,dedx4)
918    c     endif
919           goto 50           goto 50
920        endif        endif
921  C      C    
# Line 879  c     Line 928  c    
928              chi = chi + 4              chi = chi + 4
929              if (iev.eq.dumpo)              if (iev.eq.dumpo)
930       &           print *,'compr lung 4'       &           print *,'compr lung 4'
931              lleng = 0              if ( scrcerr.eq.0 ) then
932              goto 150                 lleng = 0
933           else                 goto 150
934              icb = icb + 1              endif
935              calIItrig(k) = vect(icb)           endif
936              icb = icb + 1  c         else
937              calstriphit(k) = vect(icb)           icb = icb + 1
938              icb = icb + 1           if ( icb.gt.120000 ) then
939    c     out of vector...
940                if (iev.eq.dumpo) then
941                   print *,' Run out of vect...'  
942                   goto 150
943                endif
944             endif
945             calIItrig(k) = vect(icb)
946             icb = icb + 1
947             if ( icb.gt.120000 ) then
948    c     out of vector...
949                if (iev.eq.dumpo) then
950                    print *,' Run out of vect...'  
951                   goto 150
952                endif
953             endif
954             calstriphit(k) = vect(icb)
955             icb = icb + 1
956             if ( icb.gt.120000 ) then
957    c     out of vector...
958                if (iev.eq.dumpo) then
959                    print *,' Run out of vect...'  
960                   goto 150
961                endif
962             endif
963  C     FIRST CALORIMETER SIGNATURE:  CA50  C     FIRST CALORIMETER SIGNATURE:  CA50
964              icb = icb + 1           icb = icb + 1
965             if ( icb.gt.120000 ) then
966    c     out of vector...
967                if (iev.eq.dumpo) then
968                    print *,' Run out of vect...'  
969                   goto 150
970                endif
971             endif
972  C     SECOND CALORIMETER SIGNATURE:  CA50      C     SECOND CALORIMETER SIGNATURE:  CA50    
973              icb = icb + 1           icb = icb + 1
974             if ( icb.gt.120000 ) then
975    c     out of vector...
976                if (iev.eq.dumpo) then
977                    print *,' Run out of vect...'  
978                   goto 150
979                endif
980             endif
981  C     test is here!  C     test is here!
982              icb = icb + 1           icb = icb + 1
983              calDSPtaberr(k) = vect(icb)           if ( icb.gt.120000 ) then
984              icb = icb + 1  c     out of vector...
985              calevnum(k) = vect(icb)              if (iev.eq.dumpo) then
986              if (k.eq.1) call CALCOMPRESS(vect,icb+1,length-1,dedx1c,                  print *,' Run out of vect...'  
987       &           base1)                 goto 150
988              if (k.eq.2) call CALCOMPRESS(vect,icb+1,length-1,dedx2c,              endif
      &           base2)  
             if (k.eq.3) call CALCOMPRESS(vect,icb+1,length-1,dedx3c,  
      &           base3)  
             if (k.eq.4) call CALCOMPRESS(vect,icb+1,length-1,dedx4c,  
      &           base4)  
             goto 50  
989           endif           endif
990             calDSPtaberr(k) = vect(icb)
991             icb = icb + 1
992             if ( icb.gt.120000 ) then
993    c     out of vector...
994                if (iev.eq.dumpo) then
995                    print *,' Run out of vect...'  
996                   goto 150
997                endif
998             endif
999             calevnum(k) = vect(icb)
1000             if (k.eq.1) call CALCOMPRESS(vect,icb+1,length-1,dedx1c,
1001         &        base1,scrcerr)
1002             if (k.eq.2) call CALCOMPRESS(vect,icb+1,length-1,dedx2c,
1003         &        base2,scrcerr)
1004             if (k.eq.3) call CALCOMPRESS(vect,icb+1,length-1,dedx3c,
1005         &        base3,scrcerr)
1006             if (k.eq.4) call CALCOMPRESS(vect,icb+1,length-1,dedx4c,
1007         &        base4,scrcerr)
1008             goto 50
1009    c      endif
1010        else if (test.eq.0) then        else if (test.eq.0) then
1011           if (length2.gt.2257) then           if (length2.gt.2257) then
1012              merror(contr) = 135              merror(contr) = 135
1013              chi = chi + 4              chi = chi + 4
1014              if (iev.eq.dumpo)              if (iev.eq.dumpo)
1015       &           print *,'full lung 4'       &           print *,'full lung 4'
1016              lleng = 0              if ( scrcerr.eq.0 ) then
1017              goto 150                 lleng = 0
1018           else                 goto 150
1019              icb = icb + 1              endif
1020              calIItrig(k) = vect(icb)           endif
1021              icb = icb + 1  c     else
1022              calstriphit(k) = vect(icb)           icb = icb + 1
1023              icb = icb + 1           if ( icb.gt.120000 ) then
1024    c     out of vector...
1025                if (iev.eq.dumpo) then
1026                   print *,' Run out of vect...'  
1027                   goto 150
1028                endif
1029             endif
1030             calIItrig(k) = vect(icb)
1031             icb = icb + 1
1032             if ( icb.gt.120000 ) then
1033    c     out of vector...
1034                if (iev.eq.dumpo) then
1035                   print *,' Run out of vect...'  
1036                   goto 150
1037                endif
1038             endif
1039             calstriphit(k) = vect(icb)
1040             icb = icb + 1
1041             if ( icb.gt.120000 ) then
1042    c     out of vector...
1043                if (iev.eq.dumpo) then
1044                   print *,' Run out of vect...'  
1045                   goto 150
1046                endif
1047             endif
1048  C     FIRST CALORIMETER SIGNATURE:  CA50  C     FIRST CALORIMETER SIGNATURE:  CA50
1049              icb = icb + 1           icb = icb + 1
1050             if ( icb.gt.120000 ) then
1051    c     out of vector...
1052                if (iev.eq.dumpo) then
1053                   print *,' Run out of vect...'  
1054                   goto 150
1055                endif
1056             endif
1057  C     SECOND CALORIMETER SIGNATURE:  CA50      C     SECOND CALORIMETER SIGNATURE:  CA50    
1058              icb = icb + 1           icb = icb + 1
1059             if ( icb.gt.120000 ) then
1060    c     out of vector...
1061                if (iev.eq.dumpo) then
1062                   print *,' Run out of vect...'  
1063                   goto 150
1064                endif
1065             endif
1066  C     test is here!  C     test is here!
1067              icb = icb + 1           icb = icb + 1
1068              calDSPtaberr(k) = vect(icb)           if ( icb.gt.120000 ) then
1069              icb = icb + 1  c     out of vector...
1070              calevnum(k) = vect(icb)              if (iev.eq.dumpo) then
1071              if (k.eq.1) call CALFULL(vect,icb+1,length-1,dedx1,                 print *,' Run out of vect...'  
1072       &           dedx1c,base1)                 goto 150
1073              if (k.eq.2) call CALFULL(vect,icb+1,length-1,dedx2,              endif
1074       &           dedx2c,base2)           endif
1075              if (k.eq.3) call CALFULL(vect,icb+1,length-1,dedx3,           calDSPtaberr(k) = vect(icb)
1076       &           dedx3c,base3)           icb = icb + 1
1077              if (k.eq.4) call CALFULL(vect,icb+1,length-1,dedx4,           if ( icb.gt.120000 ) then
1078       &           dedx4c,base4)  c     out of vector...
1079              goto 50              if (iev.eq.dumpo) then
1080                   print *,' Run out of vect...'  
1081                   goto 150
1082                endif
1083           endif           endif
1084             calevnum(k) = vect(icb)
1085             if (k.eq.1) call CALFULL(vect,icb+1,length-1,dedx1,
1086         &        dedx1c,base1,scrcerr)
1087             if (k.eq.2) call CALFULL(vect,icb+1,length-1,dedx2,
1088         &        dedx2c,base2,scrcerr)
1089             if (k.eq.3) call CALFULL(vect,icb+1,length-1,dedx3,
1090         &        dedx3c,base3,scrcerr)
1091             if (k.eq.4) call CALFULL(vect,icb+1,length-1,dedx4,
1092         &        dedx4c,base4,scrcerr)
1093             goto 50
1094    c     endif
1095        else        else
1096           merror(contr) = 136           merror(contr) = 136
1097           chi = chi + 4           chi = chi + 4
# Line 973  C     Line 1126  C    
1126              base(1,2*i,j) = base3(i,j)              base(1,2*i,j) = base3(i,j)
1127           enddo           enddo
1128        enddo        enddo
1129  C  C    
1130   150  continue   150  continue
1131  C  C    
1132        contr = contr + 1        contr = contr + 1
1133          
1134    c
1135    c     in case of crc error proceed as if we never processed this section
1136    c
1137          if ( scrcerr.eq.1 ) then
1138            
1139             chi = chi + 4
1140             lleng = 0
1141             length2 = 0
1142             length = 0
1143    c    
1144             headcor = 1
1145             ichc = sic - 1
1146             icb = sicb
1147             if (iev.eq.dumpo)
1148         &        print *,' B crc is wrong ',sic,
1149         &        ' search section ',contr,' coco = ',coco
1150             goto 32    
1151    c
1152          endif
1153    
1154  C  C
1155  c     go on till we have found all the four sections  c     go on till we have found all the four sections
1156  c  c
# Line 1098  c Line 1272  c
1272                 enddo                 enddo
1273              enddo                enddo  
1274           endif           endif
1275           do l=1,lung  c         do l=1,lung
1276              write(*,17)l,vecta(l)  c            write(*,17)l,vecta(l)
1277           enddo  c         enddo
1278        endif        endif
1279        iev = iev + 1              iev = iev + 1      
1280        RETURN        RETURN
# Line 1142  c Line 1316  c
1316        do j = 1,96        do j = 1,96
1317           do i = 1,11           do i = 1,11
1318              DEDX(I,J) = 0.              DEDX(I,J) = 0.
1319              dedx(i,j) = vect(k)              if ( k.le.120000 ) dedx(i,j) = vect(k)
1320              k = k + 1              k = k + 1
1321           enddo           enddo
1322        enddo        enddo
# Line 1151  c Line 1325  c
1325        END        END
1326    
1327  C------------------------------------------------  C------------------------------------------------
1328        SUBROUTINE CALCOMPRESS(vect,inf,sup,dedx,basse)        SUBROUTINE CALCOMPRESS(vect,inf,sup,dedx,basse,cer)
1329  C------------------------------------------------  C------------------------------------------------
1330    
1331        IMPLICIT NONE        IMPLICIT NONE
# Line 1168  C Line 1342  C
1342        INTEGER merror(4)        INTEGER merror(4)
1343        INTEGER contr        INTEGER contr
1344        integer stwerr(4),dumpo        integer stwerr(4),dumpo
1345        integer bit,bi        integer bit,bi,cer
1346  C  C
1347        REAL DEXY(2,NPLA,NCHA), dexyc(2,npla,ncha), base(2,npla,6)        REAL DEXY(2,NPLA,NCHA), dexyc(2,npla,ncha), base(2,npla,6)
1348        real calselftrig(4,7), calIItrig(4), calstriphit(4),        real calselftrig(4,7), calIItrig(4), calstriphit(4),
# Line 1197  C Line 1371  C
1371        i = inf        i = inf
1372  c  c
1373   10   continue   10   continue
1374        if (i.gt.sup) then        if (i.gt.sup.or.i.gt.120000) then
1375           RETURN           RETURN
1376        endif        endif
1377  C  C
# Line 1221  c Line 1395  c
1395                 write(*,43)vect(i)                 write(*,43)vect(i)
1396              endif              endif
1397              merror(contr) = 139              merror(contr) = 139
1398              RETURN              if ( cer.eq.0 ) then
1399                   RETURN
1400                else
1401                   i = i + 1
1402                   goto 10
1403                endif
1404           endif           endif
1405        endif        endif
1406  C  C
# Line 1232  c Line 1411  c
1411           ipl = int(st/6) + 1           ipl = int(st/6) + 1
1412           ipr = st - (ipl - 1) * 6 + 1           ipr = st - (ipl - 1) * 6 + 1
1413           i = i + 1           i = i + 1
1414           if (i.gt.sup) RETURN           if (i.gt.sup.or.i.gt.120000) RETURN
1415           basse(ipl,ipr) = vect(i)           if ( ipl.ge.1.and.ipl.le.11.and.ipr.ge.1.and.ipr.le.6)
1416         +        basse(ipl,ipr) = vect(i)            
1417  c          c        
1418   20      continue   20      continue
1419           if (i.gt.sup) RETURN           if (i.gt.sup.or.i.gt.120000) RETURN
1420  C  C
1421           i = i + 1           i = i + 1
1422           if (i.gt.sup) RETURN           if (i.gt.sup.or.i.gt.120000) RETURN
1423           if ((vect(i)+1).gt.16.or.(vect(i)+1).lt.1) then           if ((vect(i)+1).gt.16.or.(vect(i)+1).lt.1) then
   
1424              goto 10              goto 10
1425           endif           endif
1426           ist = vect(i) + 1 + 16 * (ipr - 1)           ist = vect(i) + 1 + 16 * (ipr - 1)
1427           i = i + 1           i = i + 1
1428           if (i.gt.sup) RETURN           if (i.gt.sup.or.i.gt.120000) RETURN
1429           dedx(ipl,ist) = vect(i)           if ( ipl.ge.1.and.ipl.le.11.and.ist.ge.1.and.ist.le.96)
1430         +        dedx(ipl,ist) = vect(i)
1431           goto 20           goto 20
1432        else        else
1433  C  C
1434           st = IAND(vect(i),'00FF'x)           st = IAND(vect(i),'00FF'x)
1435           ipl = int(st/6) + 1           ipl = int(st/6) + 1
1436           ipr = st - (ipl - 1) * 6 + 1           ipr = st - (ipl - 1) * 6 + 1
1437           do j = 1,16           if ( ipl.ge.1.and.ipl.le.11 ) then
1438              i = i + 1              do j = 1,16
1439              if (i.gt.sup) RETURN                 i = i + 1
1440              ist = j + 16 * (ipr - 1)                 if (i.gt.sup.or.i.gt.120000) RETURN
1441              dedx(ipl,ist) = vect(i)                 ist = j + 16 * (ipr - 1)
1442           enddo                 if (ist.ge.1.and.ist.le.96) dedx(ipl,ist) = vect(i)
1443                enddo
1444             endif
1445           i = i + 1           i = i + 1
1446           if (i.gt.sup) RETURN           if (i.gt.sup.or.i.gt.120000) RETURN
1447           goto 10           goto 10
1448  C          C        
1449        endif        endif
# Line 1272  C         Line 1454  C        
1454    
1455    
1456  C----------------------------------------------------------  C----------------------------------------------------------
1457        SUBROUTINE CALFULL(vect,inf,sup,dedx,dedxc,basse)        SUBROUTINE CALFULL(vect,inf,sup,dedx,dedxc,basse,cer)
1458  C--------------------------------------------------------------  C--------------------------------------------------------------
1459    
1460        IMPLICIT NONE        IMPLICIT NONE
# Line 1282  C--------------------------------------- Line 1464  C---------------------------------------
1464  C  C
1465        INTEGER*2 VECT(30000)        INTEGER*2 VECT(30000)
1466        INTEGER inf, sup        INTEGER inf, sup
1467        INTEGER i,j,k, iev        INTEGER i,j,k, iev, cer
1468        INTEGER contr        INTEGER contr
1469        integer stwerr(4),dumpo,merror(4)        integer stwerr(4),dumpo,merror(4)
1470  C  C
# Line 1306  C Line 1488  C
1488        do i = 1,11        do i = 1,11
1489           do j = 1,96           do j = 1,96
1490              DEDX(I,J) = 0.              DEDX(I,J) = 0.
1491              dedx(i,j) = vect(k)              if ( k.le.120000 ) dedx(i,j) = vect(k)
1492              k = k + 1              k = k + 1
1493           enddo           enddo
1494        enddo        enddo
1495  C  C
1496        call CALCOMPRESS(vect,k,sup,dedxc,basse)        call CALCOMPRESS(vect,k,sup,dedxc,basse,cer)
1497  C  C
1498   10   FORMAT(2X,'Status word:',2X,Z8)         10   FORMAT(2X,'Status word:',2X,Z8)      
1499    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23