Sie sind auf Seite 1von 18

PROGRAM TSTPAR

$SEGMENT TSTPAR
$CHAREQU
CHARACTER PROGNM*18,MAINLN*54,CRKEY*12,CRLINE*72,PFNFOO*18
CHARACTER DATE*10,TITLE(3)*77,LABEL*77,POLAR*2,CRLF*2,ANSWER*4
CHARACTER ELCTRD(2)*15,PLRITY(2)*1,NOTES*16,HAPS(32)*8
CHARACTER*22 FRMTYP(-2:20),PADS*3,PSTATS(0:4)*36,PSTAT(0:4)*36
CHARACTER*20 FRAME,FRAME2,FLNM,DFRAME,TMP(5),CRHO(4)
CHARACTER*17 PTMP(5),PRHO(4),PDENS
CHARACTER*6 VOLUME(-1:7)
CHARACTER*1 CARR(1024),CT(77,3),CL(77),TC,TCALGN(2),NOTES1(16),NCRUDQ
CHARACTER*1 CR,LF,TAB,FF,FORM,SPACE,ASCOPA(8192),ASCOP0(8192),MGFRMN(2)
REAL*4 WCHGV,TL,WTINCR,DENS,WWFM(0:1023),TEMP(5),RHO(4),FLOW,RARR(256)
REAL*4 YMUL(10),Y0(10),RNUM,YZERO,YMULT,VGND,TTRIG,VTRIG
REAL*4 CHGVLT,TINCR,WFMS(0:1023,-10:11),WFMA(0:1023),CHRGV
REAL*4 WFM0ZR,WFM1ZR,TMP0ZR,TMP1ZR,W0MAX,W0MIN,W1MAX,W1MIN,RANGE0,RANGE1
REAL*4 WFM0(0:1023),PWFM0(0:1023),WFM1(0:1023),PWFM1(0:1023),TIME(0:1023)
REAL*4 WFM2(0:1023),PWFM2(0:1023),WFM3(0:1023),PWFM3(0:1023)
REAL*4 WFM4(0:1023),PWFM4(0:1023),WFM5(0:1023),PWFM5(0:1023)
REAL*4 WFM6(0:1023),PWFM6(0:1023),WFM7(0:1023),PWFM7(0:1023)
REAL*4 WFM8(0:1023),PWFM8(0:1023),WFM9(0:1023),PWFM9(0:1023)
REAL*4 DATA(3,1024),D256L(3,1024),D128L(3,512),D75L(3,300),D64L(3,256)
REAL*4 PR256L(3,256,4),PR128L(3,128,4),PR75L(3,75,4),PR64L(3,64,4)
REAL*4 PR50L(3,50,4),D50L(3,200),D500(500,40),D250(250,80),D125(125,160)
REAL*4 PLOT1K(1024,2,10),PLT512(512,2,20),PLT256(256,2,40),D128(128,160)
REAL*4 RLOT1K(1024,2,8),RLT512(512,2,16),RLT256(256,2,32)
REAL*4 R500(16384),D170(170,120),D20480(20480)
REAL*4 TLASER,BASVAL,BASLOG
INTEGER*4 XLIM,YLIM,LAST4(4)*2,PROFIL(0:16383)*2,CUMUL(0:16383),IGNORE
INTEGER*4 IXLEN,IYLEN,IIXLEN,IIYLEN,IXNUM,IYNUM,SENBAS,SENDAT,RUNNUM,SHOTNO
INTEGER*4 ZLEN,ZMARK,ZPOINT,ALEN,AMARK,APOINT,PICPAG,GRPHPG,GRPAGE
INTEGER*4 GTYR,GTMO,GTDA,GTHR,GTMIN,GTSEC,GTFR,LABOOK,AFMTYP,IAPS(32)
INTEGER*4 IARR(256),BARR(1024)*1,HEADRE,TYPFRM,FLUID(2)*2,AUX(256)*1
INTEGER*4 SCRN0,CNSL0,KPD,PR,BUSA,BUSB,BUSC,BUSD,FILE,GR,APS(0:7)
INTEGER*4 APMAIN,AP2,AP3,AP4,AP5,AP6,APZR,APMX,LENS(32),LNS(0:7)
INTEGER*4 LNMAIN,LN2,LN3,LN4,LN5,LN6,LNZR,LNMX,NDRIVE,NFRAME
INTEGER*4 UNITNO,LENRQX,IOADDR,LEVEL,OLEVEL,WFMNO,SAQQQQ(2048)
INTEGER*4 ERROR,RECLEN,FREC,IPNTS,VOLTN,ANUMN,S0QQQQ(2048),ASCOPN
INTEGER*4 OTHERW,SCRCHW,LLCTRD,RLCTRD,BLCTRD,TLCTRD
INTEGER*2 ASC,SCAN,KBF1,KBF2,ERR,IASC,ISCAN,IKBF1,IKBF2,IERR,IMAX0,IMAXO
INTEGER*2 ASCAN(7000),SCNQLN,TRACKS(3,0:255),CHNLS(0:511),CHLS(0:511)
INTEGER*2 TYPS(32),THEX0,LENXS(32),LENYS(32),R(11),FNRNSN(32)
INTEGER*2 CHLAST,CHNULL,CHNORM,CHFLAG,CHSUPP,PCOLOR,ACOLOR
INTEGER*2 TAGS(80,4),FRAMTG(80),TYPTAG(80),WHERTG(80),NPNTAG(80)
INTEGER*2 PRPNTS,NOPNTS,WFM0DX,WFM1DX,TENCPI,SXTNCP
INTEGER*2 INDXB,INDXE,INDYB,INDYE,VCTRLN,HCTRLN,VCNTRL,HCNTRL
INTEGER*2 POINTY(4,2,256),POINTB(8,256),POINTX(4,2,512),POINTA(8,512)
INTEGER*2 LINEY(256),LINEX(512),YREGS(0:3),XREGS(0:3),PROGX(10,4)
INTEGER*2 PROGY(10,4),PROGNX(512,4),PROGNY(256,4)
INTEGER*2 PATH1X,PATH1Y,PATH2X,PATH2Y,PATH3X,PATH3Y,KI,KJ
INTEGER*2 PATH(2,5),PATH4X,PATH4Y,PATH5X,PATH5Y,IXBEG,IYBEG,IXEND,IYEND
INTEGER*1 WHSCAN,SDKLFD,SCOPEA(8192),SCOPE0(8192),DTCB,DTCBA(50)
LOGICAL*4 DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,SKIP1L,NOISE
LOGICAL*4 DOSCAN,NOT14,KILLIT,GTFM,REPEAT,NOGLCH,NGTIME,COOL,INTRPS
LOGICAL*4 DIDIT,EOT,NOREAD,DOUBLE,ONOFF,DBQQ,AUTFRM,MODE2D,PICTUR
LOGICAL*4 HEXIT,DATACQ,QWERTY
LOGICAL*2 ABORT,ESCAPE,INTRPT,DOCR*4,RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS
LOGICAL*2 LINESY,ZVALID,ZZCORR,AVALID,AACORR,ISOU,MAXO,MAX00,DONE,AUTMED,AUTMEN
LOGICAL*2 OPENEV(-1:7),CATHV2,FRCV2N,FRCV2F,IPRTSC,DOPRNT
LOGICAL*2 TEK468,TK7854,TK7D20,CONDNS,RDNG1,WRTNG0,TASCII,BINARY,NTRPLT
LOGICAL*2 FNDERR,ERRORS(3),DOSTAK,DOMEM,IFLOAT,HELP,DOALL,RUNING,BUSDUN
LOGICAL*2 MGLR,MGUD,MGOTHR,MGOK,BLCTOK,TLCTOK,PTHDUN
LOGICAL*1 FLAG77(0:24),ISGONG,ISIT,CBLNRM,CBLINV,DISK,END,PARAM,FUBAR
EQUIVALENCE (APS(0),APMAIN),(APS(1),AP1),(APS(2),AP2),(APS(3),AP3)
EQUIVALENCE (APS(4),AP4),(APS(5),AP5),(APS(6),APZR),(APS(7),APMX)
EQUIVALENCE (LNS(0),LNMAIN),(LNS(1),LN1),(LNS(2),LN2),(LNS(3),LN3)
EQUIVALENCE (LNS(4),LN4),(LNS(5),LN5),(LNS(6),LNZR),(LNS(7),LNMX)
EQUIVALENCE (TITLE(1),CT(1,1)),(LABEL,CL(1)),(NOTES,NOTES1(1))
EQUIVALENCE (RARR(1),IARR(1),BARR(1),CARR(1)),(PSTAT(0),PSTATS(0))
EQUIVALENCE (ASC,IASC),(SCAN,ISCAN),(KBF1,IKBF1),(KBF2,IKBF2),(ERR,IERR)
EQUIVALENCE (TCALGN(1),IASC),(TCALGN(2),TC),(CHNLS(0),CHLS(0))
EQUIVALENCE (DTCB,DTCBA(1)),(WFMS(0,11),WFMA(0))
EQUIVALENCE (SAQQQQ(1),SCOPEA(1)),(S0QQQQ(1),SCOPE0(1))
EQUIVALENCE (TIME(0),WFMS(0,0)),(WFM0(0),WFMS(0,1)),(WFM1(0),WFMS(0,2))
EQUIVALENCE (PWFM0(0),WFMS(0,-1)),(PWFM1(0),WFMS(0,-2))
EQUIVALENCE (WFM2(0),WFMS(0,3)),(WFM3(0),WFMS(0,4))
EQUIVALENCE (PWFM2(0),WFMS(0,-3)),(PWFM3(0),WFMS(0,-4))
EQUIVALENCE (WFM4(0),WFMS(0,5)),(WFM5(0),WFMS(0,6))
EQUIVALENCE (PWFM4(0),WFMS(0,-5)),(PWFM5(0),WFMS(0,-6))
EQUIVALENCE (WFM6(0),WFMS(0,7)),(WFM7(0),WFMS(0,8))
EQUIVALENCE (PWFM6(0),WFMS(0,-7)),(PWFM7(0),WFMS(0,-8))
EQUIVALENCE (WFM8(0),WFMS(0,9)),(WFM9(0),WFMS(0,10))
EQUIVALENCE (PWFM8(0),WFMS(0,-9)),(PWFM9(0),WFMS(0,-10))
EQUIVALENCE (R500(1),D256L(1,1),D128L(1,1),D75L(1,1),D64L(1,1),D50L(1,1))
EQUIVALENCE (R500(1),PR256L(1,1,1),PR128L(1,1,1),PR75L(1,1,1),PR64L(1,1,1),PR50L(1,1,1))
EQUIVALENCE (DATA(1,1),PLOT1K(1,1,1),PLT512(1,1,1),PLT256(1,1,1),D170(1,1))
EQUIVALENCE (DATA(1,1),D500(1,1),D250(1,1),D125(1,1),D128(1,1),D20480(1))
EQUIVALENCE (R500(1),RLOT1K(1,1,1),RLT512(1,1,1),RLT256(1,1,1))
EQUIVALENCE (TAGS(1,1),FRAMTG(1)),(TAGS(1,2),TYPTAG(1)),(TAGS(1,3),WHERTG(1))
EQUIVALENCE (TAGS(1,4),NPNTAG(1)),(MAXO,IMAXO),(MAX00,IMAX0)
EQUIVALENCE (POINTY(1,1,1),POINTB(1,1)),(POINTX(1,1,1),POINTA(1,1))
EQUIVALENCE (VCNTRL,VCTRLN),(HCNTRL,HCTRLN)
EQUIVALENCE (PATH(1,1),PATH1X),(PATH(2,1),PATH1Y)
EQUIVALENCE (PATH(1,2),PATH2X),(PATH(2,2),PATH2Y)
EQUIVALENCE (PATH(1,3),PATH3X),(PATH(2,3),PATH3Y)
EQUIVALENCE (PATH(1,4),PATH4X),(PATH(2,4),PATH4Y)
EQUIVALENCE (PATH(1,5),PATH5X),(PATH(2,5),PATH5Y)
COMMON /NAMEPR/PROGNM,MAINLN,/STRBES/ISOU,/IPPENC/SKIP1L,NOISE
COMMON /GNORF9/CRKEY,CRLINE,DOCR,/BLKCNV/MAGNIF,LLHILO,CONTRS,BRIGHT,BASLOG
COMMON /BLKLIM/XLIM,YLIM,/GEWRTN/REPEAT,NMAG,CNTRS,BRGHT,BASVAL
COMMON /NTRVN/ ABORT,ESCAPE,INTRPT,/KEYGET/IASC,ISCAN,IKBF1,IKBF2,IERR
COMMON /SHFSTA/RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS,/CONVGR/R
COMMON /OMASCN/SCNQLN,ASCAN,/PARSCN/CHLS,TRACKS,LSTCHL,LSTTRK,THEX0
COMMON /PARLS4/LAST4,/PARAUT/GTFM,/OMADIT/DOSCAN,/PARB14/NOT14,KILLIT
COMMON /OMANOW/CHGVLT,TLASER,POLAR,/PARCUM/IGNORE,PROFIL,CUMUL
COMMON /OMAPAR/IXNUM,IYNUM,INTRPS,MODE2D,PICTUR,HEXIT,DATACQ,FRAME,QWERTY,IA128,SENBAS,SENDAT
COMMON /OMAPR2/IIXLEN,IIYLEN,IXLEN,IYLEN,IA256,IA512,/OMALBL/DONE
COMMON /FILES/DFRAME,RUNNUM,SHOTNO,/FRAMNG/LENFR,LENTR,NTR
COMMON /PARZQX/DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,DIDIT,EOT,NOREAD,ONOFF,
& DBQQ,FLAG77,ISGONG,ISIT,PADS,NCRUDQ
COMMON /PSTAMS/PSTAT,/TWOPAR/PICPAG,GRPHPG,/OMAFHG/ WHSCAN,SDKLFD
COMMON /PSYNCH/LINESY,/PARAFM/AUTFRM,/PARMX/IMAXO,IMAX0
COMMON /UNITS/SCRN0,CNSL0,KPD,PR,BUSA,BUSB,BUSC,BUSD,FILE,GR
COMMON /OMABFR/APS,LNS,/OMADSK/NDRIVE,NFRAME,/SMOOTH/AUTMED,AUTMEN
COMMON /ZEROS/ZVALID,ZLEN,ZMARK,ZPOINT,ZZCORR,/VOLSTA/OPENEV,VOLUME
COMMON /AMPLS/AVALID,ALEN,AMARK,APOINT,AACORR,AFMTYP
COMMON /TIMES/GTYR,GTMO,GTDA,GTHR,GTMIN,GTSEC,GTFR
COMMON /ASCGAR/DATE,TITLE,LABEL,/LBBKRF/NOTES,LABOOK
COMMON /LECTRD/ELCTRD,PLRITY,/CTMPRH/TMP,CRHO,/PTMPRH/PTMP,PRHO,PDENS
COMMON /RWNUM/WCHGV,TL,WTINCR,DENS,WWFM,FLUID,AUX,TEMP,RHO,FLOW
COMMON /XFRAME/TYPFRM,FRMTYP,/OMAHED/HEADRE,IARR
COMMON /OMACNT/IAPS,HAPS,LENS/OMATYP/TYPS,LENXS,LENYS,FNRNSN
COMMON /PQQXXR/UNITNO,LENRQX,IOADDR,PFNFOO,/PARCBL/CBLNRM,CBLINV
COMMON /OMASAT/CATHV2,FRCV2N,FRCV2F,CHLAST,CHNULL,CHNORM,CHFLAG,CHSUPP
COMMON /INDICS/DOSTAK,DOMEM,IFLOAT,LEVEL,OLEVEL,HELP,DOALL,RUNING
COMMON /GARBAG/ERROR,DISK,END,PARAM,FUBAR,WFM0DX,WFM1DX,CHRGV,TINCR,
1FREC,RECLEN,TENCPI,SXTNCP,/INT488/BUSDUN,/WFMFOO/OTHERW,SCRCHW
COMMON /WFMRNG/W0MAX,W0MIN,W1MAX,W1MIN,RANGE0,RANGE1,WFM0ZR,WFM1ZR,TMP0ZR,TMP1ZR
COMMON /PNTS/PRPNTS,NOPNTS,/WFMS/WFMS,/FOO/ANSWER,/CARLF/CRLF
COMMON /CONCHR/CR,LF,TAB,FF,/SCNPR/IPRTSC,DOPRNT
COMMON /SCTYPE/TEK468,TK7854,TK7D20,/PRNTMD/CONDNS,/COLORS/PCOLOR,ACOLOR
COMMON /DTCBC/DTCBA,/FOO5/VOLTN,RNUM,YZERO,YMULT,VGND,TTRIG,VTRIG
COMMON /I/SCOPEA,/WFM0SV/SCOPE0,/WFMFMT/TASCII,BINARY,NTRPLT
COMMON /ASCVAR/ASCOPA,ASCOP0,/ASCNDX/ASCOPN,/ASYNCH/RDNG1,WRTNG0
COMMON /ERRORS/FNDERR,ERRORS,/FOO6/ANUM,/YSCALE/YMUL,Y0
COMMON /WFMTAG/TAGS,/WFMOUT/DATA,/PARPLZ/R500,/I2ENML/LOWCUT,IHICUT
COMMON /MGFORM/LINEX,LINEY,POINTY,POINTX,IXBEG,IYBEG,IXEND,IYEND
COMMON /MGSTAT/YREGS,XREGS,PROGX,PROGY,PROGNX,PROGNY,KI,KJ,INDXB,INDXE,INDYB,INDYE
COMMON /MGFRAM/MGFRMN,MGLR,MGUD,MGOTHR,MGOK,/MGPATH/PATH,PTHDUN
COMMON /FETURE/LLCTRD,RLCTRD,BLCTRD,TLCTRD,VCNTRL,HCNTRL,BLCTOK,TLCTOK
SAVE /GNORF9/,/BLKCNV/,/NAMEPR/,/GEWRTN/,/KEYGET/,/SHFSTA/,/NTRVN/
SAVE /PARLS4/,/OMADIT/,/PARB14/,/OMANOW/,/PARAUT/,/OMASCN/,/PARSCN/
SAVE /OMAPAR/,/OMAPR2/,/FILES/,/PARCUM/,/TWOPAR/,/PARMX/,/OMACNT/
SAVE /PARZQX/,/STRBES/,/IPPENC/,/FRAMNG/,/OMAFHG/,/PSYNCH/,/UNITS/
SAVE /LBBKRF/,/LECTRD/,/ASCGAR/,/TIMES/,/ZEROS/,/PARAFM/,/OMATYP/
SAVE /CTMPRH/,/PTMPRH/,/RWNUM/,/OMAHED/,/XFRAME/,/AMPLS/,/OMABFR/
SAVE /OMADSK/,/CONVGR/,/PQQXXR/,/PARCBL/,/SMOOTH/,/VOLSTA/,/OMASAT/
SAVE /WFMFMT/,/I/,/WFM0SV/,/ASYNCH/,/ASCVAR/,/ASCNDX/,/DTCBS/
SAVE /INDICS/,/SCNPR/,/WFMS/,/PNTS/,/WFMRNG/,/GARBAG/,/FOO/,/CARLF/
SAVE /CONCHR/,/SCTYPE/,/PRNTMD/,/FOO6/,/FOO5/,/YSCALE/,/ERRORS/
SAVE /MGPATH/,/I2ENML/,/MGFORM/,/MGSTAT/,/FETURE/,/MGFRAM/
SAVE /INT488/,/WFMFOO/,/PARPLZ/,/WFMOUT/,/WFMTAG/
SAVE
EXTERNAL CLTST,BDTST,QQCALC,CLCINT
CALL CLTST
* SYSCALL 43 = EXIT, FSCALL PASSES REGISTERS D0-D7, A0-A6; IARR IS USED
* AS PLACEHOLDER FOR THESE ARG'S; EXIT TAKES NO ARGS
CALL FSCALL(43,IARR(1),IARR(2),IARR(3),IARR(4),IARR(5),IARR(6),IARR(7)
& ,IARR(8),IARR(12),IARR(13),IARR(14),IARR(15),IARR(16),IARR(17)
& ,IARR(18))
END
*----------------------------------------------------------------------
BLOCK DATA BDTST
$SEGMENT TSTPAR
CHARACTER PROGNM*18,MAINLN*54,CRKEY*12,CRLINE*72,PFNFOO*18
CHARACTER DATE*10,TITLE(3)*77,LABEL*77,POLAR*2,CRLF*2,ANSWER*4
CHARACTER ELCTRD(2)*15,PLRITY(2)*1,NOTES*16,HAPS(32)*8
CHARACTER*22 FRMTYP(-2:20),PADS*3,PSTATS(0:4)*36,PSTAT(0:4)*36
CHARACTER*20 FRAME,FRAME2,FLNM,DFRAME,TMP(5),CRHO(4)
CHARACTER*17 PTMP(5),PRHO(4),PDENS
CHARACTER*6 VOLUME(-1:7)
CHARACTER*1 CARR(1024),CT(77,3),CL(77),TC,TCALGN(2),NOTES1(16),NCRUDQ
CHARACTER*1 CR,LF,TAB,FF,FORM,SPACE,ASCOPA(8192),ASCOP0(8192),MGFRMN(2)
REAL*4 WCHGV,TL,WTINCR,DENS,WWFM(0:1023),TEMP(5),RHO(4),FLOW,RARR(256)
REAL*4 YMUL(10),Y0(10),RNUM,YZERO,YMULT,VGND,TTRIG,VTRIG
REAL*4 CHGVLT,TINCR,WFMS(0:1023,-10:11),WFMA(0:1023),CHRGV
REAL*4 WFM0ZR,WFM1ZR,TMP0ZR,TMP1ZR,W0MAX,W0MIN,W1MAX,W1MIN,RANGE0,RANGE1
REAL*4 WFM0(0:1023),PWFM0(0:1023),WFM1(0:1023),PWFM1(0:1023),TIME(0:1023)
REAL*4 WFM2(0:1023),PWFM2(0:1023),WFM3(0:1023),PWFM3(0:1023)
REAL*4 WFM4(0:1023),PWFM4(0:1023),WFM5(0:1023),PWFM5(0:1023)
REAL*4 WFM6(0:1023),PWFM6(0:1023),WFM7(0:1023),PWFM7(0:1023)
REAL*4 WFM8(0:1023),PWFM8(0:1023),WFM9(0:1023),PWFM9(0:1023)
REAL*4 DATA(3,1024),D256L(3,1024),D128L(3,512),D75L(3,300),D64L(3,256)
REAL*4 PR256L(3,256,4),PR128L(3,128,4),PR75L(3,75,4),PR64L(3,64,4)
REAL*4 PR50L(3,50,4),D50L(3,200),D500(500,40),D250(250,80),D125(125,160)
REAL*4 PLOT1K(1024,2,10),PLT512(512,2,20),PLT256(256,2,40),D128(128,160)
REAL*4 RLOT1K(1024,2,8),RLT512(512,2,16),RLT256(256,2,32)
REAL*4 R500(16384),D170(170,120),D20480(20480)
REAL*4 TLASER,BASVAL,BASLOG
INTEGER*4 XLIM,YLIM,LAST4(4)*2,PROFIL(0:16383)*2,CUMUL(0:16383),IGNORE
INTEGER*4 IXLEN,IYLEN,IIXLEN,IIYLEN,IXNUM,IYNUM,SENBAS,SENDAT,RUNNUM,SHOTNO
INTEGER*4 ZLEN,ZMARK,ZPOINT,ALEN,AMARK,APOINT,PICPAG,GRPHPG,GRPAGE
INTEGER*4 GTYR,GTMO,GTDA,GTHR,GTMIN,GTSEC,GTFR,LABOOK,AFMTYP,IAPS(32)
INTEGER*4 IARR(256),BARR(1024)*1,HEADRE,TYPFRM,FLUID(2)*2,AUX(256)*1
INTEGER*4 SCRN0,CNSL0,KPD,PR,BUSA,BUSB,BUSC,BUSD,FILE,GR,APS(0:7)
INTEGER*4 APMAIN,AP2,AP3,AP4,AP5,AP6,APZR,APMX,LENS(32),LNS(0:7)
INTEGER*4 LNMAIN,LN2,LN3,LN4,LN5,LN6,LNZR,LNMX,NDRIVE,NFRAME
INTEGER*4 UNITNO,LENRQX,IOADDR,LEVEL,OLEVEL,WFMNO,SAQQQQ(2048)
INTEGER*4 ERROR,RECLEN,FREC,IPNTS,VOLTN,ANUMN,S0QQQQ(2048),ASCOPN
INTEGER*4 OTHERW,SCRCHW,LLCTRD,RLCTRD,BLCTRD,TLCTRD
INTEGER*2 ASC,SCAN,KBF1,KBF2,ERR,IASC,ISCAN,IKBF1,IKBF2,IERR,IMAX0,IMAXO
INTEGER*2 ASCAN(7000),SCNQLN,TRACKS(3,0:255),CHNLS(0:511),CHLS(0:511)
INTEGER*2 TYPS(32),THEX0,LENXS(32),LENYS(32),R(11),FNRNSN(32)
INTEGER*2 TAGS(80,4),FRAMTG(80),TYPTAG(80),WHERTG(80),NPNTAG(80)
INTEGER*2 CHLAST,CHNULL,CHNORM,CHFLAG,CHSUPP,PCOLOR,ACOLOR
INTEGER*2 PRPNTS,NOPNTS,WFM0DX,WFM1DX,TENCPI,SXTNCP
INTEGER*2 INDXB,INDXE,INDYB,INDYE,VCTRLN,HCTRLN,VCNTRL,HCNTRL
INTEGER*2 POINTY(4,2,256),POINTB(8,256),POINTX(4,2,512),POINTA(8,512)
INTEGER*2 LINEY(256),LINEX(512),YREGS(0:3),XREGS(0:3),PROGX(10,4)
INTEGER*2 PROGY(10,4),PROGNX(512,4),PROGNY(256,4)
INTEGER*2 PATH1X,PATH1Y,PATH2X,PATH2Y,PATH3X,PATH3Y,KI,KJ
INTEGER*2 PATH(2,5),PATH4X,PATH4Y,PATH5X,PATH5Y,IXBEG,IYBEG,IXEND,IYEND
INTEGER*1 WHSCAN,SDKLFD,SCOPEA(8192),SCOPE0(8192),DTCB,DTCBA(50)
LOGICAL*4 DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,SKIP1L,NOISE
LOGICAL*4 DOSCAN,NOT14,KILLIT,GTFM,REPEAT,NOGLCH,NGTIME,COOL,INTRPS
LOGICAL*4 DIDIT,EOT,NOREAD,DOUBLE,ONOFF,DBQQ,AUTFRM,MODE2D,PICTUR
LOGICAL*4 HEXIT,DATACQ,QWERTY
LOGICAL*2 ABORT,ESCAPE,INTRPT,DOCR*4,RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS
LOGICAL*2 LINESY,ZVALID,ZZCORR,AVALID,AACORR,ISOU,MAXO,MAX00,DONE,AUTMED,AUTMEN
LOGICAL*2 OPENEV(-1:7),CATHV2,FRCV2N,FRCV2F,IPRTSC,DOPRNT,BUSDUN
LOGICAL*2 TEK468,TK7854,TK7D20,CONDNS,RDNG1,WRTNG0,TASCII,BINARY,NTRPLT
LOGICAL*2 FNDERR,ERRORS(3),DOSTAK,DOMEM,IFLOAT,HELP,DOALL,RUNING
LOGICAL*2 MGLR,MGUD,MGOTHR,MGOK,BLCTOK,TLCTOK,PTHDUN
LOGICAL*1 FLAG77(0:24),ISGONG,ISIT,CBLNRM,CBLINV,DISK,END,PARAM,FUBAR
EQUIVALENCE (APS(0),APMAIN),(APS(1),AP1),(APS(2),AP2),(APS(3),AP3)
EQUIVALENCE (APS(4),AP4),(APS(5),AP5),(APS(6),APZR),(APS(7),APMX)
EQUIVALENCE (LNS(0),LNMAIN),(LNS(1),LN1),(LNS(2),LN2),(LNS(3),LN3)
EQUIVALENCE (LNS(4),LN4),(LNS(5),LN5),(LNS(6),LNZR),(LNS(7),LNMX)
EQUIVALENCE (TITLE(1),CT(1,1)),(LABEL,CL(1)),(NOTES,NOTES1(1))
EQUIVALENCE (RARR(1),IARR(1),BARR(1),CARR(1)),(PSTAT(0),PSTATS(0))
EQUIVALENCE (ASC,IASC),(SCAN,ISCAN),(KBF1,IKBF1),(KBF2,IKBF2),(ERR,IERR)
EQUIVALENCE (TCALGN(1),IASC),(TCALGN(2),TC),(CHNLS(0),CHLS(0))
EQUIVALENCE (DTCB,DTCBA(1)),(WFMS(0,11),WFMA(0))
EQUIVALENCE (SAQQQQ(1),SCOPEA(1)),(S0QQQQ(1),SCOPE0(1))
EQUIVALENCE (TIME(0),WFMS(0,0)),(WFM0(0),WFMS(0,1)),(WFM1(0),WFMS(0,2))
EQUIVALENCE (PWFM0(0),WFMS(0,-1)),(PWFM1(0),WFMS(0,-2))
EQUIVALENCE (WFM2(0),WFMS(0,3)),(WFM3(0),WFMS(0,4))
EQUIVALENCE (PWFM2(0),WFMS(0,-3)),(PWFM3(0),WFMS(0,-4))
EQUIVALENCE (WFM4(0),WFMS(0,5)),(WFM5(0),WFMS(0,6))
EQUIVALENCE (PWFM4(0),WFMS(0,-5)),(PWFM5(0),WFMS(0,-6))
EQUIVALENCE (WFM6(0),WFMS(0,7)),(WFM7(0),WFMS(0,8))
EQUIVALENCE (PWFM6(0),WFMS(0,-7)),(PWFM7(0),WFMS(0,-8))
EQUIVALENCE (WFM8(0),WFMS(0,9)),(WFM9(0),WFMS(0,10))
EQUIVALENCE (PWFM8(0),WFMS(0,-9)),(PWFM9(0),WFMS(0,-10))
EQUIVALENCE (R500(1),D256L(1,1),D128L(1,1),D75L(1,1),D64L(1,1),D50L(1,1))
EQUIVALENCE (R500(1),PR256L(1,1,1),PR128L(1,1,1),PR75L(1,1,1),PR64L(1,1,1),PR50L(1,1,1))
EQUIVALENCE (DATA(1,1),PLOT1K(1,1,1),PLT512(1,1,1),PLT256(1,1,1),D170(1,1))
EQUIVALENCE (DATA(1,1),D500(1,1),D250(1,1),D125(1,1),D128(1,1),D20480(1))
EQUIVALENCE (R500(1),RLOT1K(1,1,1),RLT512(1,1,1),RLT256(1,1,1))
EQUIVALENCE (TAGS(1,1),FRAMTG(1)),(TAGS(1,2),TYPTAG(1)),(TAGS(1,3),WHERTG(1))
EQUIVALENCE (TAGS(1,4),NPNTAG(1)),(VCNTRL,VCTRLN),(HCNTRL,HCTRLN)
EQUIVALENCE (MAXO,IMAXO),(MAX00,IMAX0)
EQUIVALENCE (POINTY(1,1,1),POINTB(1,1)),(POINTX(1,1,1),POINTA(1,1))
EQUIVALENCE (PATH(1,1),PATH1X),(PATH(2,1),PATH1Y)
EQUIVALENCE (PATH(1,2),PATH2X),(PATH(2,2),PATH2Y)
EQUIVALENCE (PATH(1,3),PATH3X),(PATH(2,3),PATH3Y)
EQUIVALENCE (PATH(1,4),PATH4X),(PATH(2,4),PATH4Y)
EQUIVALENCE (PATH(1,5),PATH5X),(PATH(2,5),PATH5Y)
COMMON /NAMEPR/PROGNM,MAINLN,/STRBES/ISOU,/IPPENC/SKIP1L,NOISE
COMMON /GNORF9/CRKEY,CRLINE,DOCR,/BLKCNV/MAGNIF,LLHILO,CONTRS,BRIGHT,BASLOG
COMMON /BLKLIM/XLIM,YLIM,/GEWRTN/REPEAT,NMAG,CNTRS,BRGHT,BASVAL
COMMON /NTRVN/ ABORT,ESCAPE,INTRPT,/KEYGET/IASC,ISCAN,IKBF1,IKBF2,IERR
COMMON /SHFSTA/RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS,/CONVGR/R
COMMON /OMASCN/SCNQLN,ASCAN,/PARSCN/CHLS,TRACKS,LSTCHL,LSTTRK,THEX0
COMMON /PARLS4/LAST4,/PARAUT/GTFM,/OMADIT/DOSCAN,/PARB14/NOT14,KILLIT
COMMON /OMANOW/CHGVLT,TLASER,POLAR,/PARCUM/IGNORE,PROFIL,CUMUL
COMMON /OMAPAR/IXNUM,IYNUM,INTRPS,MODE2D,PICTUR,HEXIT,DATACQ,FRAME,QWERTY,IA128,SENBAS,SENDAT
COMMON /OMAPR2/IIXLEN,IIYLEN,IXLEN,IYLEN,IA256,IA512,/OMALBL/DONE
COMMON /FILES/DFRAME,RUNNUM,SHOTNO,/FRAMNG/LENFR,LENTR,NTR
COMMON /PARZQX/DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,DIDIT,EOT,NOREAD,ONOFF,
& DBQQ,FLAG77,ISGONG,ISIT,PADS,NCRUDQ,/INT488/BUSDUN
COMMON /PSTAMS/PSTAT,/TWOPAR/PICPAG,GRPHPG,/OMAFHG/ WHSCAN,SDKLFD
COMMON /PSYNCH/LINESY,/PARAFM/AUTFRM,/PARMX/IMAXO,IMAX0
COMMON /UNITS/SCRN0,CNSL0,KPD,PR,BUSA,BUSB,BUSC,BUSD,FILE,GR
COMMON /OMABFR/APS,LNS,/OMADSK/NDRIVE,NFRAME,/SMOOTH/AUTMED,AUTMEN
COMMON /ZEROS/ZVALID,ZLEN,ZMARK,ZPOINT,ZZCORR,/VOLSTA/OPENEV,VOLUME
COMMON /AMPLS/AVALID,ALEN,AMARK,APOINT,AACORR,AFMTYP
COMMON /TIMES/GTYR,GTMO,GTDA,GTHR,GTMIN,GTSEC,GTFR
COMMON /ASCGAR/DATE,TITLE,LABEL,/LBBKRF/NOTES,LABOOK
COMMON /LECTRD/ELCTRD,PLRITY,/CTMPRH/TMP,CRHO,/PTMPRH/PTMP,PRHO,PDENS
COMMON /RWNUM/WCHGV,TL,WTINCR,DENS,WWFM,FLUID,AUX,TEMP,RHO,FLOW
COMMON /XFRAME/TYPFRM,FRMTYP,/OMAHED/HEADRE,IARR
COMMON /OMACNT/IAPS,HAPS,LENS/OMATYP/TYPS,LENXS,LENYS,FNRNSN
COMMON /PQQXXR/UNITNO,LENRQX,IOADDR,PFNFOO,/PARCBL/CBLNRM,CBLINV
COMMON /OMASAT/CATHV2,FRCV2N,FRCV2F,CHLAST,CHNULL,CHNORM,CHFLAG,CHSUPP
COMMON /INDICS/DOSTAK,DOMEM,IFLOAT,LEVEL,OLEVEL,HELP,DOALL,RUNING
COMMON /GARBAG/ERROR,DISK,END,PARAM,FUBAR,WFM0DX,WFM1DX,CHRGV,TINCR,
1FREC,RECLEN,TENCPI,SXTNCP,/WFMFOO/OTHERW,SCRCHW
COMMON /WFMRNG/W0MAX,W0MIN,W1MAX,W1MIN,RANGE0,RANGE1,WFM0ZR,WFM1ZR,TMP0ZR,TMP1ZR
COMMON /PNTS/PRPNTS,NOPNTS,/WFMS/WFMS,/FOO/ANSWER,/CARLF/CRLF
COMMON /CONCHR/CR,LF,TAB,FF,/SCNPR/IPRTSC,DOPRNT
COMMON /SCTYPE/TEK468,TK7854,TK7D20,/PRNTMD/CONDNS,/COLORS/PCOLOR,ACOLOR
COMMON /DTCBC/DTCBA,/FOO5/VOLTN,RNUM,YZERO,YMULT,VGND,TTRIG,VTRIG
COMMON /I/SCOPEA,/WFM0SV/SCOPE0,/WFMFMT/TASCII,BINARY,NTRPLT
COMMON /ASCVAR/ASCOPA,ASCOP0,/ASCNDX/ASCOPN,/ASYNCH/RDNG1,WRTNG0
COMMON /ERRORS/FNDERR,ERRORS,/FOO6/ANUM,/YSCALE/YMUL,Y0
COMMON /WFMOUT/DATA,/PARPLZ/R500,/WFMTAG/TAGS,/I2ENML/LOWCUT,IHICUT
COMMON /MGFORM/LINEX,LINEY,POINTY,POINTX,IXBEG,IYBEG,IXEND,IYEND
COMMON /MGSTAT/YREGS,XREGS,PROGX,PROGY,PROGNX,PROGNY,KI,KJ,INDXB,INDXE,INDYB,INDYE
COMMON /MGFRAM/MGFRMN,MGLR,MGUD,MGOTHR,MGOK,/MGPATH/PATH,PTHDUN
COMMON /FETURE/LLCTRD,RLCTRD,BLCTRD,TLCTRD,VCNTRL,HCNTRL,BLCTOK,TLCTOK
SAVE /GNORF9/,/BLKCNV/,/NAMEPR/,/GEWRTN/,/KEYGET/,/SHFSTA/,/NTRVN/
SAVE /PARLS4/,/OMADIT/,/PARB14/,/OMANOW/,/PARAUT/,/OMASCN/,/PARSCN/
SAVE /OMAPAR/,/OMAPR2/,/FILES/,/PARCUM/,/TWOPAR/,/PARMX/,/OMACNT/
SAVE /PARZQX/,/STRBES/,/IPPENC/,/FRAMNG/,/OMAFHG/,/PSYNCH/,/UNITS/
SAVE /LBBKRF/,/LECTRD/,/ASCGAR/,/TIMES/,/ZEROS/,/PARAFM/,/OMATYP/
SAVE /CTMPRH/,/PTMPRH/,/RWNUM/,/OMAHED/,/XFRAME/,/AMPLS/,/OMABFR/
SAVE /OMADSK/,/CONVGR/,/PQQXXR/,/PARCBL/,/SMOOTH/,/VOLSTA/,/OMASAT/
SAVE /WFMFMT/,/I/,/WFM0SV/,/ASYNCH/,/ASCVAR/,/ASCNDX/,/DTCBS/
SAVE /INDICS/,/SCNPR/,/WFMS/,/PNTS/,/WFMRNG/,/GARBAG/,/FOO/,/CARLF/
SAVE /CONCHR/,/SCTYPE/,/PRNTMD/,/FOO6/,/FOO5/,/YSCALE/,/ERRORS/
SAVE /INT488/,/WFMFOO/,/PARPLZ/,/WFMOUT/,/WFMTAG/
SAVE /MGPATH/,/I2ENML/,/MGFORM/,/MGSTAT/,/FETURE/,/MGFRAM/
SAVE
*
EXTERNAL CLTST
DATA PROGNM/'CLTST'/,MAINLN/'Set up for TSTPAR, PAR/OMA testing routine.'/
DATA DOCR/.TRUE./,CRKEY/'cOPYrIGHT@@@'/,DONE/.FALSE./
DATA CRLINE/'1984,85 Kevin G. Rhoads & High Voltage Research Lab @ MIT.'/
DATA DOSCAN/.TRUE./,MAGNIF/17/,NMAG/17/,REPEAT/.FALSE./
DATA CONTRS/0.0/,BRIGHT/0.0/,CNTRS/0.0/,BRGHT/0.0/
DATA XLIM/0/,YLIM/0/,NDRIVE/-1/,NFRAME/0/
DATA LAST4(1)/510/,LAST4(2)/$1208/,LAST4(3)/511/,LAST4(4)/$1600/
DATA GTFM/.FALSE./,NOT14/.FALSE./,KILLIT/.TRUE./
DATA CHGVLT/0.0/,TLASER/0.0/,POLAR/' '/,BASVAL/1.0/,BASLOG/0.0/
DATA IXNUM/250/,IYNUM/128/,INTRPS/.TRUE./,MODE2D/.FALSE./,PICTUR/.TRUE./
DATA HEXIT/.FALSE./,DATACQ/.FALSE./,SENBAS/$0F80544/,SENDAT/$0F80540/
DATA IIXLEN/250/,IXLEN/250/,IIYLEN/128/,IYLEN/128/,IA256/0/,IA512/0/
DATA RUNNUM/-1/,SHOTNO/0/,DFRAME/'RXXS00.DAT '/,FRAME/'OMAFRAME.TST '/,
& FRAME2/'OMAFRAME.TST '/
DATA FLAG77/25*.FALSE./,ISGONG/.FALSE./,ISIT/.FALSE./
DATA DBYET/.FALSE./,DBY2/.FALSE./,SNOW/.FALSE./,UTHEN/.TRUE./,PADS/' '/
DATA SKIP1L/.TRUE./,NOISE/.TRUE./,AUTMED/.FALSE./,AUTMEN/.FALSE./
DATA SCNQLN/2381/,MAXO/.TRUE./,MAX00/.FALSE./,R(11)/1/
DATA (ASCAN(I),I=1,24)
& /$6000,$4000,$2000,$3002,0,$1201,1,$1200,2,$1200,3,$1200,
& 4,$1200,5,$1200,6,$1200,7,$1200,8,$1200,9,$1200/
DATA LSTTRK/169/,LSTCHL/511/,PICPAG/1/,GRPHPG/0/
DATA PSTATS(0)/'Connected; Powered Up; RUNNING SCAN'/,
& PSTATS(1)/'Connected; Powered Up; IDLEING'/,
& PSTATS(2)/'Connected; NOT Powered Up '/,
& PSTATS(3)/'Connected; NOT Powered Up '/,
& PSTATS(4)/'NOT CONNECTED - connect BLUE cable'/
DATA LENFR/32000/,LENTR/250/,NTR/128/,WHSCAN/4/
DATA ABORT,ESCAPE,INTRPT/3*.FALSE./
DATA IASC,ISCAN,IKBF1,IKBF2,IERR /4*0,-1/
DATA RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS /8*.FALSE./
DATA LINESY/.FALSE./,AUTFRM/.TRUE./
DATA SCRN0/12/,CNSL0/11/,KPD/5/,PR/7/,BUSA/36/,BUSB/6/,BUSC/16/,BUSD/26/,FILE/10/,GR/14/
DATA IGNORE/110/,ZVALID/.FALSE./,ZZCORR/.FALSE./,TITLE/3*' '/,LABEL/' '/
DATA NOTES/' '/,LABOOK/0/,ELCTRD/2*' '/,PLRITY/2*' '/,TMP/5*' '/,CRHO/4*' '/
DATA PTMP/5*' '/,PRHO/4*' '/,PDENS/' '/
DATA WCHGV/0.0/,TL/0.0/,DENS/0.0/,TEMP/5*0.0/,RHO/4*0.0/,FLOW/0.0/,FLUID/2*0/
DATA FRMTYP/' *** UNINITIALIZED ***','Zero Correction Data'
& ,'RAW Data no Zero corr','Zero Corrected Data','Simulated data',
& 'Normalized, no Zero corr','Zero Corr. & Normalized','RAW Normalization Data'
& ,' UNKNOWN/NONSTANDARD','ZRC Normalization Data ','ZRC-Normed & Zero Corr'
& ,'|E| from RAW data','|E| from ZRC data','|E| from NORMed data'
& ,'|E| from ZRC&NORM data','|E| fm ZRC&ZRC-NORM','? |E| from ??'
& ,'RHO from RAW data','RHO from ZRC data','RHO from NORMed data'
& ,'RHO from ZRC&NORM data','RHO fm ZRC&ZRC-NORM','? RHO from ??'/
DATA TYPFRM/0/,TYPS/32*-2/,LENXS/32*0/,LENYS/32*0/,FNRNSN/32*0/
DATA AVALID/.FALSE./,AACORR/.FALSE./,CBLNRM/.FALSE./,CBLINV/.TRUE./
DATA CATHV2/.FALSE./,FRCV2N/.FALSE./,FRCV2F/.FALSE./,IPRTSC/.FALSE./
DATA DOPRNT/.FALSE./,TEK468/.FALSE./,TK7854/.TRUE./,TK7D20/.FALSE./
DATA TASCII/.TRUE./,BINARY/.FALSE./,NTRPLT/.FALSE./,RDNG1/.FALSE./,WRTNG0/.FALSE./
DATA PRPNTS/0/,NOPNTS/0/,BUSDUN/.FALSE./,OTHERW/1/,SCRCHW/9/
DATA TAGS/320*0/,LOWCUT/16383/,IHICUT/0/,PTHDUN/.FALSE./,KI/0/,KJ/0/
DATA IXBEG/0/,IYBEG/0/,IXEND/0/,IYEND/0/,MGFRMN/' ',' '/,MGLR/.FALSE./
DATA INDXB/0/,INDXE/0/,INDYB/0/,INDYE/0/,MGUD/.FALSE./,MGOTHR/.FALSE./
DATA MGOK/.FALSE./,LLCTRD/-1/,RLCTRD/-1/,BLCTRD/-1/,TLCTRD/-1/
DATA VCNTRL/-1/,HCNTRL/-1/,BLCTOK/.FALSE./,TLCTOK/.FALSE./
END
*----------------------------------------------------------------------
SUBROUTINE TSTPR2(A128,A256,A512)
$SEGMENT TSTPAR
CHARACTER POLAR*2,PROGNM*18,MAINLN*54,PFNFOO*18
CHARACTER*36 PSTATS(0:4),PSTAT(0:4),FRMTYP(-2:20)*22
CHARACTER*20 FRAME,FRAME2,FLNM,DFRAME,FILNAM*24,CRUD*3
CHARACTER TC*1,PADS*3,TCALGN(2)*1,NCRUDQ*1,INPUTS*20,INP2*20
CHARACTER*8 SRHEX,SSPHEX,LOOPPT,DBHEX,LOOP2H,HEXARR(10)
CHARACTER*8 HEXOF,RESULT,INPUT,FLAG,DATAHX,HX128,HX256,HX512
REAL*4 BASLOG,CHGVLT,TLASER,DTIME*8,SET*8,TIME*8
INTEGER*4 IXLEN,IYLEN,IIXLEN,IIYLEN,IXNUM,IYNUM,HEADER,RUNNUM,SHOTNO
INTEGER*4 DATA12,DATA22,DATA13,DATA23,PARARG,MILLIS,FRAMES
INTEGER*4 A512(0:131071),IA128,IA256,IA512,NFRAME,NDRIVE
INTEGER*4 SENBAS,FPEEK,ISTACK,BST,AST,TIME4,DATA,SENDAT,FLPEEK,INTOF,KADDR,BLKDS
INTEGER*4 GETIVC,GETSSP,HERE,GETBAK,GETBK2,DEFKKK,TYPFRM,AFMTYP
INTEGER*4 ADDRDB,DBADDR,DEREF,REENTR,PAREAD,PARE0D,PARE1D,PARE2D,KKK
INTEGER*4 PASCRL,PACTLX,PAKPDX,PACOMM,LLENFR,LLENTR,NNTR
INTEGER*4 APMAIN,AP2,AP3,AP4,AP5,AP6,APZR,APMX,ZLEN,ZMARK,ZPOINT,APS(0:7)
INTEGER*4 LNMAIN,LN2,LN3,LN4,LN5,LN6,LNZR,LNMX,ALEN,AMARK,APOINT,LNS(0:7)
INTEGER*4 UNITNO,LENRQX,IOADDR,NTR,LENFR,LENTR
INTEGER*4 PARIAD,PARI0D,PARI1D,PARI2D
INTEGER*4 IARR(256),HEADRE
INTEGER*2 ASC,SCAN,KBF1,KBF2,ERR,IFOO,MASK,I2AND2,L2NOT,MASK2,SMASK
INTEGER*2 DATA1,DATA2,FWPEEK,DATAS(2),MASK3,MS,NARG,CMASK,FNRNSN(32)
INTEGER*2 IASC,ISCAN,IKBF1,IKBF2,IERR,ISR,OSR,GETSR,A256(0:262144)
INTEGER*2 LENXS(32),LENYS(32),TYPS(32)
INTEGER*1 WHSCAN,SDKLFD,A128(0:524288)
LOGICAL*4 SKIP1L,FILEXS,NOT14,KILLIT,AUTFRM,DIDIT,EOT,NOREAD,DOUBLE,ONOFF
LOGICAL*4 DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,DBQQ
LOGICAL*4 ISDBON,DBISON,DATACQ,NOISE,MODE2D,PICTUR,HEXIT,QWERTY,INTRPS
LOGICAL*4 ISOPEN,FLURB,R2D
LOGICAL*2 RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS,LINESY,ABORT,ESCAPE,INTRPT
LOGICAL*2 ZVALID,ZZCORR,AVALID,AACORR,ISOU,AUTMED,AUTMEN,BUSDUN
LOGICAL*1 FLAG77(0:24),ISGONG,ISIT,ISGOIN,WASOFF,ISG0IN,CBLNRM,CBLINV
EQUIVALENCE (APS(0),APMAIN),(APS(1),AP1),(APS(2),AP2),(APS(3),AP3)
EQUIVALENCE (APS(4),AP4),(APS(5),AP5),(APS(6),APZR),(APS(7),APMX)
EQUIVALENCE (LNS(0),LNMAIN),(LNS(1),LN1),(LNS(2),LN2),(LNS(3),LN3)
EQUIVALENCE (LNS(4),LN4),(LNS(5),LN5),(LNS(6),LNZR),(LNS(7),LNMX)
EQUIVALENCE (DATA,DATA1,DATAS(1)),(DATA2,DATAS(2))
EQUIVALENCE (ASC,IASC),(SCAN,ISCAN),(KBF1,IKBF1),(KBF2,IKBF2),(ERR,IERR)
EQUIVALENCE (TCALGN(1),ASC),(TCALGN(2),TC),(LENTR,LLENTR),(LENFR,LLENFR)
EQUIVALENCE (PSTAT(0),PSTATS(0)),(NTR,NNTR)
COMMON /OMAHED/HEADRE,IARR,/INT488/BUSDUN
COMMON /OMATYP/TYPS,LENXS,LENYS,FNRNSN,/PARCBL/CBLNRM,CBLINV
COMMON /PSYNCH/LINESY,/PARAFM/AUTFRM,/IPPENC/SKIP1L,NOISE,/OMADIT/DOSCAN
COMMON /OMABFR/APS,LNS,/OMADSK/NDRIVE,NFRAME,/SMOOTH/AUTMED,AUTMEN
COMMON /ZEROS/ZVALID,ZLEN,ZMARK,ZPOINT,ZZCORR,/PARB14/NOT14,KILLIT
COMMON /AMPLS/AVALID,ALEN,AMARK,APOINT,AACORR,AFMTYP,/XFRAME/TYPFRM,FRMTYP
COMMON /NAMEPR/PROGNM,MAINLN,/NTRVN/ABORT,ESCAPE,INTRPT,/STRBES/ISOU
COMMON /PARDBG/LOOPPT,LOOP2H,LOOP,LOOP2,/KEYGET/IASC,ISCAN,IKBF1,IKBF2,IERR
COMMON /PARZQX/DBYET,DBY2,FOO,PAROMA,PAR0MA,PAR1MA,SNOW,UTHEN,DIDIT,EOT,NOREAD,ONOFF,
& DBQQ,FLAG77,ISGONG,ISIT,PADS,NCRUDQ
COMMON /OMAPAR/IXNUM,IYNUM,INTRPS,MODE2D,PICTUR,HEXIT,DATACQ,FRAME,QWERTY,IA128,SENBAS,SENDAT
COMMON /OMAPR2/IIXLEN,IIYLEN,IXLEN,IYLEN,IA256,IA512
COMMON /FILES/DFRAME,RUNNUM,SHOTNO,/OMANOW/CHGVLT,TLASER,POLAR
COMMON /BLKCNV/MAGNIF,LLHILO,CONTRS,BRIGHT,BASLOG/OMAFHG/WHSCAN,SDKLFD
COMMON /SHFSTA/RSH,LSH,CTRL,ALT,SCRL,NUML,CAPS,INS
COMMON /FRAMNG/LLENFR,LLENTR,NNTR,/PSTAMS/PSTAT
COMMON /PQQXXR/UNITNO,LENRQX,IOADDR,PFNFOO
SAVE /OMAPAR/,/OMAPR2/,/FILES/,/OMANOW/,/OMAFHG/,/SHFSTA/,/PSTAMS/,/FRAMNG/
SAVE /OMADIT/,/PARB14/,/IPPENC/,/ZEROS/,/XFRAME/,/AMPLS/,/OMABFR/
SAVE /NAMEPR/,/PARZQX/,/PARDBG/,/STRBES/,/NTRVN/,/KEYGET/,/PARCBL/
SAVE /PSYNCH/,/PARAFM/,/OMADSK/,/PQQXXR/,/SMOOTH/,/INT488/
SAVE
EXTERNAL GETSR,GETIVC,SETIVC,SUPERM,USERM,GETSSP,RSTSSP,JUMPTO,BDTST
EXTERNAL DBADDR,DEBUGX,DEREF,SPOKE,WSPOKE,SLPOKE,SWPOKE,DTIME,ISGOIN,ISG0IN
EXTERNAL PASCRL,PACTLX,PAKPDX,PACOMM,BLKDS,FSREA8,FSREA7,FSREA6,TRPSOF
EXTERNAL FPEEK,ISTACK,HEXOF,I2AND2,WPOKE,LPOKE,FWPEEK,MILLIS,KADDR,FRAMES
DATA IJKLI/0/
WASOFF = .FALSE.
INTRPS = .TRUE.
IRCNUM = 1
DEFKKK = 0
GOTO 9982
9980 CONTINUE
PROGNM = 'TSTPAR'
CALL CRCLS
9982 CONTINUE
IA128 = KADDR(A128)
IIA128 = IA128
IA256 = KADDR(A256)
IA512 = KADDR(A512)
IF (IA128.NE.IA256.OR.IA128.NE.IA512.OR.IA256.NE.IA512) THEN
HX128 = HEXOF(IA128)
HX256 = HEXOF(IA256)
HX512 = HEXOF(IA512)
PRINT *,' 128: ',HX128,' ',IA128
PRINT *,' 256: ',HX256,' ',IA256
PRINT *,' 512: ',HX512,' ',IA512
I = MENU(2,0,3)
IF (I.EQ.2) THEN
IA128 = IA256
IA512 = IA256
ELSEIF (I.EQ.3) THEN
IA128 = IA512
IA256 = IA512
ELSE
IA512 = IA128
IA256 = IA128
ENDIF
IIA128 = IA128
ENDIF
LLENTR = IXLEN
NNTR = IYNUM
ADDRDB = DBADDR()
DBHEX = HEXOF(ADDRDB)
LOOP = GETBAK()
LOOP2 = REENTR()
LOOPPT = HEXOF(LOOP)
LOOP2H = HEXOF(LOOP2)
ISR = GETSR()
OSR = ISR
ISOU = .FALSE.
ONOFF = .TRUE.
MASK = $3FFF
MASK2 = $C000
MASK3 = $0C00
SMASK = $0003
CMASK = $0004
BST = ISTACK()
NOREAD = .TRUE.
DOUBLE = .TRUE.
PAROMA = .FALSE.
PAR0MA = .FALSE.
PAR1MA = .FALSE.
CRUD = ' '
PADS = ' !!'
DBYET = .FALSE.
QWERTY = .FALSE.
CALL CRCLS
LOOP = GETBAK()
LOOP2 = REENTR()
FOO = .FALSE.
ISR = GETSR()
DBYET = .FALSE.
DBY2 = .TRUE.
OSR = ISR
5510 CONTINUE
NUMARG = NARG()
IF (NUMARG.GT.1) THEN
I = PARARG(A128,WASOFF)
WHSCAN = 4
IF (I.EQ.911) THEN
GOTO 911
ELSEIF (I.EQ.2.OR.NUMARG.GT.3) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
ENDIF
5517 CALL XYGOTO(0,12)
CALL PARSTA(ISTAT)
PRINT *,' PAR STATUS INDICATOR = ',ISTAT,' ',PSTAT(ISTAT)
IF (ISTAT.EQ.2) THEN
WASOFF = .TRUE.
PRINT *,' INTERFACE BOX IS OFF - please turn it on.'
5512 CALL WAIT(0.05)
CALL ISNTRP
IF (ABORT.OR.ESCAPE.OR.INTRPT) THEN
ESCAPE = .TRUE.
GOTO 5519
ENDIF
CALL PARSTQ(ISTAT)
IF (ISTAT.GT.2) GOTO 5517
IF (ISTAT.EQ.2) GOTO 5512
IF (ISTAT.NE.0) GOTO 5510
ELSEIF (ISTAT.EQ.3) THEN
WASOFF = .TRUE.
PRINT *,' PAR CONTROLLER IS OFF - please turn it on.'
5513 CALL WAIT(0.05)
CALL ISNTRP
IF (ABORT.OR.ESCAPE.OR.INTRPT) THEN
ESCAPE = .TRUE.
GOTO 5519
ENDIF
CALL PARSTQ(ISTAT)
IF (ISTAT.GT.3) GOTO 5517
IF (ISTAT.EQ.3) GOTO 5513
IF (ISTAT.NE.0) GOTO 5510
ELSEIF (ISTAT.EQ.4) THEN
PRINT *,' Waiting for PAR CABLE connect.'
5511 CALL WAIT(0.05)
CALL ISNTRP
IF (ABORT.OR.ESCAPE.OR.INTRPT) THEN
ESCAPE = .TRUE.
GOTO 5519
ENDIF
CALL PARSTQ(ISTAT)
IF (ISTAT.GT.4) GOTO 5517
IF (ISTAT.EQ.4) GOTO 5511
IF (ISTAT.NE.0) GOTO 5510
ELSE
CALL ISNTRP
ENDIF
5519 CONTINUE
IF (NUMARG.EQ.1) THEN
I = PARARG(A128,WASOFF)
WHSCAN = 4
IF (I.EQ.911) THEN
GOTO 911
ELSEIF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
* ELSE
* PRINT *,'IEEE-488 (GPIB) BUS SETUP? (Y/n)'
* I = MENU(1,0,1)
ENDIF
IF (ABORT) STOP
* IF (I.EQ.1) THEN
* BUSDUN = .FALSE.
* CALL INTSCO
* CALL HELLO
* CALL INITLB
* ENDIF
IF (.NOT.(ESCAPE.OR.INTRPT.OR.WASOFF)) THEN
CALL CRCLS
PRINT *,'TESTING FOR SCAN PATTERN ... '
CALL FRAMLN(A128,LENFR,LENTR,NTR)
PRINT *,' PIXELS/FRAME = ',LENFR
PRINT *,' PIXELS/TRACK = ',LENTR
PRINT *,' TRACKS/FRAME = ',NTR
IF (NTR.EQ.1.AND.LENTR.EQ.511) THEN
PRINT *,' That appears to be PAR power on defaults, '
PRINT *,' LOADING DEFAULT SCAN PATTERN'
CALL REQRWV
IYLEN = 128
IXLEN = 250
WHSCAN = 4
CALL PARR2D
ELSE
IXLEN = LENTR
IYLEN = NTR
CALL WAIT(1.5)
ENDIF
ENDIF
IF ((WASOFF.OR.(LENTR*NTR).LT.1000).AND..NOT.ESCAPE) THEN
CALL CRCLS
PRINT *,' LOADING DEFAULT SCAN PATTERN'
CALL WAIT(0.1)
CALL PARSTQ(ISTAT)
CALL WAIT(0.1)
CALL REQRWV
WHSCAN = 4
IYLEN = 128
IXLEN = 250
ENDIF
CALL ISNTRP
IXNUM = IXLEN
IIYLEN = IYLEN
IYNUM = IYLEN
WHSCAN = 4
IF (IXLEN.EQ.500.AND.IYLEN.EQ.170) WHSCAN = 1
IF (IXLEN.EQ.250.AND.IYLEN.EQ.170) WHSCAN = 2
IF (IXLEN.EQ.493.AND.IYLEN.EQ.2) WHSCAN = 3
LENTR = IXLEN
NTR = IYLEN
LENFR = IXLEN*IYLEN
IF (NUMARG.EQ.0) THEN
ASC = $85
SCAN = $85
GOTO 911
ENDIF
I = FPEEK(SENBAS)
J = FPEEK(SENBAS+1)
MS = MILLIS()
DATA1 = FWPEEK(SENDAT)
DATA2 = FWPEEK(SENDAT+2)
I2 = FPEEK(SENBAS)
J2 = FPEEK(SENBAS+1)
K = (I*65536 + J)*256 + I2*65536 + J2
DATAHX = HEXOF(DATA)
RESULT = HEXOF(K)
K = IAND(K,$62626262)
FLAG = HEXOF(K)
DIDIT = FLAG(1:4).EQ.'2202' .OR. FLAG(5:8).EQ.'2202' .OR.
& FLAG(1:4).EQ.'2000' .OR. FLAG(5:8).EQ.'2000'
CALL ISNTRP
* IF (DIDIT) THEN
* IF (PAROMA) THEN
* IF (CBLINV) THEN
* IFOO = PARI2D()
* ELSE
* IFOO = PARE2D()
* ENDIF
* ELSEIF (PAR1MA) THEN
* IF (CBLINV) THEN
* IFOO = PARI1D()
* ELSE
* IFOO = PARE1D()
* ENDIF
* ELSEIF (PAR0MA) THEN
* IF (CBLINV) THEN
* IFOO = PARI0D()
* ELSE
* IFOO = PARE0D()
* ENDIF
* ELSEIF (NOREAD) THEN
IF (CBLINV) IFOO = L2NOT(DATA1)
* ELSE
* CALL GETPAR(IFOO,1)
* ENDIF
* ENDIF
MS = MILLIS()
IF (MS.LT.0) MS = L2NOT(MS)
2 CONTINUE
PROGNM = 'TSTPAR'
LOOP2 = REENTR()
OSR = ISR
ISR = GETSR()
SNOW = ISR.GE.$2000
UTHEN = OSR.LT.$2000
IF (NOISE.AND.QWERTY) UTHEN = SNOW
DBISON = ISDBON() .AND. NOISE
IF ((SNOW.AND.UTHEN).OR.(DBYET.AND.(.NOT.DBY2)).OR.DBISON) THEN
WRITE (11,'(A)',ERR=1111) ' (System Error Trapping is ON / Running in SUPERVISOR mode) '
WRITE (11,'(A,A,A,A)',ERR=1111) ' PAR/OMA interface STATUS display: GB $',LOOPPT,' RE
$',LOOP2H
DBYET = .TRUE.
DBY2 = .TRUE.
NOISE = .FALSE.
ELSEIF ((.NOT.(SNOW.OR.UTHEN)).OR.(DBY2.AND.(.NOT.DBYET))) THEN
WRITE (11,'(A)',ERR=1111) ' (System Error Trapping is OFF / Running in USER mode ) '
WRITE (11,'(A)',ERR=1111) ' PAR/OMA interface STATUS display '
DBY2 = .FALSE.
DBYET = .FALSE.
NOISE = .TRUE.
ENDIF
CALL LEDSOF
CALL GOTOXY(0,0)
IJKLI = 0
IF (DATA2.NE.DEFKKK) THEN
IF (SNOW) CALL WPOKE(SENDAT+2,DEFKKK)
IF (.NOT.SNOW) CALL WSPOKE(SENDAT+2,DEFKKK)
ENDIF
* IF (DATACQ) THEN
MAINLN = 'PAR/OMA Data Acquisition & Analysis program '
* ELSE
* MAINLN = 'PAR/OMA interface + programming TEST PROGRAM .'
* ENDIF
1 CONTINUE
LOOP = GETBAK()
CALL LEDSOF
QWERTY = .FALSE.
I = FPEEK(SENBAS)
J = FPEEK(SENBAS+1)
MS = MILLIS()
IF (MS.LT.0) MS = L2NOT(MS)
DATA1 = FWPEEK(SENDAT)
DATA2 = FWPEEK(SENDAT+2)
I2 = FPEEK(SENBAS)
J2 = FPEEK(SENBAS+1)
K = (I*65536 + J)*256 + I2*65536 + J2
RESULT = HEXOF(K)
DATAHX = HEXOF(DATA)
DBQQ = ISDBON()
IF (DBQQ) THEN
CALL BUSERN
ENDIF
IF (ONOFF) THEN
ISIT = ISG0IN()
ELSE
ISIT = DIDIT
ENDIF
DIDIT = ISIT
IF (.NOT.DIDIT) THEN
JJFO = I2AND2(IFOO,MASK2)
JFO = JJFO
FLAG = HEXOF(JFO)
PRINT *,'DATA: $',DATAHX(1:4),' ',DATAHX(5:8),' HS44-> ',RESULT(1:4),' 45-> ',
1 RESULT(5:8),' FLAG -> ',FLAG(1:2),PADS,' ',MS,PADS,' ',ISIT
ELSE
IFO = I2AND2(IFOO,MASK)
JJFO = I2AND2(IFOO,MASK2)
JFO = JJFO
INPUT = HEXOF(IFO)
FLAG = HEXOF(JFO)
IF (FLAG(1:1).EQ.'F') THEN
CRUD = '<=='
ELSE
CRUD = ' '
ENDIF
PRINT *,'DATA: $',DATAHX(1:4),' ',DATAHX(5:8),' HS44-> ',RESULT(1:4),' 45-> ',
1 RESULT(5:8),' FLAG/IN ->',FLAG(1:1),INPUT(5:8),' ',MS,PADS,' ',ISIT,CRUD
ENDIF
IKLI = IJKLI
IJKLI = IJKLI + 1
IF (IJKLI.GE.23) THEN
GOTO 2
ENDIF
IF (FLAG77(IJKLI)) THEN
CALL GOTOXY(75,IJKLI)
PRINT *,' '
FLAG77(IJKLI) = .FALSE.
CALL GOTOXY(0,IKLI)
ENDIF
K = IAND(K,$62626262)
FLAG = HEXOF(K)
DIDIT = FLAG(1:4).EQ.'2202' .OR. FLAG(5:8).EQ.'2202' .OR.
& FLAG(1:4).EQ.'2000' .OR. FLAG(5:8).EQ.'2000'
* IFOO = DATA1
* IF (CBLINV) IFOO = L2NOT(IFOO)
* IF (DIDIT) THEN
* IF (PAROMA) THEN
* IF (CBLINV) THEN
* IFOO = PARI2D()
* ELSE
* IFOO = PARE2D()
* ENDIF
* ELSEIF (PAR1MA) THEN
* IF (CBLINV) THEN
* IFOO = PARI1D()
* ELSE
* IFOO = PARE1D()
* ENDIF
* ELSEIF (PAR0MA) THEN
* IF (CBLINV) THEN
* IFOO = PARI0D()
* ELSE
* IFOO = PARE0D()
* ENDIF
* ELSEIF (NOREAD) THEN
IF (CBLINV) IFOO = L2NOT(DATA1)
* ELSE
* CALL GETPAR(IFOO,1)
* ENDIF
* ENDIF
MS = MILLIS()
ERR = -1
CALL GETKEY(ASC,SCAN,KBF1,KBF2,ERR)
CALL SHIFTS
IF (WHSCAN.EQ.1) THEN
IXLEN = 500
IYNUM = 170
MODE2D = .TRUE.
ELSEIF (WHSCAN.EQ.2) THEN
IXLEN = 250
IYNUM = 170
MODE2D = .TRUE.
ELSE
MODE2D = (NNTR.NE.1) .OR. (IYLEN.NE.1)
ENDIF
IIXLEN = IXLEN
IXNUM = IXLEN
IYLEN = IYNUM
IF (ERR.EQ.0.AND.ASC.EQ.3) GOTO 9999
IF (ERR.EQ.0.AND.ASC.EQ.5) THEN
CALL CLOPPU
CALL OPEPPU
ENDIF
IA128 = IIA128
IF (ERR.NE.0) GOTO 1
911 CONTINUE
PROGNM = 'TSTPAR'
IF (SCRL) THEN
I = PASCRL(A128,IJKLI)
SCRL = .FALSE.
IXLEN = LLENTR
IYLEN = NNTR
MODE2D = NNTR.GT.1
IF (I.EQ.9999) GOTO 9999
IF (I.EQ.911) GOTO 911
IF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
GOTO 1
ELSEIF (SCAN.GE.133) THEN
I = PAKPDX(A128,IJKLI)
IXLEN = LLENTR
IYLEN = NNTR
MODE2D = NNTR.GT.1
IF (I.EQ.9999) GOTO 9999
IF (I.EQ.911) GOTO 911
IF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
GOTO 1
ELSEIF (ASC.EQ.24.OR.(ASC.EQ.0.AND.SCAN.EQ.$2D)) THEN
I = PACTLX(A128,IJKLI)
IXLEN = LLENTR
IYLEN = NNTR
MODE2D = NNTR.GT.1
IF (I.EQ.9999) GOTO 9999
IF (I.EQ.911) GOTO 911
IF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
GOTO 1
ELSEIF (ASC.EQ.5.OR.(ASC.EQ.0.AND.SCAN.EQ.$12)) THEN
I = PACTLE(A128,IJKLI)
IXLEN = LLENTR
IYLEN = NNTR
MODE2D = NNTR.GT.1
IF (I.EQ.9999) GOTO 9999
IF (I.EQ.911) GOTO 911
IF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
GOTO 2
ELSEIF (TC.EQ.'?') THEN
CALL PARHLP
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ELSEIF (ERR.EQ.0.AND.ASC.EQ.15) THEN
FLAG77(IKLI) = .TRUE.
ONOFF = .FALSE.
CALL GOTOXY(75,IKLI)
PRINT *,'o'
IF (IJKLI.GE.23) GOTO 2
GOTO 1
* ELSEIF (TC.EQ.'!') THEN
* CALL INTSCO
* CALL HELLO
ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$18) THEN
FLAG77(IKLI) = .TRUE.
ONOFF = .TRUE.
CALL GOTOXY(75,IKLI)
PRINT *,'O'
IF (IJKLI.GE.23) GOTO 2
GOTO 1
ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$14) THEN
FLAG77(IKLI) = .TRUE.
CALL TOGGLP
CALL GOTOXY(75,IKLI)
PRINT *,'T'
IF (IJKLI.GE.23) GOTO 2
GOTO 1
ELSEIF (ASC.EQ.0.AND.(SCAN.GE.123.AND.SCAN.LE.129)) THEN
CALL RSTPAR
CALL CRCLS
MODE2D = .FALSE.
7753 CONTINUE
IKNM = SCAN-119+48
IF (.NOT.(LSH.OR.RSH.OR.CTRL)) THEN
FILNAM = 'HSCAN'//CHAR(IKNM)//'.PAR'
FLNM = 'HSCAN'//CHAR(IKNM)//'.OUT'
ELSE
FILNAM = 'SCAN'//CHAR(IKNM)//'.PAR'
FLNM = 'SCAN'//CHAR(IKNM)//'.OUT'
ENDIF
CALL PRESCN
CALL LODPAR(FILNAM)
IF (LENRQX.GT.0) GOTO 7755
CALL LODPAR(FLNM)
IF (LENRQX.GT.0) GOTO 7755
PRINT *,' Just where ARE the scans stored?? '
CALL WAIT(2.0)
GOTO 2
7755 CONTINUE
WHSCAN = 4
IXLEN = IXNUM
IYLEN = IYNUM
IF ((IXLEN.LE.0.OR.IYLEN.LE.0).AND.AUTFRM) THEN
PRINT *,' DETERMINING FRAME DIMENSIONS ... '
CALL FRAMLN(A128,LENFR,LENTR,NTR)
IXLEN = LENTR
IYLEN = NTR
MODE2D = (NTR.GT.1)
PRINT *,' PIXELS/FRAME = ',LENFR
PRINT *,' PIXELS/TRACK = ',LENTR
PRINT *,' TRACKS/FRAME = ',NTR
ENDIF
IXNUM = IXLEN
IYNUM = IYLEN
MODE2D = NTR.GT.1
IIXLEN = IXLEN
IIYLEN = IYLEN
QWERTY = .TRUE.
NOISE = .TRUE.
IJKLI = 2
GOTO 2
ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$2E) THEN
GOTO 9999
* ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$1E) THEN
* FLAG77(IKLI) = .TRUE.
* IF (SNOW) CALL WPOKE(SENDAT,0)
* IF (.NOT.SNOW) CALL WSPOKE(SENDAT,0)
* CALL TOGGLA
* CALL GOTOXY(75,IKLI)
* PRINT *,'A'
* IF (IJKLI.GE.23) GOTO 2
* GOTO 1
* ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$30) THEN
* FLAG77(IKLI) = .TRUE.
* CALL TOGGLB
* CALL GOTOXY(75,IKLI)
* PRINT *,'B'
* IF (IJKLI.GE.23) GOTO 2
* GOTO 1
* ELSEIF (ASC.EQ.16) THEN
* 9867 PRINT *,'INPUT? '
* CALL GOTOXY(8,IJKLI)
* READ (*,'(A)',ERR=9867) INPUTS
* DEFKKK = INTOF(INPUTS)
* CALL GOTOXY(8,IJKLI)
* PRINT *,' ',DEFKKK,' .'
* IF (SNOW) CALL WPOKE(SENDAT+2,DEFKKK)
* IF (.NOT.SNOW) CALL WSPOKE(SENDAT+2,DEFKKK)
* IJKLI = IJKLI + 1
* IF (IJKLI.GE.24) GOTO 2
* ELSEIF (TC.EQ.'w'.OR.TC.EQ.'W'.OR.TC.EQ.'P'.OR.TC.EQ.'p'.OR.TC.EQ.'$') THEN
* 9876 PRINT *,'INPUT? '
* CALL GOTOXY(8,IJKLI)
* READ (*,'(A)',ERR=9876) INPUTS
* IF (TC.EQ.'$') THEN
* INP2 = '$'//INPUTS
* INPUTS = INP2
* ENDIF
* KKK = INTOF(INPUTS)
* CALL GOTOXY(8,IJKLI)
* PRINT *,' ',KKK,' .'
* KKK = KKK*65537
* IF (SNOW) CALL WPOKE(SENDAT+2,KKK)
* IF (.NOT.SNOW) THEN
* IF (RSH.OR.LSH) THEN
* CALL SWPOKE(SENDAT+2,KKK)
* ELSE
* CALL WSPOKE(SENDAT+2,KKK)
* ENDIF
* ELSE
* CALL WPOKE(SENDAT+2,KKK)
* ENDIF
* IJKLI = IJKLI + 1
* IF (IJKLI.GE.24) GOTO 2
* ELSEIF (TC.EQ.'R'.OR.TC.EQ.'r') THEN
* 9877 PRINT *,'INPUT? '
* CALL GOTOXY(8,IJKLI)
* READ (*,'(A)',ERR=9877) INPUTS
* KKK = INTOF(INPUTS)
* CALL GOTOXY(8,IJKLI)
* PRINT *,' ',KKK,' .'
* KKK = KKK*65537
* IF (.NOT.SNOW) THEN
* IF (RSH.OR.LSH) THEN
* CALL SWPOKE(SENDAT,KKK)
* ELSE
* CALL WSPOKE(SENDAT,KKK)
* ENDIF
* ELSE
* CALL WPOKE(SENDAT,KKK)
* ENDIF
* IJKLI = IJKLI + 1
* IF (IJKLI.GE.24) GOTO 2
ELSEIF (ASC.EQ.0.AND.(SCAN.GE.84.AND.SCAN.LE.113)) THEN
IIKK = FRAMES(A128,A256,A512)
IF (IIKK.EQ.911) GOTO 911
GOTO 2
ELSEIF (SCAN.EQ.$37.AND.SCRL) THEN
IZ = ZPOINT
IA = IA256
CALL SETPG0
CALL LEDSET(4)
CALL CRCLS
NOISE = .TRUE.
QWERTY = .TRUE.
PRINT *,' '
PRINT *,'ALIGNMENT MODE - will display current picture until'
PRINT *,' another LASER FLASH is detected, then the new picture will'
PRINT *,' be displayed. SEQUENCING is indicated by the KEYPAD LEDs'
PRINT *,' '
PRINT *,'TYPE Ctrl C to EXIT this mode (may need to fire laser)'
PRINT *,' '
CALL LEDUP
5544 CALL PARSTA(ISTAT)
PRINT *,' PAR STATUS INDICATOR = ',ISTAT,' ',PSTAT(ISTAT)
IF (ISTAT.EQ.1) THEN
CALL PARR2D
GOTO 5544
ENDIF
IF (ISTAT.GE.2) THEN
IF (ISTAT.EQ.4) PRINT *,'After connecting cable - turn ON par power.'
CALL PAUSE(' Type return when things are ready.')
IF (ABORT) GOTO 9999
IF (ESCAPE.OR.INTRPT) GOTO 2
CALL LODPAR('HSCAN128')
IXLEN = 250
IYLEN = 128
MAGNIF = 17
PRINT *,'HAVE LOADED DEFAULT 2D MODE SCAN ...'
ELSE
PRINT *,'DETERMINING PICTURE FRAME SIZE ...'
CALL FRAMLN(A128,LENFR,LENTR,NTR)
II = LENFR
PRINT *,' PIXELS PER FRAME = ',LENFR
PRINT *,' PIXELS PER TRACK = ',LENTR
IXLEN = LENTR
IYLEN = NTR
PRINT *,' TRACKS PER FRAME = ',IYLEN
CALL WAIT(1.8)
5566 CONTINUE
IF (NTR.EQ.1) THEN
PRINT *,'NOT CURRENTLY RUNNING WITH 2D SCAN PATTERN ...'
CALL LODPAR('HSCAN128')
WHSCAN = 1
MAGNIF = 17
IXLEN = 250
IYLEN = 128
PRINT *,'HAVE LOADED DEFAULT 2D MODE SCAN ...'
ENDIF
IXNUM = IXLEN
IYNUM = IYLEN
IIYLEN = IYLEN
LENFR = IXLEN*IYLEN
ENDIF
ILEN = LENFR
PRINT *,'CLEARING PICTURE MEMORY BUFFER ...'
LENGTH = 262244
CALL LEDRST
CALL LEDUP
CALL ZAPIT(A128,LENGTH)
PRINT *,' HAVE CLEARED MEMORY BUFFER, ABOUT TO READ FRAME ...'
PRINT *,' FLASH LASER AFTER KEYPAD LEDS ARE ON'
FLURB = .FALSE.
CALL LEDUP
CALL ISNTRP
IF (ABORT.OR.ESCAPE.OR.INTRPT.OR.FLURB) THEN
CALL LEDSON
CALL SETPG0
CALL GRCLS
GOTO 2
ENDIF
LENGTH = 524288
CALL LSRMES
CALL FXREAD(A128,LENGTH)
PRINT *,' HAVE READ FRAME, PROCESSING FOR DISPLAY, LENGTH = ',LENGTH
CALL LEDUP
IF (ZVALID.AND.ZZCORR) CALL PARZRO(IA,IZ,ILEN)
IF (AVALID.AND.AACORR) CALL PARMAX(IA,IMX,ILEN)
IIXLEN = IXLEN
IIYLEN = IYLEN
CALL NORML2(A128(0),IIXLEN,IIYLEN)
MAGNIF = 17
IIKK = BLKDS(A128(0),IIXLEN,IIYLEN)
IF (IIKK.EQ.911) GOTO 911
CALL LEDUP
IF (ERR.EQ.0) THEN
FLURB = ASC.EQ.3 .OR. ((LSH.OR.RSH).AND.SCAN.EQ.121)
FLURB = FLURB .OR. (SCRL.AND.RSH.AND.SCAN.EQ.$4F)
ENDIF
CALL LEDSET(5)
LENGTH = 262244
CALL ZAPIT(A128,LENGTH)
5555 CONTINUE
CALL LEDUP
CALL ISNTRP
IF (ABORT.OR.ESCAPE.OR.INTRPT.OR.FLURB) THEN
CALL LEDSON
CALL SETPG0
CALL GRCLS
GOTO 2
ENDIF
LENGTH = 524288
CALL LSRMES
CALL FXREAD(A128,LENGTH)
CALL LEDUP
IF (ZVALID.AND.ZZCORR) CALL PARZRO(IA,IZ,ILEN)
IF (AVALID.AND.AACORR) CALL PARMAX(IA,IMX,ILEN)
CALL USESWP
IIXLEN = IXLEN
IIYLEN = IYLEN
CALL NORML2(A128(0),IIXLEN,IIYLEN)
MAGNIF = 17
IIKK = BLKDS(A128(0),IIXLEN,IIYLEN)
IF (IIKK.EQ.911) GOTO 911
CALL LEDUP
CALL DSPSWP
IF (ERR.EQ.0) THEN
FLURB = ASC.EQ.3 .OR. ((LSH.OR.RSH).AND.SCAN.EQ.121)
FLURB = FLURB .OR. (SCRL.AND.RSH.AND.SCAN.EQ.$4F)
ENDIF
CALL LEDSET(5)
LENGTH = 262244
CALL ZAPIT(A128,LENGTH)
GOTO 5555
ELSEIF (ASC.EQ.17) THEN
FLAG77(IKLI) = .TRUE.
NOT14 = .FALSE.
CALL GOTOXY(76,IKLI)
PRINT *,'n14'
IF (IJKLI.GE.23) GOTO 2
GOTO 1
ELSEIF (ASC.EQ.0.AND.SCAN.EQ.$10) THEN
FLAG77(IKLI) = .TRUE.
NOT14 = .TRUE.
CALL GOTOXY(75,IKLI)
PRINT *,'14'
IF (IJKLI.GE.23) GOTO 2
GOTO 1
ELSE
I = PACOMM(A128,IJKLI)
IF (I.EQ.9999) GOTO 9999
IF (I.EQ.911) GOTO 911
IF (I.EQ.2) THEN
QWERTY = .TRUE.
NOISE = .TRUE.
GOTO 2
ENDIF
GOTO 1
ENDIF
OSR = ISR
ISR = GETSR()
SNOW = ISR.GE.$2000
IF (QWERTY.AND.NOISE) UTHEN = SNOW
IF (QWERTY) THEN
DBYET = SNOW
DBY2 = .NOT.DBYET
QWERTY = .FALSE.
GOTO 2
ENDIF
GOTO 1
9999 CALL LEDSON
CALL PARSTQ(ISTAT)
IF (ISTAT.EQ.0) CALL PARSTO
IF (ISTAT.LT.2.OR.ISTAT.GT.3) THEN
PRINT *,' .'
CALL BEEP
PRINT *,' PLEASE MAKE CERTAIN THAT THE PAR CONTROLLER IS TURNED OFF .'
PRINT *,' PLEASE MAKE CERTAIN THAT THE PAR CONTROLLER IS TURNED OFF .'
PRINT *,' .'
ENDIF
CALL BEEP
CALL CLOPPU
CALL LEDSOF
CALL NUMLOF
CALL CAPLON
CALL SETPG0
CALL OPESYS
CALL USERM
CALL NUMLOF
CALL CAPLON
CALL CCNSL0
* SYSCALL 43 = EXIT, FSCALL PASSES REGISTERS D0-D7, A0-A6; IARR IS USED
* AS PLACEHOLDER FOR THESE ARG'S; EXIT TAKES NO ARGS
CALL FSCALL(43,IARR(1),IARR(2),IARR(3),IARR(4),IARR(5),IARR(6),IARR(7)
& ,IARR(8),IARR(12),IARR(13),IARR(14),IARR(15),IARR(16),IARR(17)
& ,IARR(18))
8121 CONTINUE
CALL LEDSON
PRINT *,' OPEN ERROR FOR FILE: ',FRAME
CALL BEEP
CALL PAUSE(' ')
CALL LEDSOF
GOTO 2
8122 CONTINUE
CALL LEDSON
PRINT *,' CLOSE ERROR FOR FILE: ',FRAME
CALL BEEP
CALL PAUSE(' ')
CALL LEDSOF
GOTO 2
7898 FORMAT (I8,' BYTES REPORTED BY ASM SUBROUTINE.')
9878 FORMAT (BN,I8.0)
1111 CONTINUE
DO 1112 I=11,14
CLOSE (UNIT=I,ERR=1112)
1112 CONTINUE
CALL OPESCR
GOTO 2
CALL CALCQT
END

Das könnte Ihnen auch gefallen