Is there a way in MPE to copy a tape from one drive to another drive?
Stan Sieler, co-founder of Allegro Consultants, gives both long and short answers to this fundamental question. (Turns out one of the answers is to look to Allegro for its TapeDisk product, which includes a program called TapeTape.)
Short answer: It’s easy to copy a tape, for free, if you don’t care about accuracy/completeness.
Longer answer: There are two “gotchas” in copying tapes ... on any platform.
Gotcha #1: Long tape records
You have to tell a tape drive how long a record you with to read. If the record is larger, you will silently lose the extra data.
Thus, for any computer platform, one always wants to ask for at least one byte more than the expected maximum record — and if you get that extra byte, strongly warn the user that they may be losing data. (The application should then have the internal buffer increased, and the attempted read size increased, and the copy tried again.)
One factor complicates this on MPE: the file system limits the size of a tape record you can read. STORE, on the other hand, generally bypasses the file system when writing to tape and it is willing to write larger records (particularly if you specify the MAXTAPEBUF option).
Gotcha #2: Setmarks on DDS tapes
Some software creates DDS tapes and writes “setmarks” (think of them as super-EOFs). Normal file system access on the 3000 will not see setmarks, nor be able to write them.
Our TapeDisk product for MPE/iX (which includes TapeTape) solves both of the above problems. As far as I know, it’s the only program that can safely and correctly copy arbitrary tapes on an HP 3000.