home *** CD-ROM | disk | FTP | other *** search
- $DEBUG
- PROGRAM INSTALL3
- C
- C ********************************************************
- C * *
- C * INSTALLER CONFIGURATOR FOR PC-CODE3 v1.0 *
- C * (C) COPYRIGHT RICHARD NOLEN COLVARD Apr-86 *
- C * COMMERCIAL RIGHTS RESERVED *
- C * MICROSOFT (MS FORTRAN V3.3) *
- C * *
- C ********************************************************
- C
- INTEGER*2 IERR,ILOW,IHIGH,IFREQ
- CHARACTER*1 IYES,ISEC,ITRANS,IINP,IOUT
- DATA IERR / 0 /
- C
- 5 FORMAT(1X,/)
- WRITE(*,5)
- WRITE(*,10)
- 10 FORMAT(10X,'PC-CODE3 INSTALLER/CONFIGURATOR v1.0',//)
- 20 FORMAT(10X,'(c) Copyright R. Nolen COLVARD Company 1986')
- 22 FORMAT(10X,' Commercial Rights Reserved')
- 24 FORMAT(10X,'(c) Copyright Microsoft Corp 1985')
- 26 FORMAT(10X,' Microsoft FORTRAN V3.3',//)
- WRITE(*,20)
- WRITE(*,22)
- WRITE(*,24)
- WRITE(*,26)
- C
- C
- OPEN(9,FILE='CONFIG.PC3',FORM='FORMATTED',ACCESS='SEQUENTIAL',
- + STATUS='NEW',IOSTAT=IERR)
- C
- C
- 30 FORMAT(5X,'*** PROBLEM CREATING "config.pc3" CANNOT CONTINUE')
- 40 FORMAT(5X,' SESSION ABORTED; CANNOT CONTINUE',//)
- IF (IERR .GT. 0) THEN
- WRITE(*,30)
- WRITE(*,40)
- STOP 99
- ENDIF
- C
- C
- 49 WRITE(*,5)
- 50 FORMAT(5X,'ENTER SECURITY MODE (1 to 3) FOR ALGORITHM TO USE')
- 55 FORMAT(5X,' PLEASE ENTER "1" OR "2" OR "3" ')
- WRITE(*,50)
- WRITE(*,55)
- READ(*,60) ISEC
- IF ( (ISEC .LT. '1') .OR. (ISEC .GT. '3') ) GOTO 49
- 60 FORMAT(A1)
- WRITE(9,70) ISEC
- 70 FORMAT(A1,12X,'<------- SECURITY ALGORITHM')
- C
- C
- 54 WRITE(*,5)
- 51 FORMAT(5X,'READ KEYS FROM A FILE (Yes or No)')
- 52 FORMAT(5X,' PLEASE ENTER "Y" OR "N" ')
- WRITE(*,51)
- WRITE(*,52)
- READ(*,60) IYES
- IF (IYES .EQ. 'y') IYES = 'Y'
- IF (IYES .EQ. 'n') IYES = 'N'
- IF ( (IYES .NE. 'Y') .AND. (IYES .NE. 'N') ) GOTO 54
- WRITE(9,53) IYES
- 53 FORMAT(A1,12X,'<------- KEYS TO BE READ FROM A FILE')
- C
- C
- 79 WRITE(*,5)
- 80 FORMAT(5X,'ENTER IF TRASPOSITION (SCRAMBLING) IS REQUIRED')
- 85 FORMAT(5X,' PLEASE ENTER "Y" OR "N" ')
- WRITE(*,80)
- WRITE(*,85)
- READ(*,60) ITRANS
- IF (ITRANS .EQ. 'y') ITRANS = 'Y'
- IF (ITRANS .EQ. 'n') ITRANS = 'N'
- IF ( (ITRANS .NE. 'Y') .AND. (ITRANS .NE. 'N') ) GOTO 79
- WRITE(9,90) ITRANS
- 90 FORMAT(A1,12X,'<------- TRANSPOSITION')
- C
- C
- 99 WRITE(*,5)
- 100 FORMAT(5X,'ENTER THE LOWEST RANGE OF ASCII CHARACTER NUMBER')
- 105 FORMAT(5X,' LOWER LIMIT IS 0; RECOMMEND 32 AS LOWEST')
- WRITE(*,100)
- WRITE(*,105)
- READ(*,110) ILOW
- IF (ILOW .LT. 0) GOTO 99
- IF (ILOW .GT. 128) GOTO 99
- 110 FORMAT(I3)
- WRITE(9,115) ILOW
- 115 FORMAT(I3,10X,'<------- LOWEST ASCII CHARACTER')
- C
- C
- 119 WRITE(*,5)
- 120 FORMAT(5X,'ENTER THE HIGHEST RANGE OF ASCII CHARACTER NUMBER')
- 125 FORMAT(5X,' UPPER LIMIT IS 255; RECOMMEND 125')
- WRITE(*,120)
- WRITE(*,125)
- READ(*,110) IHIGH
- IF (IHIGH .GT. 255) GOTO 119
- IF (IHIGH .LT. ILOW) GOTO 119
- WRITE(9,130) IHIGH
- 130 FORMAT(I3,10X,'<------- HIGHEST ASCII CHARACTER')
- C
- C
- 139 WRITE(*,5)
- 140 FORMAT(5X,'ENTER THE WHETHER A FILE HEADER IS TO BE USED')
- 145 FORMAT(5X,' THIS SIGNIFIES ENCODED FILES FOR SAFETY SAKE')
- 147 FORMAT(5X,' PLEASE ENTER "Y" OR "N" (YES OR NO)')
- WRITE(*,140)
- WRITE(*,145)
- WRITE(*,147)
- READ(*,60) IYES
- IF (IYES .EQ. 'y') IYES = 'Y'
- IF (IYES .EQ. 'n') IYES = 'N'
- IF ( (IYES .NE. 'Y') .AND. (IYES .NE. 'N') ) GOTO 139
- WRITE(9,150) IYES
- 150 FORMAT(A1,12X,'<------- ENCODED FILE HEADER')
- C
- C
- 159 WRITE(*,5)
- 160 FORMAT(5X,'PUT A HASH (CRC) COUNT TO VERIFY A CORRECT KEY')
- 165 FORMAT(5X,' THIS APPLIES ONLY TO ENCODED FILES')
- 170 FORMAT(A1,12X,'<------- KEY HASK (CRC) CHECK')
- WRITE(*,160)
- WRITE(*,165)
- WRITE(*,147)
- READ(*,60) IYES
- IF (IYES .EQ. 'y') IYES = 'Y'
- IF (IYES .EQ. 'n') IYES = 'N'
- IF ( (IYES .NE. 'Y') .AND. (IYES .NE. 'N') ) GOTO 159
- WRITE(9,170) IYES
- C
- C
- WRITE(*,5)
- 200 FORMAT(5X,'ENTER FREQUENCY PERIOD FOR DEAL/TRANSPOSITION')
- 210 FORMAT(5X,' RECOMMEND 4 TO 12 AS FREQ')
- WRITE(*,200)
- WRITE(*,210)
- READ(*,110) IFREQ
- WRITE(9,215) IFREQ
- 215 FORMAT(I3,10X,'<------- FREQ/PERIOD FOR TRANSPOSITIONS')
- C
- C
- 299 WRITE(*,5)
- 300 FORMAT(5X,'DISPLAY ON TERMINAL ALL INPUT (Yes or No)')
- 310 FORMAT(5X,' ENTER "Y" OR "N" ')
- WRITE(*,300)
- WRITE(*,310)
- READ(*,60) IINP
- IF (IINP .EQ. 'y') IINP = 'Y'
- IF (IINP .EQ. 'n') IINP = 'N'
- IF ( (IINP .NE. 'Y') .AND. (IINP .NE. 'N') ) GOTO 299
- 315 FORMAT(A1,12X,'<------- DISPLAY ALL INPUT ON TERMINAL')
- WRITE(9,315) IINP
- C
- C
- 399 WRITE(*,5)
- 400 FORMAT(5X,'DISPLAY ON TERMINAL ALL OUTPUT (Yes or No)')
- 410 FORMAT(5X,' ENTER "Y" OR "N" ')
- WRITE(*,400)
- WRITE(*,410)
- READ(*,60) IOUT
- IF (IOUT .EQ. 'y') IOUT = 'Y'
- IF (IOUT .EQ. 'n') IOUT = 'N'
- IF ( (IOUT .NE. 'Y') .AND. (IOUT .NE. 'N') ) GOTO 399
- 415 FORMAT(A1,12X,'<------- DISPLAY ALL OUTPUT ON TERMINAL')
- WRITE(9,415) IOUT
- C
- C
- C
- WRITE(*,5)
- CLOSE(9)
- 900 FORMAT(2X,//,5X,'*** Installation/Configuration COMPLETED ***',//)
- WRITE(*,900)
- STOP
- END