[fa.info-vax] Problems writing /FOREIGN tapes

info-vax@ucbvax.ARPA (06/27/85)

From: Kevin Carosso <engvax!KVC@cit-vax>

I'm having some really wierd problems trying to write a foreign tape.
I keep getting "Bad parameter value" from the QIO system service when
using the COPY command to copy a bunch of files onto a /FOREIGN magtape.
It has the default record and blocksize.  Some files work fine, others
do not.  I cannot see any difference in the files except that they all
have different max record lengths, and some are contiguous-best-try.  But,
there is nothing in their attributes that I can see that correlates with
the ones that write to the tape.  This is with VMS V4.1.  All the files
are standard text files...

Anyone know what the restrictions are on writing a /FOREIGN tape?  Why do
some of these files work and others not work?  I tried pulling a file into
EDT, writing it back out with no changes and copying it to the tape, but that
did not help.

	/Kevin Carosso           engvax!kvc @ CIT-VAX.ARPA

info-vax@ucbvax.ARPA (07/01/85)

From: goldstein%star.DEC@decwrl.ARPA  (Andy Goldstein)

If you mount a tape /FOREIGN with all the defaults, RMS treats it as
an unblocked tape. This means that when you COPY a file to the tape,
each record in the file ends up as a separate block on the tape.
Dating back from the old NRZI days, the ANSI tape standard says there
shall be no tape records shorter than 18 bytes, shorter records being
presumed to be noise bursts. The VMS (and most other DEC) tape driver
enforces a minimum of 14 bytes, because that's what DOS file labels
were (more ancient history). So anyway, you get the error if the file
contains any lines shorter than 14 characters. COPY could pad the
lines, but then it would have to be told what to pad them with, how
would you unpad them on the other end, and there's much other
ugliness involved. If you mount the tape with /RECORD=n, then RMS
treats the tape as blocked fixed length records of length n. This may
or may not be useful, depending on what you're trying to accomplish.