Converting 9-track tapes to CD-ROM

Converting 9-track tapes to CD-ROM

Post by Russel Dalenbe » Wed, 27 Sep 1995 04:00:00

This may not be the best place to ask this, but I wasn't sure where else
to go.

I have a number of 9-track tapes that I would like to have converted to
a CD-ROM so that I can access the files on my PC running Linux.  Does
anyone know where I could find a service that could do this for me?  The
tapes are in tar and cpio formats.

Russel Dalenberg


1. Q:Reliable detection of end-of-tape on 9-track tape (HP/UX)

Hi there!

Can anyone recommend a reliable algorithm for spanning data onto multiple
tape volumes?  I am working on a program that writes large files (80 Meg+)
to 9 track tapes.  The program is being developed on HP/UX v10.2.  The
resulting tapes are to be read on IBM mainframes.  The problems start
when I run out of tape and need another reel.  Here is the algorithm I am
using to process the end-of-tape:

        1. when EOT is hit write() fails and errno is set to ENOSPC
        2. make the last block 1 record shorter (the program works with
           fixed size records blocked by n)
        3. try to write() the block again; if ENOSPC then repeat step 2
        4. write tapemark(s)

The algorithm becomes slightly more complicated when I need to write IBM
tape labels, but it's not that important.  The major problems I have
encountered so far are outlined below:

        1. the EOT flag doesn't clear even after the tape is backspaced
           far enough to successfully write the last block and tapemarks.
           For the sake of experiment I once tried to backspace until it
           clears and it took about 20 blocks 10000 bytes each before it
           cleared.  I check the EOT flag with ioctl(MTIOCTGET) then
           GMT_EOT on the generic device status word.  Is there a way to
           "clear" the EOT flag?  (note: I do call ioctl(MTIOCTGET) after
           backspacing and before attempting new writes -- if I don't
           the write() fails with errno=EIO)

        2. because of the way the EOT flag "behaves" I cannot detect the
           "real" EOT reliably.  For example:

                1. write() fails with errno=ENOSPC; the EOT flag is set
                2. the last block is made shorter and written to tape
                   with no problem
                3. the attempt to write a tapemark (ioctl(MTIOCTOP),
                   command=MTWEOF) fails with errno=EIO

Has anyone ever dealt with a similar problem?  Please share your
expertise.  Any help on the matter will be highly appreciated!  Also, if
you can recommend a book that covers UNIX tape device handling in more
detail then the "Advanced Programming In The UNIX Environment" please
do so.

Many thanks in advance,

2. dtterm colornames

3. 9-track (1/2 in) tape players for Unix Workstations

4. Searching Backup system for our Network

5. Supported 9-track Open Reel & 3480 Tape drives

6. Kernel Panic for newly compiled 1.2.0

7. 9-track tape drive and driver

8. ap_bgets error in Apache 1.3.3 with proxy

9. ANSI Labels for 9-track tapes

10. 9-track tape drive wanted!!!

11. 9-Track Tape / PCTD

12. hardware documentation for IBM 9-track tape

13. Emerald 1/2 inch 9-track tape drive & xenix: migration to OSR5 question