Google
 

Trailing-Edge - PDP-10 Archives - k20v7d - uetp/lib/mtabak.for
There are 18 other files named mtabak.for in the archive. Click here to see a list.
C THIS TEST CAME FROM THE EXERCISER ON OCTOBER 12,1977
CTHIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
C  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
C
CCOPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
C
C			MTABAK.FOR

CMAGTAPE TESTING. WRITES OUT IFILE NUMBER OF FILES ON MAGTAPE
C  "DEV". THE FILES ARE INTEGER ASCII OF THE SIZE IMAX*JMAX
C   WHERE IMAX AND JMAX ARE READ IN AT RUNTIME FROM FILE PARAMS.DAT
C   ON UNIT 1.  DEV IS ALSO READ FROM  PARAMS

	DIMENSION IARRAY(10,10),JARRAY(10,10)
	IMAX=10
	JMAX=10
	DEV='MAG'
	WRITE(5,12345)
12345	FORMAT(' ENTER NUMBER OF FILES TO USE IN TEST (XXXXX):')
	READ (5,12346) IFLMAX
12346	FORMAT(I5)


	DO 100 I=1,IMAX
	DO 100 J=1,JMAX
	IARRAY(I,J)=I*JMAX+J-JMAX
100	CONTINUE

	OPEN(UNIT=1,DEVICE=DEV)
	REWIND 1

	DO 300 IFILE=1,IFLMAX
	OPEN(UNIT=1,DEVICE=DEV)

	DO 200 I=1,IMAX
	WRITE(1,910)IFILE,(IARRAY(I,J),J=1,JMAX)
200	CONTINUE

	ENDFILE 1
	NOW=300
	TYPE 960,NOW
300	CONTINUE

C   DEV SHOULD BE POSITIONED AT END OF LAST FILE REQUESTED.
C   WILL READ THROUGE DEV BACKWARDS A FILE AT A TIME, THE FILES
C   THEMSELVES READ FORWARD.

	DO 500 IFL=IFLMAX,1,-1
	TYPE 950,IFL
	BACKFILE 1
	TYPE 951

	DO 400 I=1,IMAX
	READ(1,910,END=840,ERR=850)JFILE,(JARRAY(I,J),J=1,JMAX)
	TYPE 952,IFL,I,JFILE,JARRAY(I,1)
	IF(JFILE.EQ.IFL) GO TO 444
	WRITE(5,1020)
	WRITE(5, 920)DEV,JFILE,IFL
	WRITE (5,1030)
	GO TO 500

444	NOW=400
	TYPE 960,NOW
400	CONTINUE
	NOW=500
	TYPE 960,NOW
500	CONTINUE
599	GO TO 9999


C   END= COMES HERE
840	WRITE(5, 1020)
	WRITE (5,990) DEV
	WRITE(5, 1010)IFL,JFILE,I,J,JARRAY(I,J)
	WRITE (5,1030)
	GO TO 9999

C   ERR= COMES HERE
850	OPEN(UNIT=2,DEVICE='DSK',FILE='MTA.ERR',ACCESS='APPEND',
	1 RECORD SIZE=240)
	WRITE(5, 1020)
	WRITE (5, 1000) DEV
	WRITE(5, 1010)IFL,JFILE,I,J,JARRAY(I,J)
	WRITE (5,1030)
	GO TO 9999


910	FORMAT(I5,(10I5))
920	FORMAT(' 	BACKSPACE FILES ON ',A5,' FAILED'/
	1 '	FILE ',I5,' FOUND, FILE ',I5,' EXPECTED.')
930	FORMAT(' ?***** ***** REWIND DIDNOT END UP AT FIRST 
	1 FILE ON ',A5)
940	FORMAT(' ?***** ***** SKIP RECORD PROBLEM ON ',A5)
950	FORMAT(' IFL=',I5,' BACKFILE')
951	FORMAT(' OK')
952	FORMAT(' IFL=',I5,'I=',I5,'JFILE=',I5,'ARRAY=',I5)
960	FORMAT(' NOW=',I5)
961	FORMAT(' 800 DONE, IFL=',I5,' I=',I5,' J=',I5)
962	FORMAT(' 820 DONE, K= ',I5)
970	FORMAT(' ?***** ***** SKIP FILE ERROR ON',A5,/
	1 T13,'EXPECTED FILE NUMBER',I5,/
	2 T13,'FOUND FILE NUMBER   ',I5)
980	FORMAT(' ?***** ***** FORTRAN SKIP FILE MTA ERROR ON ',A5/
	1 T13,'WHILE READING FILE NUMBER ',I5/
	2 T13,' DURING ARRAY READ, COMPARING INPUT WITH ARRAY WRITTEN'/
	3 T13,'RECORD ',I5,'ITEM ',I5/
	4 T13,'EXPECTED VALUE ',I5,'FOUND 'I5/
	5 T13,'ARRAY IS',I5,' BY',I5/' ***** *****')
990	FORMAT ( ' 	"END=" ON ',A5)
1000	FORMAT ( ' 	"ERR=" ON ',A5)
1010	FORMAT(' 	EXPECTED FILE NUMBER ',I5,' FOUND',I5/
	1 ' RECORD',I5,' ITEM ',I5,' VALUE ',I5)

1020	FORMAT (' ++++	TEST MTABAK.FOR - BACKSPACE FILE TEST ++++')
1030	FORMAT (' ++++	[END OF MTABAK.FOR ERROR]	      ++++'/)
9999	END