C PROGRAM INIBM2.FT C ------------------ C C C C C P. LEMKIN C NIH C BETHESDA, MD 20014 C C C C MARCH 20, 1978 /REVISED FROM DINISYM.FT FROM DDTG SYSTEM C C C C C PURPOSE C --------- C ZERO DDTG COMMON TO INITIAL STATE AND WRITE OUT C THE SYS:SVDDTG.DA FILE AND THEN CHAIN TO BMON2.SV. C C C COMPILE AS: C ---------- C .R FORT C *INIBM2.RL_BMCMN.FT,INIBM2.FT C C LOAD AS: C ------- C .R LOADER C *IO,INIBM2$ C .SAVE SYS INIBM2 C C C OPERATORS DEFINED C ------------------- S OPDEF TADI 1400 S OPDEF DCAI 3400 C C C [0] INITIAL DDTG COMMON SVDDTG.DA FILE. WRITE(1,1234) 1234 FORMAT(' GENERATING SYS:SVDDTG.DA FILE') C C C [1] OCTAL/DECIMAL/BCD SWITCH 0=OCTAL, 1=DECMAL, -1=BCD C THIS WILL CAUSE IDECADE TO BE SET TO 8, 10 OR 16. MODEN=0 C C C [2] SET THE DATA SPACE SWITCHES TO BE STORED C IN "ITYPE" FIELD. C GPPOPR=1 C PM=2 C GR=3 C I1=4 C I2=5 C I3=6 C BM=7 C PDP8E=8 C PDPMRI=9 MODED=8 C C C [3] SET THE FILE DATA SPACE SWITCH C TO EITHER THE ABOVE DATA SPACE VALUES OR ONE OF THE C FOLLOWING VALUES. C MASK=10 C QMT=11 C GRAF-PEN=12 C GALV-SCAN=13 C DICOMED=14 MODGP=8 C C C [4] TELETYPE ECHO SWITCH: 0 TO ECHO, 1 TO NOT ECHO. MODEE=0 C C C [5] ZERO THE TTY LINE BUFFER POINTER ITTYP=0 C C C [6] ZERO THE NEXT TERMINAL SYMBOL TYPE FLAG C (DEFAULT TO 'SYMBOL'). ITYPE=0 C C C [7] ZERO THE NEXT TERMINAL SYMBOL CHARACTER COUNTER INXTRCT=0 C C C [8] TURN OFF(0) THE SUBSCRIPT ACTIVE SWITCH. C WHEN IT IS ON(1), (ON SEEING "[", SET NUMBERS ITYPE=-6). ISUBSCRIPT=0 C C C [9] TURN OFF(0) THE "$" PARSE SWITCHES C TURN ON(1) (ON SEEING "$"), SET $ TYPE=-3. IDM=0 C C C [10] SET OUTPUT AND INPUT SPOOLER SWITCHES TO OFF(0). IOUTSPOOL=0 C WHEN THE OUTPUT SPOOLER IS ON, IT SPOOLS OUTPUT TO C FORTRAN GENERAL I/O DEVICE 4. INSPOOL=0 C WHEN THE INPUT SPOOLER IS ON, IT SPOOLS INPUT FROM THE C FORTRAN GENERAL I/O DEVICE 4. THIS MEANS THAT INPUT C SPOOLING IS FROM A ".DA" FILE. C C C [11] SET THE 8E DATA SPACE TO NORMALLY C PROTECTED. (I.E. CAN ONLY ACCESS FIELD 5 C THE SPECIAL SEGMENT). MODEP=0 C C C [12] TURN OFF THE SYMBOIC PRINT SWITCH MODSYM=0 C C C [13] ZERO THE DDTGSTATUS WORD DDTGSTATUS=PHI C C C [14] TURN OFF THE SIXBIT PRINT SWITCH MODSIX=0 C C C [15] TURN OFF COMMENT SWITCH MODEC=0 C C C [16] ZERO THE CURRENT ODT POINTERS KURPTR=0 S DCA \KURPTR C ZERO THE KBRK(8,5) ARRAY DO 400 I=1,40 400 KBRK(I)=0 KURBRK=0 C C C [17] SET THE MANUAL PACKAGE LIMITS C AND ZERO THE THRESHOLD TEMP ARRAY MODET=0 DO 401 I=1,6 401 MCURDET(I)=0 C C C [18] RESET MOTORS VARAIBLES C CLEAR OUT MDPDATA ARRAY DO 402 J=1,12 DO 402 I=1,8 402 MDPDATA(I,J)=0 C C CLEAR OUT VARIABLES MACTIVE=0 MTRWRD=0 MTHSPWD=0 MTRNUM=0 MTROP=0 MHIVAL=0 MLOVAL=0 C C SET MOTOR LIMITS C WL,ND,ZM, DO 403 N=1,3 403 MDPDATA(4,N)=2 C C Z = +1000 TO -1000 MDPDATA(1,4)=-1000 MDPDATA(2,4)=-1 MDPDATA(3,4)=1000 C C X & Y = +8192 TO -8192 DO 404 N=5,6 MDPDATA(2,N)=-5 404 MDPDATA(4,N)=5 C C SET THRESHOLD LIMITS AND PRE-SET VALUES C TH1 & THC = 4095 TO 0 DO 405 N=3,7,2 405 MDPDATA(N,7)=-1 MDPDATA(3,8)=-1 C C SET MOTOR SPEED ARRAYS MSLOW(1)=5 MSLOW(2)=5 MSLOW(3)=15 MSLOW(4)=50 MSLOW(5)=20 MSLOW(6)=20 MSLOW(7)=5 MSLOW(8)=5 C MFAST(1)=1 MFAST(2)=1 MFAST(3)=1 MFAST(4)=1 MFAST(5)=1 MFAST(6)=1 MFAST(7)=1 MFAST(8)=1 C C C C INITIALIZE THRESHOLDS MVAL1=MDPDATA(5,7) MVAL2=MDPDATA(5,8) C C C [19] ZERO THE POLLING LOOP MONITOR TABLES DO 406 I=1,16 IMONR(I)=0 406 IMONW(I)=0 C C C [20] DISABLE THE MANUAL CONTROL STATE SWITCH MODEM=0 C C C [21] ZERO THE CURRENT $EX INPUT FILE LINE COUNTER LCNT=0 C C C C [22] WRITE OUT COMMON I=IO(0,0,0,9) WRITE(1,500) 500 FORMAT(' WROTE OUT COMMON "STATE" FILE "SYS:SVDDTG.DA".') C C C [23] START BMON2 CALL CHAIN('BMON2') END