Fred N. van Kempen wrote:
On Tue, 13 Jan 2004, Zane H. Healy wrote:
The OS is RSTS/E and the tape is ANSI, at least I
think it's ANSI and not DOS, I'd have to check to be positive. This much I do
know, I've converted the TPC file to a SIMH TAP file, and read it without any problem
under E11 and SIMH. I've even used E11 to convert it to a RSX TAP image, which
I've written to 4mm DAT on the same drive, and I can't read it. I've also
taken the TPC file and written it on VMS on the same model DAT drive.
What really mystifies me is that I'm able to read the tape without any problem using
E11 running RSTS/E. Yet, I can't read either DAT tape that I've made. I've
been able to read other tapes made this way just fine.
Beware that *many* DDS1 drives cannot do variable-sized blocks very
well... if memory serves me right, RSTS BACKUP format uses many
block sizes in a single backup file:
80 - ANSI header
14 - RSTS file header
1024
2048\__ data block sizes, often +4
4096/
8192
This might be your problem.. even though the tape image is
fine, the drive doesnt let you use arbitrary block sizes.
This may or may not apply to your drive.. Nico might know
more about this- I just ran into this when writing an ASPI
layer for my software... I was unable to tell the DDS drive
to switch to 64-byte blocks.. it insisted on 512-b blocks.
Cheers,
Fred
Write a Quick & dirty program to read the blocks, printing out
the size of each one. Something roughly like (not tested)
10 open "mu0:" for input as file 5%
20 get #5%
30 print recount
40 goto 20
99 end
look at the sizes reported. You will probably get an error
for the EOF markers, but we are mostly interested in the beginning
of the tape. Should be something like "80 80 512 512 512 ... EOF"
for an ANSI tape, or "14 512 512 512...EOF" for a DOS tape.
If it begins with >80 character blocks, you're missing the headers.
If you need to read past EOF's, try
10 open "mu0:" for input as file 5%
15 on error goto 80
20 get #5%
30 print recount
40 goto 20
80 print "[EOF]"
90 resume 20
99 end
Be prepared to kill it, because it will skip all errors. (It's a really
dumb program)
You may also want to try (this is from memory, so may be wrong)
I can't remember if this was at DCL or at the basic prompt.
$ assign mu0:.ansi
or
$ assign mu0:.dos
to force the tape format before trying to get a dir.
I think "$mount/format=ansi" or "$mount/format=dos"
will also do it too.