*20 *20 /// PROG CALIB. /PROGRAM SAMPLES SEVEN CHANNELS /OF CALIBRATION SIGNALS AND CAL- /CULATES THE REAL WORLD VALUE PER /VOLT FOR EACH CHANNEL AND TYPES /IT OUT. /REQUIRES REAL WORLD MIN & MAX IN /A1, A2,A3,A4,A5,B1,B2, /STORES VAL\V IN P73. /NO LODSYM NEEDED. SEGMNT 5 LMODE *20 //COMMAND SEQUENCE. BEG, CLR AXO /RIG STD TAPE STARTF /STD FPP JMP QUES /TTY INPUT JMP SETUP /SETUP PARAMETERS JMP GETHEM /SAMPL JMP TYPOUT /TYPE VAL\V //END COMMAND SEQUENCE. /ROUTINE TO GET PBLOCK. QUES, SET 3 0 D1, LIF 4 INTRACT CJ1 M1 /PROG CALIB / PBLOCK: CJ1, T1 J1 T1, 0 J1, JMP BEG /CR JMP GTPBLK /NUM /GET PBLOCK GTPBLK, COM ADA I 7077 STC .+3 LDF 7 OPR 12 0 /ROUTINE TO GET CAL TIME. D2, LIF 4 INTRACT CJ2 M2 /CAL RUN TIME (SEC): CJ2, T1 J2 J2, JMP BEG /CR JMP .+1 /0 STORE CALTIM JMP 3 /LEAVE CALTIM, 0 0 0 /END ROUTINE QUES. /ROUTINE TO SET UP UP TO 7 CHANNELS /SET UP NUMBER OF POINTS TO BE SAMPLED /SET UP CLOCK BUT NOT START IT. SETUP, SET 3 0 /SET UP CHANNELS. LDF 7 SET I 2 CALCH LDA I P1 JMP CHSET LDA I JMP DUNSAM STA 2 /ON BASIS OF NUM CHAN (B14), ARRANGE /PROPER TYPOUT. LDA 14 /NUM CHAN USED COM STA I CHAN, 0 /CHAN CNTR /SET UP NO. OF PTS. SFLOAT P17 /SAMP\SEG FMUL CALTIM FDIV P44 /SEG LENGTH(SEC) FADD FPHALF /+0.5 FCOMP FIX FAC ISTOR1 NUMPTS /CNTR /ZERO MAXMIN AREA. SET I 4 MAX-1 SET I 6 -6 STA I 4 XSK I 6 JMP .-2 /SET UP CLOCK. LDA P26 /CLK RATE STC RATE LDA P27 /CLK TICS STC TICKS JMP 3 /LEAVE /ROUTINE TO SET UP CHANNELS. CHSET, STC PWRD /IST WORD ADD 0 STC CHSETX STC 14 /NUM CHAN USED SET I 4 /START CH1 7 SET I 12 /BITS PER WRD -14 SET I 13 /NUM CHAN ALLOWD -7 SET I 15 /2 WRD CNTR -2 LDA P15 /INVERT WRD BKC, STC INVCH LDA PWRD, 0 /IST OR 2ND PWRD STC CHTST /INVERT TEST. TS, LDA I 16 SRO I INVCH, 0 ADD KP1 STC INVT /CHANNEL TEST. ADD 4 ADD KP1 STC 4 SRO I CHTST, 0 JMP GOTCH /FOUND ONE XSK I 12 /A PWRD DUN JMP TS /NO /ROUTINE TO CHECK 2ND PWRD OR TO EXIT SECWRD, LDA PWRD ADD KP1 STC PWRD /2ND PWRD SET I 12 -14 LDA P16 /2ND INVERT WRD XSK I 15 /DUN 2 ALREADY JMP BKC /NO CHSETX, 0 /YES, LEAVE /ROUTINE TO SET UP SAM COMMAND. GOTCH, LDA 0 STC GOTCHX ADD 4 BSE I SAM STA 2 LDA I INVT, 0 STA I 2 JMP INC2 XSK I 14 /BUMP NUM CHAN XSK I 13 /DUN ALLOWED CH GOTCHX, 0 /NO, LEAVE GOTCH JMP CHSETX /YES,LEAVE CHSET /ROUTINE TO BUMP SAM COMMAND PLACEMENT PNTR. INC2, XSK I 2 XSK I 2 JMP 0 /END CHSET. FPHALF, 0 2000 0 MAX, 0 0 0 MIN, 0 0 0 /END SETUP. /ROUTINE TO SET UP CLOCK AND START /SAMPLING ROUTINE IN RESPONSE TO /TTY COMMAND GETHEM, SET 3 0 D3, LIF 4 INTRACT CJ3 M3 /CAL SAM /: CJ3, T3 J3 T3, SAMPL 0 J3, JMP BEG /CR JMP DOSAM /SAM JMP D3 /NUM /MAIN PROGRAM CALIB SAMPLING ROUTINE. DOSAM, OPR 3 /SET UP CLOCK RATE, 0 TICKS, 0 OPR 2 /SYSTEM OFF 0 IOB IOF /SAMPLING LOOP. SAMLUP, SET I 6 /SET MAXMIN PNTRS MIN-1 SET I 4 MAX-1 IOB /WAIT FOR CLK TIC CLSK JMP .-2 IOB CLSA CALCH, 0 /SAM CH1 0 JMP MAXMIN 0 /SAM CH2 0 JMP MAXMIN 0 /SAM CH3 0 JMP MAXMIN 0 /SAM CH4 0 JMP MAXMIN 0 /SAM CH5 0 JMP MAXMIN 0 /SAM CH6 0 JMP MAXMIN 0 /SAM CH7 0 JMP MAXMIN 0 /DUNSAM DUNSAM, LDA KP1 ADM I NUMPTS, 0 /-NUM PTS AZE JMP SAMLUP /MORE PTS JMP DOPKS /DUN, GET PEAKS JMP 3 /LEAVE DOSAM /END DOSAM. /SUBROUTINE TO CALC MAX AND MIN /AND STORE VALUES. MAXMIN, SET 13 0 STA I HOLD, 0 /CHECK FOR A MINIMUM. REPLACE MIN IF /(MIN-N) IS POSITIVE. COM ADA I 6 /MIN APO JMP .+4 LDA HOLD STA 6 /MIN /CHECK FOR A MAXIMUM. REPLACE MAX IF /(N-MAX) IS POSITIVE. LDA I 4 /MAX COM ADD HOLD APO JMP 13 /LEAVE LDA HOLD STA 4 /MAX JMP 13 /LEAVE /END MAXMIN. /GET PEAK TO PEAK VALUE & STORE AS POSITIVE /VALUE IN MAX LIST. DOPKS, SET 13 0 SET I 6 MIN-1 SET I 4 MAX-1 SET I 5 -3 LDA I 6 COM ADA I 4 APO COM STA 4 XSK I 5 JMP .-7 JMP 13 /LEAVE /END DOPKS. /ROUTINE TO CALCULATE THE REAL WORLD PEAK /TO PEAK OCTAL VALUES FOR THE THREE /CHAN FROM PBLK.THEN CALC REAL WORLD VALUES /PER VOLT AND TYPE OUT. TYPOUT, SET 3 0 OPR 3 /START SYSTEM 5100 /1\10SEC RATE 1750 LDF 7 SET I 15 MAX /PEAK PNTR SET 14 CHAN /NUM CHAN CNTR SET I 16 P50 /REAL WORLD PNTR SET I 17 P73 /VAL\V PNTR JMP PCALC XSK I 14 JMP .-2 SETWRD /NOW TYPE OUT 0642 SET I 14 P73 SET 7 CHAN /CHAN CNTR LDA I BUFCH1 STC OPNTR MROUT, LOAD 4\14 OUTPUT OPNTR, 0 /BUFCH1 ADD OPNTR ADD KP12 STC OPNTR XSK I 7 JMP MROUT SET 7 CHAN LDA I HEAD1 STC MPNTR MRTYP, LIF 4 MESOUT MPNTR, 0 LDA MPNTR ADD KP12 STC MPNTR XSK I 7 JMP MRTYP JMP BEG PCALC, SET 13 0 LOAD 4\16 /CH N, MIN FCOMP FADD 4\16 /CH N, MAX FMUL FP777 STORE FPTEMP SFLOAT 4\15 /PEAK FDIV FPTEMP RECIP FAC STORE 4\17 /VAL\V JMP 13 HEAD1, 0310 /CH 6140 /1 BUFCH1, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD2, 0310 /CH 6240 /2 BUFCH2, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD3, 0310 /CH 6340 /3 BUFCH3, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD4, 0310 /CH 6440 /4 BUFCH4, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD5, 0310 /CH 6540 /5 BUFCH5, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD6, 0310 /CH 6740 /6 BUFCH6, 4040 4040 4040 4040 2601 /VA 1457 /L/ 2640 /V 4543 HEAD7, 0310 /CH 6740 /7 BUFCH7, 4040 4040 4040 4040 2001 /VA 1457 /L/ 2640 /V 4543 /END ROUTINE TYPOUT. /BUFFERS & CONSTANTS. FPTEMP, 0 0 0 FP777, 11 3774 0 KP1, 1 KP12, 12 /INTRACT MESSAGES. M1, TEXT ZPROG CALIBZ 4543 TEXT ZPBLOCK: Z M2, TEXT ZCAL RUN TIME (SEC): Z M3, TEXT ZCAL SAM Z 4543 TEXT Z: Z AAEND, 0 /END PROG /PARAMETERS (PBLOCK) FOLLOW. NOLIST CLSK=6131 CLSA=6135 //PBLOCK /PARAMETER BLOCK ASSIGNMENTS / P0=3400 /DATA TYPE P1=3401 /CURRENT CHAN. P2=3402 /CURRENT CHAN. P3=3403 /DATA CHAN. P4=3404 /DATA CHAN. P5=3405 /CONTINGENCY CH P6=3406 /CONTINGENCY CH P7=3407 /TRUE CONTING. P10=3410 /FALSE CONTING. P11=3411 /CONTING. WIDTH P12=3412 /TRUE CONTING. P13=3413 /FALSE CONTING. P14=3414 /CONTING. WIDTH P15=3415 /CHAN INVERSION P16=3416 /CHAN INVERSION P17=3417 /NO.SAMP IN SEG P20=3420 /NO.SEG IN ENSM P21=3421 /NO. ENSEMBLES P22=3422 / P23=3423 /BASELINE PNTS P24=3424 /TAPE DELAY P25=3425 /ENSEMBL DELAY P26=3426 /CLOCK RATE P27=3427 /CLOCK TICS P30=3430 P31=3431 P32=3432 P33=3433 P34=3434 P35=3435 P36=3436 P37=3437 /TAPE SPEED UP P40=3440 /TAPE SPEED UP P41=3441 /TAPE SPEED UP / /FLOATING POINT VARIABLES / / P42=3442 /MULT FACTOR P43=3445 /UV PER VOLT P44=3450 /SEG. LENGTH P45=3453 /TEMP P46=3456 /BASELINE DELAY P47=3461 /CONTING WIDTH P50=3464 /BNDA1 MIN P51=3467 /BNDA1 MAX P52=3472 /BNDA2 MIN P53=3475 /BNDA2 MAX P54=3500 /BNDA3 MIN P55=3503 /BNDA3 MAX P56=3506 /BNDA4 MIN P57=3511 /BNDA4 MAX P60=3514 /BNDA5 MIN P61=3517 /BNDA5 MAX P62=3522 /BNDB1 MIN P63=3525 /BNDB1 MAX P64=3530 /BNDB2 MIN P65=3533 /BNDB2 MAX P66=3536 /BNDB3 MIN P67=3541 /BNDB3 MAX P70=3544 /BNDB4 MIN P71=3547 /BNDB4 MAX P72=3552 /BNDB5 MIN P73=3555 /BNDB5 MAX P74=3560 /PF MIN P75=3563 /PF MAX P76=3566 /TEMP P77=3571 /TRUE VOLTS P100=3574 /FALSE VOLTS P101=3577 /TEMP P102=3602 /V RMS P103=3605 /VRMS VAR P153=3775 / / /COMMAND DECODER ASSIGNMENTS / / STOP=JMP 20 SCAN=JMP 21 STRSCN=JMP 21 INUNIT=JMP 22 STORIT=JMP 23 GETFIL=JMP 24 GETFST=JMP 24 GETNAM=JMP 25 GETNXT=JMP 25 DIRINI=JMP 26 DIRLST=JMP 27 ASSIGN=JMP 30 DEASS=JMP 31 OUTUNIT=JMP 32 LODBLK=JMP 33 RUNBLK=JMP 34 FIND=JMP 35 CALL=JMP 37 UNCALL=JMP 40 RUNPRG=JMP 41 INTRACT=JMP 42 MESOUT=JMP 43 DISK=JMP 44 TABSET=JMP 45 INTABLE=JMP 45 MISSNG=JMP 47 TABGET=JMP 50 TABPUT=JMP 51 TABZER=JMP 52 MAKDIL=JMP 53 TABINI=JMP 54 MGETNAM=JMP 55 MGETFIL=JMP 56 MSTORIT=JMP 57 / /COMMAND LOCATIONS. / FILNAM=2320 WORD1=2323 WORD2=2324 INBUF=2325 /COMMAND NUMBERS. YES=17 NO=20 SAMPL=21 TABLE=22 GO=23 NEXT=24 / /EXEC3 ASSIGNMENTS / OPR=500 IOF=6002 ION=6001 EXC=1710 REXC=540 RLSW=514 RRSW=515 /FLOATING POINT DEFINITIONS. / FAC=0 STARTE=740 FSUB=741 FMUL=742 FDIV=743 LOAD=744 STORE=745 SETWRD=746 INPUT=747 OUTPUT=750 ISTOR1=751 SQRT=752 DFLOAT=753 SFLOAT=754 FIX=755 FADD=756 ISTOR2=757 STARTF=760 FCOMP=761 FZER=762 FAPO=763 FAZE=764 RECIP=765 OUTBUF=771 / / /PBLOCK /JUNE 73 LIST /END PROG CALIB. /SEPT 73 /JLC