SUBROUTINE INIT (OK) C C C C AUTHOR: C PAUL D. CLAYTON C REPUBLIC MANAGEMENT SYSTEMS INC. C ONE NESHAMINY INTERPLEX, SUITE 306 C TREVOSE, PA. 19044 C C ******************************************************* C * * C * * C * * C * DIRECT INQUIRIES TO: * C * * C * PAUL D. CLAYTON * C * REPUBLIC MANAGEMENT SYSTEMS * C * ONE NESHAMINY INTERPLEX, SUITE 306 * C * TREVOSE, PA. 19044 C * * C * NO WARRANTY OR REPRESENTATION, EXPRESS OR * C * IMPLIED, IS MADE WITH RESPECT TO THE * C * CORRECTNESS, COMPLETENESS, OR USEFULNESS * C * OF THIS SOFTWARE, NOR THAT USE OF THIS * C * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * C * OWNED RIGHTS. * C * * C * NO LIABILITY IS ASSUMED WITH RESPECT TO * C * THE USE OF, OR FOR DAMAGES RESULTING FROM * C * THE USE OF THIS SOFTWARE * C * * C ******************************************************* C * * C * THIS SOFTWARE WAS DESIGNED FOR USE ON A * C * PDP-11/70 OPERATING UNDER IAS V3.0. * C * * C ******************************************************* C C C THIS ROUTINE WILL INITIALIZE A FEW VARIABLES FOR THIS PROGRAM C TO USE. C C INTEGER MAXBCT,BYTCNT INCLUDE 'RT11.COM' !GO GET THE COMMON VARIABLES INCLUDE 'QIOSYS.FTN' INCLUDE 'TAPEPARMS.FTN' C C INIT. SOME OF THE VARIABLES C MAGLU = 1 !LOGICAL UNIT NUMBER OF MAGTAPE UNIT INPLU = 2 !LOGICAL UNIT NUMBER FOR FILE NAME FILE IDATLU = 3 !LOGICAL UNIT NUMBER FOR INPUT DATA FILE CURKT = 1 !BUFFER POINTER USED IN 'MOVIT' BLKKT = 0 !BLOCK COUNTER DO 100 I=1,512 100 BUFF(I) = "00 !CLEAR THE BUFFER WITH NULLS C C C TRY TO ASSIGN A MAGTAPE UNIT TO A LOGICAL UNIT NUMBER C C D WRITE (5,110) D 110 FORMAT (1X,'CHECKING THE DEVICE NAME') IF ( IDEV.EQ.0 ) IDEV=DFTAPE !IF NONE SPEC. USE DEFAULT IF ((IDEV.EQ.2HMM) .OR. (IDEV.EQ.2HMT)) GOTO 150 120 CONTINUE WRITE (5,130) 130 FORMAT (/,' ILLEGAL TAPE DEVICE NAME. MUST BE MM OR MT.') 140 CONTINUE OK = -1 ! SHOW ERROR OCCURED RETURN ! BACK TO CALLER C 150 CONTINUE D WRITE (5,160) D 160 FORMAT (1X,'CHECKING DEVICE UNIT NUMBER') IF (IDNM.EQ.0) IDNM = 48 + DFUNIT IDNM = IDNM - 48 D WRITE (5,170)IDNM D 170 FORMAT (1X,'DEVICE NUMBER IN OCTAL IS = ',O6) IF ((IDNM.GE.0).AND.(IDNM.LE.7)) GOTO 190 !CHECK FOR LEGAL RANGE WRITE (5,180) 180 FORMAT (/,' ILLEGAL DEVICE UNIT NO. MUST BE 0 TO 7.') GOTO 140 !BLAST OUT 190 CONTINUE C D WRITE (5,200) IDEV,IDNM D 200 FORMAT (1X,'DEVICE NAME = ',1A2,' DEVICE NUMBER = ',O6, D - ' AT ASSIGN LUN COMMAND') C CALL ASNLUN (MAGLU,IDEV,IDNM,ISW) !GO ASSIGN LUN TO MAGTAPE D WRITE (5,210)ISW D 210 FORMAT (1X,'ISW AFTER ASNLUN = ',I6) IF (ISW.GE.0) GOTO 230 !IF OK - SKIP OVER WRITE (5,220) 220 FORMAT (/,' CAN NOT ASSIGN LOGICAL UNIT NUMBER TO DEVICE.') GOTO 140 !GO TO ERROR RETURN C C C TRY TO SETUP TAPE CHAR. AND REWIND TAPE C 230 CONTINUE ICHARC="000 IF ( (ISWIT.AND.IPESW) .NE. 0 ) ICHARC = ICHARC .OR. "4000 !1600 BPI CALL ATTAPE (MAGLU,ICHARC,ICHARC,ISTAT,ISW) IF ( ISTAT(1).GE.0 .AND. ISW.GE.0 ) GOTO 260 !CHECK FOR SUCCESS WRITE (5,240) 240 FORMAT (/,' CAN NOT ATTACH THE TAPE UNIT AND/OR SET THE CHAR.') GOTO 140 D WRITE (5,250) ISTAT D 250 FORMAT(2X,'ISTAT = ',2O6) C C C CHECK FOR BOT C C 260 CONTINUE CALL TREWND (MAGLU,ISTAT,ISW) IF ( ISTAT(1).GE.0 .AND. ISW.GE.0 ) GOTO 280 !CHECK FOR SUCCESS WRITE (5,270) 270 FORMAT (/,'ERROR REWINDING THE TAPE UNIT.') GOTO 140 C 280 CONTINUE IF ( (ISWIT.AND.IOUSW) .EQ. 0 ) GOTO 290 !IF NOT OUTPUT- SKIP OPEN (UNIT=INPLU,NAME='RT.DAT',TYPE='OLD',ERR=300) 290 CONTINUE CALL GETDAT OK = 0 ! SHOW SUCCESS ( WEEEEOOOO ) RETURN C C GET HERE IF ERROR ON OPEN OF FILE NAME INPUT C 300 CONTINUE WRITE (5,310) 310 FORMAT (1X,'CAN NOT OPEN THE FILE CONTAINING INPUT FILE SPECS',/ - 1X,'FILE NAME = ''RT.DAT'' ') CALL DTTAPE (MAGLU) OK = -1 ! SHOW ERROR RETURN ! BACK TO CALLER C C END