I have a bunch of TK50 and TK70 tapes that I want to archive. But of course my uVax II doesn't have enough disk space - even with a pertty good sized SMD disk with an MSCP-emulating controller, and besides, copying save sets under VMS is something of a non-starter, as RMS gets in the way. (So, plan A failed)
Enter the qbone....
Plan B was to use my qbone (new dual card) to read the tape using a Unix-like OS, and the 4.3BSD-Quasijarus that is among the images fills the bill. With that I am able to read a TK50 tape or TK70 tape using my TK70 drive - and it streams very well, onto a virtual RA92. (It is then faster to SCP that entire image to my PC, and then use simh to FTP the tape image to a linux box than it is to FTP it directly from the uVax II. (So, plan B succeeded.). But for a while Plan B looked troublesome for a while because while I could get NBSD10.1 to run under simh set to 16MB of memory and start booting on my real uVax II, it looks like the latter, at 10MB, just doesn't have enough memory - it stalls out during the boot.
While plan B looked bleak, I also acquired a nice working TZ87 I have hooked up to the linux box I have that I use with my 9Track tape drive, and also capture TK50 and TK70 images with that. (Plan C).
So, then while waiting for delivery of the drive, I tried the NetBSD 4.3 Quasijaurus image already there on the qbone (after copying it down to my PC and tweaking it some under SimH). That worked fine.
And, lo and behold, the images from Plan B and Plan C end up as identical, and VMS is perfectly happy with the one I tested - a VMS 4.5.3 update tape.
Funny story. years ago I wrote a program on Linux called awstape that I use to capture 9 track tape images (and I have an awstosimh program to make simH tapes). That program required adjustment to get it to run under Quasijaurus. But one difference puzzled me for an hour or so:
Of course under linux one has:
main (int argc, char *argv[]) { ... }
So I tried the following, forgetting my C history:
main (argc, argv) {
int argc;
char **argv;
....
}
Funny thing - my program couldn't get its parameters. ;) I had forgotten that in the old days, the parameter type declarations came BEFORE the braces, like so:
main(argc, argv)
int argc;
char *argv;
{ ... }
So my declaration effectively made the actual parameters to main invisible. A bit embarrassing, since I cut my K&R "C" teeth on real AT&T Unix 6th edition on a PDP-11/45 and then 7th edition on a PDP-11/70.
I also hope to use the qbone to try and image the SMD disk on this machine and a similar disk on another uVax II that has some unknown unix system on it, but it will be a little tricky as a few blocks have gone bad that I will have to substitute something for, so the blocks end up in the right place. If there are not *too* many I can do it with dd, otherwise I'll need to write something.
JRJ