PROGRAM COMBLD C C This program is to build the necessary commons C to discribe the plotting terminals to HCS and puesdo C at present only 16 plotting terminals are allowed C on one system, I think that is enough for C The following is a discription of what is necessary to C add terminals to this plot package. C This file is to explain how to add lun to hcs and Paul's C plot routines. C The following routines must be editted to reflect changes int he C logical unit numbers of the ploting terminals of to add more C plotting terminals. C 1). PSEUDO C table with lun must be changed to reflect C correct terminal types. C C 2). HCMAG C table of maginfaction factors must be changed C C 3). HCS.FTN C Number of terminals and the terminal number C table must be modified. C 4). HCSTKB.CMD C Need be changed only if terminals are added C then the number of units and the asg must be corrected C C 5). HCSGET.FTN C Need be changed only if units added, then change the C lun of the read file . C C 6). GEBUDA.MAC C Change the assigment table for lun number and C the number of plotting terminals C C 7). HCSIZE.MAC C Change the check at 3$: for dialup lines to correct C terminal numbers C C C C DIMENSION TERM(2,16),IT(0:100),T(0:100),AMAG(4) C C DATA AMAG/1.,1.587,1.,1./ C C ORDER OF MAG FACTORS 4010,4014,4662,4025 C C C TYPE 1 1 FORMAT(' Enter highest terminal in system in octal ?'$) READ(5,2,END=999)ITERMN 2 FORMAT(O8) TYPE 3 3 FORMAT(' Enter terminal in octal and type'/ 1' types are 4014,4010,4662,4025 '/ 2' ****** only 16 allowed ********'/ 3' terminate with a ') DO 10 I=1,16 8 READ(5,11,END=20)ITER,TERM(2,I) 11 FORMAT(O8,A4) TERM(1,I)=ITER IF (TERM(1,I).EQ.-1.)GOTO 20 IF (TERM(2,I).NE.'4010')GOTO 12 TERM(2,I)=1 GOTO 10 12 IF (TERM(2,I).NE.'4014')GOTO 13 TERM(2,I)=2 GOTO 10 13 IF (TERM(2,I).NE.'4662')GOTO 14 TERM(2,I)=3 GOTO 10 14 IF (TERM(2,I).NE.'4025')GOTO 19 TERM(2,I)=4 GOTO 10 19 TYPE 199 199 FORMAT(' Bad type code, try again ') GOTO 8 10 CONTINUE TYPE 21 21 FORMAT(' ******** sorry 16 plotting terminals is it*********') C C C HAVE FILLED IN PLOTTING TERMINAL INFORMATION C NOW START GENERATING COMMON MACRO SUBROUTINE C C 20 INPLT=I-1 CLOSE(UNIT=5) C C OPEN(UNIT=1,NAME='PLTDEV.MAC') C C WRITE(1,100)"11,"11,"11,ITERMN 100 FORMAT(1X,A1,'.TITLE PLTDEV PLOTTER DEVICE COMMONS'/ 11X,A1,'.PSECT TYPE RW,GBL,OVR,D,REL'/ 21X,'; This is type definition common for PSEUDO'// 31X,A1,'.WORD ',O4//) DO 101 I=0,ITERMN 101 IT(I)=0 DO 102 I=1,INPLT 102 IT(IFIX(TERM(1,I)))=TERM(2,I) J=ITERMN/8 DO 110 K=1,J KK=(K-1)*8 WRITE(1,111)"11,(IT (I),I=KK,KK+7) 111 FORMAT('$',A1,'.WORD ',7(O2,','),O2$) 110 WRITE(1,112)KK,KK+7 IF ((J*8).EQ.ITERMN+1)GOTO 120 WRITE(1,111)"11,(IT(I),I=J*8,ITERMN) WRITE(1,112)J*8,ITERMN 112 FORMAT('+'T8,'; TERMINAL ',O3,'-',O3) C C C 120 CONTINUE WRITE(1,130)"11 130 FORMAT(1X,A1,'.PSECT TABLE,RW,GBL,OVR,D,REL'/ 11X,'; COMMON FOR HCMAG'//) DO 201 I=0,ITERMN 201 IT(I)=0 DO 202 I=1,INPLT 202 T(IFIX(TERM(1,I)))=AMAG(IFIX(TERM(2,I))) J=ITERMN/8 DO 210 K=1,J KK=(K-1)*8 WRITE(1,211)"11,(T (I),I=KK,KK+7) 211 FORMAT('$',A1,'.FLT2 ',7(F6.4,','),F6.4$) 210 WRITE(1,112)KK,KK+7 IF ((J*8).EQ.ITERMN+1)GOTO 220 WRITE(1,211)"11,(T(I),I=J*8,ITERMN) WRITE(1,112)J*8,ITERMN 220 CONTINUE CLOSE(UNIT=1) OPEN(UNIT=1,NAME='HCSDEV.MAC') WRITE (1,300)"11 300 FORMAT(1X,A1,'.PSECT BUFNUM,RW,D,GBL,REL,OVR'/ 11X,'; THIS IS COMMON FOR GEBUDA'//) DO 301 I=0,ITERMN 301 IT(I)=-1 DO 302 I=1,INPLT 302 IT(IFIX(TERM(1,I)))=I-1 J=ITERMN/8 DO 310 K=1,J KK=(K-1)*8 WRITE(1,311)"11,(IT(I),I=KK,KK+7) 311 FORMAT('$',A1,'.BYTE ',7(I2,'.,'),I2,'.'$) 310 WRITE(1,112)KK,KK+7 IF ((J*8).EQ.ITERMN+1)GOTO 320 WRITE(1,311)"11,(IT(I),I=J*8,ITERMN) WRITE(1,112)J*8,ITERMN WRITE(1,315)"11 315 FORMAT(1X,A1,'.EVEN') C C 320 CONTINUE WRITE(1,400)"11 400 FORMAT(1X,A1,'.PSECT IPLTR,RW,D,GBL,OVR,REL'/ 11X,'; THIS COMMON IS AREA FOR HCS DATA STORAGE ARRAY IPLTR'//) IJ=31*INPLT WRITE(1,410)"11,IJ 410 FORMAT(1X,A1,'.BLKW ',I8,'. ;STORAGE FOR IPLTR') C C C WRITE(1,500)"11 500 FORMAT(1X,A1,'.PSECT ITERM,RW,D,GBL,OVR,REL'/ 11X,'; THIS IS COMMON FOR LUN INFORMATION FOR HCS'//) WRITE(1,510)"11,INPLT 510 FORMAT(1X,A1,'.WORD ',O4,' ;MAX NUMBER OF PLOTTING TERM') DO 520 I=1,INPLT 520 IT(I)=TERM(1,I) WRITE(1,530)"11,(IT(I),I=1,INPLT) 530 FORMAT(1X,A1,'.WORD ', 116(O2,',')) C C C CLOSE(UNIT=1) OPEN(UNIT=1,NAME='HCSTKB.CMD') WRITE(1,600) 600 FORMAT(' HCS/SL,HCS/-SP=HCS/MP'/ 1' TASK=...HCS'/) WRITE(1,610)INPLT+1 610 FORMAT(' UNITS=',I3) DO 620 I=1,INPLT+1 620 WRITE(1,630)I 630 FORMAT(' ASG=SY:',I2) CLOSE(UNIT=1) OPEN(UNIT=1,NAME='HCSGET.TEC') WRITE(1,710)"33,"33 710 FORMAT(' EB HCSGET.FTN',A1,'P'A1) WRITE(1,700)"33,INPLT+1,"33,"33,"33 700 FORMAT(1X,'SUNIT=',A1,'2DI',I2,A1,'EX',A1,A1) CLOSE(UNIT=1) 999 STOP END