  SDLS:  A program to list or extract files contained in an HP Cupertino Binary
         (SDLS) tape image.  The tape image must be SIMH magnetic tape format.


  Invocation:

    sdls [options] tape-file [part-number]

  Options:

    -l or --list       List all files in the tape-file if part-number is
                       omitted, else list all files that start with the
                       substring specified by part-number.

    -v or --verify     Verify the integrity of the data records.

    -x or --extract    Extract all files in the tape-file to individual
                       FMGR-format files if part-number is omitted, else extract
                       all files that start with the substring specified by
                       part-number.

    -u or --unsorted   Search the entire tape for the part-number substring
                       rather than assuming that the files are sorted
                       numerically on the tape-file.

    -r or --raw        Extract source files as 8-bit characters.  Without this
                       option, source file characters are masked to 7 bits.
                       This option has no effect on binary files.

    --version          Display the program version and exit.

  Restrictions:

    Either --list or --extract must be specified.  The --verify option is
    implied by --extract and is optional with --list.  The --unsorted option is
    only meaningful if a part-number is specified.  The --raw option is only
    meaningful with --extract.

  Examples:

    1.  sdls --list source.tape

        List the tape label and contents of the "source.tape" file.

    2.  sdls --list --verify binary.tape

        List the tape label and contents of the "binary.tape" file, verifying
        the checksums of each file as it is listed.

    3.  sdls --list master.tape 24998

        List the tape label and each file entry in the "master.tape" whose part
        number begins with the string "24998".  Assume that the tape is sorted
        and stop searching when the next part number above 24998 (e.g., 24999)
        is encountered.

    4.  sdls --extract archive.tape

        Extract and verify every file in the "archive.tape" to separate FMGR
        files.  The extracted filenames are formed from the module part number
        and revision code.  Extracted source file characters are masked to seven
        bits.

    5.  sdls --extract --unsorted super.tape 92069-1600

        Extract and verify every file in the "super.tape" whose part number
        begins with the string "92069-1600" (e.g., 92069-16000, 92069-16001,
        etc.).  Assume that the tape is unsorted and search the entire tape for
        matching files.

    6.  sdls --extract --raw ibm.tape 22396-80001

        Extract the EBCDIC-encoded source file "22396-80001" from the tape
        without masking to seven bits.

  Operation Notes:

    Extracted files are written in FMGR format, suitable for downloading to an
    HP 1000 or processing with "fmgr" into SIMH-format paper or magnetic tape
    images.  Extracted filenames are constructed from the module part number and
    revision, plus an appropriate FMGR subparameter string.

    Tape records flagged as erroneous in the tape-file are reported during
    extraction and are replaced by error marker records to preserve the error
    location in the extracted files (for source files) or to prevent accidental
    use (for binary files).  Presence of the text error marker in source files
    should cause compilation or assembly failure, and presence of the
    bad-checksum-markers in binary files should cause failures in the relocating
    or absolute binary loaders.  Files containing bad records have "bad"
    appended to the file extension.
