	BYTE FILLIN(90)
	INTEGER*2 IFN1,IFN2
C	THIS PROGRAM WILL ACCEPT A FILENAME ON THE PDP11 AND GENERATE
C	A DATA-GENERAL FORMAT TAPE. ALL RECORDS WRITTEN TO THE TAPE WILL
C	BE 85 CHARACTERS LONG (TEXT<CR><NULL,NULL,NULL,NULL>) AND BE
C	FOLLOWED BY 2 WORDS OF FILE NUMBER. LEGAL FILE NUMBERS ARE IN
C	THE RANGE 0-99 BUT THIS WILL NOT BE CHECKED. FOR THE MOMENT, THE
C	ASSUMPTION IS THE FILE NUMBERS ARE BOTH BINARY AND IDENTICAL.
	BYTE RECBUF(514),TEXT(85,6)
	EQUIVALENCE (RECBUF(1),TEXT(1,1)),(IFN1,RECBUF(511))
	EQUIVALENCE (IFN2,RECBUF(513))
C	FIRST POSITION TO BEGINNING OF DESIRED FILE
	WRITE (5,1)
1	FORMAT (' ENTER DESIRED FILE NUMBER,I2 ')
	WRITE (5,2444)
2444	FORMAT(' FILE NUMBER NEGATIVE MEANS NO POSITIONING,',
     1  ' POSITIVE WILL POSITION TAPE')
	READ (5,2)IFN1
2	FORMAT(I2)
	IFN2=IFN1
	IF (IFN1.LT.0) IFN1=0
	IF (IFN1.GT.0)
	CALL MREWIN
	DO (N=1,IFN1)
	CALL MSKIPF(1)
	FIN
	FIN
C	TAPE SHOULD BE POSITIONED CORRECTLY NOW. NOTE NO REWIND.
	IF (IFN2.LT.0)
	WRITE(5,3)
3	FORMAT(' ENTER DESIRED FILE NO., NO POS.')
	READ(5,2)IFN1
	FIN
	IFN2=IFN1
C	IF HE ENTERS A NEGATIVE FILE NUMBER ALLOW HIM TO WRITE TO TAPE
C	WITHOUT POSITIONING FIRST. NOTE WE WRITE 2 EOF AND BACKSPACE
C	OVER THE LAST TO COMPLETE A FILE SO EOT IS ALWAYS THERE.
C
C	NOW INITIALIZE OUR POINTERS
C
	IREC=01
	WRITE(5,5)
5	FORMAT(' ENTER FILENAME TO DUMP ')
	CALL GETCML(FILLIN,3HGCD,MCRSZ)
	CALL ASSIGN(1,FILLIN,MCRSZ)
	CALL FDBSET(1,'READONLY','SHARE')
C	LUN 1 NOW IS THE FILE WE ARE WRITING
	DO (IJK=1,32700)
	READ(1,6,ERR=999,END=999)(TEXT(NN,IREC),NN=1,80)
6	FORMAT(80A1)
	TEXT(81,IREC)=13
C	13 IS ASCII C.R.
	DO (NN=82,85)
	TEXT(NN,IREC)=0
	FIN
	IREC=IREC+1
	IF (IREC.GT.6)
C	A BUFFER IS FULL; WRITE IT OUT
	IREC=1
	IFN1=IFN2
C FOR 7 TRACK OUTPUT TO DG SWAP BITS VIA BITSWP TO GET ONTO TAPE AS
C DG EXPECTS.
	CALL BITSWP(RECBUF,514)
	CALL MWRITE(RECBUF,514,IERR)
C	BUFFER NOW WRITTEN. ZERO IT IN CASE NEXT=LAST
	DO (NM=1,510)
	RECBUF(NM)=0
	FIN
	FIN
	FIN
999	CONTINUE
C	ENDFILE PROCESSING. WRITE ENDFILES ON TAPE
C	AND BACK OVER ONE OF TTHEM.
	CALL MWRITE(RECBUF,514,IERR)
	CALL MEOF(1)
	CALL MEOF(1)
	CALL MSKIPR(-1)
C	TAPE NOW HAS A VALID EOT BUT IF MORE IS WRITTEN ONLY 1
C	EOF WILL APPEAR.
	CALL EXIT
	END
