File TAPE.FT (FORTRAN source file)

Directory of image this file is from
This file as a plain text file

C PROGRAM TAPE
C "TAPE" PERFORMS I/O ON THE  DEVICE P1,WITHOUT PRINTING ANY
C CHARACTERS ON THE SCREEN.BECAUSE OF THIS UNUSUAL FEATURE,IT IS
C POSSIBLE TO COMPILE COMPLICATED IMAGES WITHOUT THE INTERFERENCE OF 
C CHARACTERS ON THE SCREEN."TAPE" USES SUBROUTINE CLK TO SIGNAL THE
C OPERATOR CONCERNING THE TYPE OF INPUT IT IS WAITING FOR.
C ONE BELL MEANS THAT THE FILE NAME IS NEEDED.THIS IS A ONE CHARACTER
C FILE NAME,THE REMAINING FIVE CHARACTERS BEING PREDEFINED X'S
C (E.G. AXXXXX.DA).THIS ASSURES LEGAL CHARACTERS IN THE DIRECTORY,AND
C PROVIDES AN EASY METHOD FOR LOCATING DATA FILES,AS OPPOSED TO OBJECT
C FILES.THE SECOND BELL WAITS FOR AN 'R' OR 'W',MEANING READ OR WRITE.
C IF NEITHER OF THESE IS THE RESPONSE,CONTROL DESCENDS TO THE CHAINING
C QUERY.IF THE RESPONSE WAS 'R',THE FILE IS READ AND THE CONTROL GOES
C TO QUERY FOR CHAINING AGAIN.IF THE RESPONSE WAS 'W',THE TERMINAL
C RINGS THREE BELLS SIGNIFYING THE QUESTION 'ARE YOU SURE ?' IF THE
C ANSWER IS NOT 'Y',THE PROGRAM AGAIN ASKS FOR FILE NAME,ETC.IF THE
C ANSWER IS YES,IT WRITES THE FILE ON DEVICE P1,THEN STARTS THE CHAIN
C INQUIRY. FOUR BELLS RING,AND THE AVAILABLE OPTIONS FOR CHAINING TO A
C PROGRAM CONSISTS OF (G,F,D).TWO OTHER OPTIONS ALLOW ALL THE VECTORS
C (AS NUMBERS) TO BE PRINTED OUT (W),OR TO READ ANOTHER FILE (T),SUCH
C AS AFTER DUMPING ONE FILE ON P1 AND THEN READING ANOTHER.
C	G	CHAINS TO GFIC.SV
C	D	CHAINS TO DRAW.SV
C	F	CHAINS TO MODIFY.SV
C	R	READ FILE
C	T	INITIALIZE TABLE,PREPARE TO READ ANOTHER FILE
C	W	WRITE FILE,OR (FOR CHAINING) WRITE ALL POINTS IN TABLE
C	Y	YES RESPONSE TO 'ARE YOU SURE' QUERY FOR WRITING FILE
C FORTRAN II / OPTIONS (IO)
C SR : ALPHA.FT / CLK.FT / RKB.FT
C CH : GFIC.SV / DRAW.SV / MODIFY.SV
C BEARBEITUNG VON DECUS #8-773
	COMMON NTAB,IPT
	DIMENSION NTAB(500,3),IFILE(3)
	CALL ALPHA
1	CALL CLK(1)
	CALL RKB(IFILE(1))
	IFILE(1)=IFILE(1)-8
	IFILE(2)=1560
	IFILE(3)=1560
	CALL CLK(2)
	CALL RKB(ICODE)
	IF (ICODE-1184)2,3,2
2	IF (ICODE-1504)11,7,11
3	CALL IOPEN ('P1',IFILE)
	READ (4,100) NPT
	IPT=IPT+1
	NPT2=IPT+NPT-1
	IF(NPT2-500)5,5,4
4	NPT2=500
5	DO 6 M=IPT,NPT2
	READ (4,101) (NTAB(M,N),N=1,3)
6	CONTINUE
	IPT=NPT2
	GOTO 11

7 CALL CLK(3) CALL RKB(ICODE) IF (ICODE-1632)1,8,1 8 CALL OOPEN ('P1',IFILE) WRITE (4,100) IPT 100 FORMAT (A3) DO 10 M=1,IPT 10 WRITE (4,101) (NTAB(M,N),N=1,3) 101 FORMAT (A2) CALL OCLOSE 11 CALL CLK(4) CALL RKB(ICODE) IF (ICODE-288)12,20,12 12 IF (ICODE-480)13,19,13 13 IF (ICODE-1312)14,18,14 14 IF (ICODE-1504)15,16,15 15 IF (ICODE-416)11,21,11 16 WRITE (1,102)IPT,((NTAB(M,N),N=1,3),M=1,IPT) 102 FORMAT (I4/(3(I4,2X))) GOTO 11 18 IPT=0 GOTO 1 19 CALL CHAIN ('GFIC') 20 CALL CHAIN ('DRAW') 21 CALL CHAIN ('MODIFY') END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search