                         ODS2               April '98


Say, what is this?
   ODS2 is a program to read VMS disk volumes written in 
   ODS2 format.

Why bother?
   Well sometimes it is convenient to see what is on a
   VMS CD, or copy files from VMS disk on another platform.
   Maybe in future it could be used as a basis for a PC
   Bookreader program? 

What other platforms?
   ODS2 is written in 'Standard C' with the intent that it can
   be compiled and run on non-VMS systems. However this requires
   a C compiler which has 32 bit 'int' types, 16 bit 'short'
   types, and 8 bit 'char'. The current version does no special
   'endian' handling so it can only be run on systems which are
   little-endian like the VAX. Fortunately that inludes Intel...

What else?
   Some operating system support is also required to read an
   absolute disk sector from the target disk. This is NOT as
   easy as it sounds. I do not currently have sufficient
   documentation to set this up for as many platforms as I
   would like!! However I have modules to read disks under
   VMS (easy!), floppies and CD under OS2 (!), and floppy
   drives under Windows 95 and NT. I would hope to read CDs
   under Windows 95 and NT soon. If you can contribute in this
   area I would be grateful!

What can it do?
   Basically ODS2 provides cut down DIRECTORY, COPY and
   SEARCH commands for VMS volumes on non-VMS systems. These
   can be used to find out what is on a VMS volume, and copy
   files onto the local file sytem.

What file types?
   Basically ODS2 can only deal with sequential files. I do not
   have information on how indexed file types are constructed,
   and relative files are of limited interest.

What about volume sets?
   ODS2 does contain support for multi-volume sets. However there
   is no checking that the correct volumes have been specified and
   error handling is very fragile. You should ensure that you
   specify volume set mount commands correctly!

What about bugs?
   Who knows! This code has been tested for hours (!) by a single
   developer/user on one workstation. Contrast this to the VMS
   filesystem which has had many many developers, millions of
   users, and has run on about 500,000 systems over the last 20
   years. I would hope to fix some limitations and provide better
   error handling fairly soon, perhaps even put some comments
   into the code! Maybe the next version will have fewer bugs?

It is free?
   Yeap! It is provided 'as is' to help people in the VMS
   community. However there is NO SUPPORT! I will try to fix
   any reported problems, but as I really only get to work on
   it while the kids are at Scouts on Monday nights, fixes
   happen slowly!

Can I use the code?
   Yeap! You can use and modify the code provided that you leave
   the name of the original author in any modified source. I would
   also appreciate being sent any coding or enhancements where
   possible for my own use.

What is the status of ODS2?
   This is the first beta release. I am not particularly happy
   with it in a number of areas - but this preliminary release
   may generate useful feedback and testing, and maybe even be
   useful to others in current form. However if you are tempted
   to use this version for file transfer, please do your own
   testing first! This program may not be able to handle your
   volumes and files properly!!!

Is more work happening?
   Yes! I find the program very useful moving stuff from my
   VAXstation to my PC. If I could write ODS2 volumes it would
   be just as useful in the other direction!

Can I see a command sample?
   Sure:-
     $ RUN ODS2
       ODS2 b1.1 Beta Test Version
     $> mount dka300:,dka500:
     %MOUNT-I-MOUNTED, Volume FOX1         mounted on dka300:
     %MOUNT-I-MOUNTED, Volume FOX2         mounted on dka500:
     $> direct/file DKA300:[*...]
        Directory DKA300:[PNANKERVIS]
     3MONTH.LOWUSE;1      (51,20,2)             
     ACCTEST.COM;1        (137,4,1)             
     ACCTEST.EXE;1        (53,4,2)              
     .....
     $> copy dka300:[pnankervis.f11]*.c *
     COPY-I-COPIED 213 records to ACCESS.C
     ....
     $> show time
       24-MAR-1998 20:15:23.5
     $> exit

Who would do this?
   Me! Don't ask why. If you have suggestions or want to know
   more then mail me at  paulnank@au1.ibm.com

                           Thanks for listening!
                           Paul Nankervis
