




                      VEC (Volume label Edit and Copy) 1.30


              Copyright 1992 by Gordon Haff and Bit Masons Consulting.
                             All rights reserved.

                     This software is distributed as Freeware.



          Command:  VEC

          Purpose:  Displays, edits, and copies disk/diskette volume
                    labels.  Displays and edits disk serial numbers.

          Syntax:   VEC [/?] [/c] [/d] [/r] [/s] [drive1:] [drive2:]
                         "New label (or serial number)"

          Prereqs:  100% IBM Compatible PC running DOS 3.0 or higher
                    (DOS 4 or higher required for serial number functions)

          Archive Name:   VEC130.ZIP


          Limitations:

                    None known.  The Absolute Read and Write DOS
                    interrupts are used as required to copy or edit volume
                    labels with lowercase characters.  These interrupts
                    MAY not function properly with some hardware/software
                    combinations (e.g. certain networks).




                                 Ŀ
                           Ŀ                   (tm)
                         ĳ         o    
                              Ŀ   Association of
                                         Shareware
                           ĳ    o        Professionals
                         ĳ        
                                   MEMBER


          VEC 1.30                                                     2


                                     DISCLAIMER

          The author hereby disclaims all warranties relating to this
          product, whether express or implied, including without limitation
          any implied warranties of merchantability or fitness for a
          particular purpose. The author cannot and will not be liable for
          any special, incidental, consequential, indirect or similar
          damages due to loss of data or any other reason, even if the
          author or an authorized agent has been advised of the possibility
          of such damages.  In no event shall the liability for any damages
          ever exceed the price paid for the license to use the software,
          regardless of the form and/or extent of the claim.  The user of
          this program bears all risk as to the quality and performance of
          the software.

                                       LICENSE

          VEC is distributed as free, copyrighted software.  What this means
          is that you can use this program for as long as you like without
          cost or obligation.  What you cannot do is to sell this software
          or make a profit off of it (except as described below) without
          the express written permission of the author.

          VEC is the sole property of Gordon Haff.  The program may be
          freely copied and transferred to individual parties.  It may be
          posted on Bulletin Board systems (BBS) for electronic access as
          long as NO FEE is charged for its distribution except for private
          BBS operations that charge a regular user subscription fee.
          Computer information services such as Compuserve (CIS), Genie,
          and Byte Information Exchange (BIX) are authorized to post this
          product for subscriber access.  VEC may be distributed on diskette
          only by 1) disk distributors/vendors who are associate members of
          the Association of Shareware Professionals (ASP) or 2) users
          groups which do not charge more than a nominal fee ($5) to cover
          the costs of distribution.  Any changes to these policies must be
          made in writing by the author.

          This program is produced by a member of the Association of
          Shareware Professionals (ASP).  ASP wants to make sure that the
          shareware principle works for you. If you are unable to resolve a
          shareware-related problem with an ASP member by contacting the
          member directly, ASP may be able to help. The ASP Ombudsman can
          help you resolve a dispute or problem with an ASP member, but
          does not provide technical support for members' products. Please
          write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442
          or send a Compuserve message via easyplex to ASP Ombudsman
          70007,3536.

          VEC 1.30                                                     3

                                  TECHNICAL SUPPORT


          Since this program is a freebie, unlike the shareware programs
          for which I request a registration fee, I'm not going to make any
          guarantees here with respect to bug fixes or other technical
          support.  Having said that, I do like my programs to be as
          bug-free as possible, so feel free to report any problems which
          you run across.


               Contact via:

                    Channel 1 BBS            (617) 354-8873
                    Compuserve User ID#      72561,2637  (See Note 1)
                    InterNet                 72561.2637@compuserve.com

                    U.S. Mail                3205 Windsor Ridge Dr.
                                             Westboro MA 01581
                    Telephone                (508) 898-3321 (after 6pm
                                                          Eastern time)

          The above are roughly in order of preference (i.e. how quickly
          I'm likely to see your message and be able to respond).  I check
          Channel One almost daily and the other electronic services at
          least weekly in most cases.  In addition, I monitor the Ilink
          and the RIME Shareware relays through Channel One.

          Note 1:
          When contacting me via Compuserve, please use the Easyplex mail
          system since I do not regularly monitor any of the IBM SIG
          message bases.

          VEC 1.30                                                     4

     1.0  Why VEC?

     VEC serves a couple of major functions in life.

     The first is to allow you to display or edit the volume label on a
     hard disk or diskette.  There are a variety of other programs which
     do this -- most notably the VL (Volume Label) program which was
     included with the Norton Utilities 4.5 and earlier (but not with
     5.0 and later).  VEC is 1) free and 2) works a bit better than most
     of the public domain or freeware programs which I've seen.

     The second function which VEC serves is to allow you to automatically
     copy the volume label from one drive to another.  If, for example,
     you are copying a series of 1.2MB diskettes to 1.44MB diskettes, you
     can use VEC to make sure that volume labels are copied as well as
     files.  In this circumstance, you can't use DISKCOPY since the media
     aren't the same size.  What you CAN do is to setup a batch file with
     commands such as the following:

        XCOPY A:\ B:\ /s    Copies all files and directories from A: to B:
        VEC /c A: B:        Copies the volume label from A: to B:

     Most of the time the volume label won't matter, but some commercial
     installation programs do make use of the label and, as a result,
     backup copies made without labels may not install properly.

     With version 1.10 and later, the limitation in version 1.00 regarding
     lower-case volume labels no longer exists.  Version 1.20
     then corrected the fact that the absolute read/write functions used
     in 1.10 to handle lower-case labels only worked on <32MB partitions.
     If you're interested in the technical aspects of this change, they
     are discussed in Section 3.0.

     Version 1.30 adds the ability to manipulate the disk serial numbers
     introduced with DOS 4.0.  They are displayed in the normal course of
     displaying a disk's volume label.  They can also be edited by using
     the /s switch.


          VEC 1.30                                                     5


     2.0  How Does It Work?

     This section shows some of the possible command lines for accessing
     various functions within VEC.

     DISPLAY A LABEL:

          VEC /d [drive1:]

          e.g.      VEC /d c:
                    VEC /d

          Display a label on the specified drive.  If no drive is
          specified, the current DOS drive is used.

     EDIT A LABEL:

          VEC [drive1:] ["New label"]

          e.g.      VEC d:
                    VEC
                    VEC c: "Volume 2"

          Edit the label on the specified drive.  If no drive is
          specified, the current DOS drive is used.  If no label is
          specified on the command line, you will be able to interactively
          enter a new label; otherwise the specified label will be used.
          Labels entered on the command line must conform to the 11
          character DOS Volume label limit.

          When editing a drive label, you may abort at any time by
          pressing the <esc> key.  If you press <Enter> without entering
          any characters, you will also abort the current entry.  The
          <Backspace> key may be used to delete characters to the left of
          the cursor.

     REMOVE A LABEL:

          VEC /r [drive1:]

          e.g.      VEC /r e:
                    VEC /r

          Remove the label on the specified drive.  If no drive is
          specified, the current DOS drive is used.

     COPY A LABEL:

          VEC /c drive1: drive2:

          e.g.      VEC /c c: d:

          Copy the volume label on drive c: to drive d:, overwriting the
          label on drive d: if one already exists.

          VEC 1.30                                                     6


     EDIT A SERIAL NUMBER:

          VEC /s [drive1:] ["New serial number"]

          e.g.      VEC /s d:
                    VEC /s
                    VEC /s c: "ABCD1234"

          Edit the serial number on the specified drive.  If no drive is
          specified, the current DOS drive is used.  If no serial number is
          specified on the command line, you will be able to interactively
          enter a new serial number; otherwise the specified serial number
          will be used.  Serial numbers must be exactly 8 digits long and
          be composed only of hexadecimal numberic characters (i.e. 0
          through 9 and A through F) although conversion to uppercase is
          handled authomatically.  Do not enter a separator such as - or :
          between the first four and last four digits.

          When editing a serial number, you may abort at any time by
          pressing the <esc> key.  The <Backspace> key may be used to 
          delete characters to the left of the cursor.


          3.0     Technical and Acknowledgments.

          VEC was written using Borland's Turbo Assembler and Turbo
          Debugger, American Cybernetic's Multi-Edit, and Base Two
          Development's Spontaneous Assembly assembler library.

          VEC was developed on a homebrew 386 (named Dejah Thoris) based on
          an AMI 20MHz full-size motherboard with a Micropolis 160MB ESDI
          disk and Ultrastore 12(F) ESDI controller.  It is a dual monitor
          system with an Orchid Prodesigner 512KB VGA board and an IBM MDA
          board.  The system runs DOS 5, QEMM, and Windows 3.1.

          As noted earlier in this documentation, VEC 1.00 would convert
          all entered or copied labels to uppercase characters.  The use
          of standard DOS file creation services caused this to happen as
          a matter of course -- all DOS filenames consist of uppercase
          characters and the Volume label is a special type of filename.


          VEC 1.30                                                     7

          VEC 1.10 and later operate the same way as 1.00 in this regard,
          but add an extra step.  Once the new volume label is
          created, VEC now checks to see if what ended up on the disk is
          what you entered for the new label name.  If it's NOT, then VEC
          will patch the disk entry using Absolute Disk Read and Write
          interrupts.  This method is perhaps not the most efficient
          possible, but it has the (I think) virtue of only using the
          Absolute Read/Write interrupts when there is no choice.  Since
          these interrupts may not work properly across as wide a range of
          conditions as the DOS services, I wanted to minimize their use.
          VEC 1.10 was limited to <32MB partitions.  This limitation was
          removed in 1.20 -- the problem was that two very different
          parameter sets are used for the absolute read/write functions
          depending upon whether the partition size is >32MB or not.  1.10
          supported only the small partition version of these calls.


          A digression on how volume labels are stored -- knowledge
          attained through tedious debugging:

          Volume names are a special type of filename, e.g. FILENAME.EXT.
          They are always in the root directory of the drive and are
          special in that the 4th file attribute bit, the volume label
          bit, (08h) is set.  However, we don't normally display the
          volume label like a normal filename (i.e. we usually think of
          the volume label as an 11 chracter name) and here's where things
          get tricky and ugly.

          1) IF the name is less than 8 characters, we just display it.

          2) IF the name is 12 characters (counting the period), we just
          ignore the period.

          3) IF we're in between these two (actually number 2 is a subset
          of this), a period in position 9 is ignored while a space is
          substituted for a period in position 8.  Periods in other
          positions are treated just like any other character.  (e.g.
          ..... ... .  is a perfectly valid label.)


          Serial number reading and setting is handled through the
          undocumented DOS function 69h (int 21h).

          VEC 1.30                                                     7


          4.0  Other Programs from Gordon Haff and Bit Masons Consulting:


          Directory Freedom (DF):

            Offers users a fast, compact alternative to DOS Shells which
            provides 1) selective file and directory operations; 2) a
            scrollable environment for examining files and directories; 3)
            user-defined keys which can operate upon highlighted files
            (e.g. by defining an editor).  All this in a program which
            takes less than 25KB since it is written in assembler! Easily
            customized through an external configuration program. A "look-
            and-feel" similar to PC Mag's DR, but does much more.  Now with
            SmartViewers and many more exciting new features.
                         Shareware: $20 Registration
                         Latest version: 4.50 (DF450.ZIP)

          the last word:

            'the last word' is a quotations trivia game in which 1 to 4
            players compete against each other and their own high scores in
            identifying the source of quotations and completing partial
            quotes.  Most answers are entered free-form and are matched
            against a set of acceptable responses with a sophisticated
            pattern-recognition algorithm.  'the last word' runs in text
            mode -- including on mono displays -- and offers a high level
            of user configurability.
                         Shareware: $15 Registration
                         Latest version: 1.00  (LWORD100.ZIP)

          CONVERT:

            Unit conversion calculator for Windows 3.0.  Comes with a data
            file containing a large number of common (and not so common)
            conversions in categories such as length, speed, pressure,
            volume, and time.  The data file is a plain ASCII text file so
            the user may add or delete units to best fit his individual
            needs.
                           Free, copyrighted software
                           Latest version: 1.0  (CNVRT100.ZIP)


          VEC 1.30                                                     8


          X-Ray Viewers:

            The X-Ray Viewers provide a scrollable environment for
            examining the contents of various types of archive files and
            allows the user to view those contents by piping them to LIST.
            In other words, you can read a text file contained within, for
            example, a .ZIP file without extracting the archive.  In
            combination with the SmartViewer functions in DF, the X-Ray
            viewers make the examination of .ZIP, .ARJ, .LZH, and .ZOO
            files almost automatic (just highlight a file and press
            <Enter>).  "Freeware" but requires the appropriate archive
            program and LIST to function.
                           Free, copyrighted software
                           Latest revision: 1.02  (XRAY102.ZIP)


          MakeTest:

            Command-line utility to create test files.  Lets you create
            any number of test files with user-specified names and sizes.
            Automatically can add characters to avoid duplicate names.
            This is an easy way to create something like 100 zero-length
            files.  Handy for users or programmers who want to test a
            program's capabilities.
                           Free, copyrighted software with QB source
                           Latest version: 1.0  (MKTST100.ZIP)


          NameDate:

            Renames a file to the current date.  In other words, if the
            current date were 10-06-90, the file 'FILENAME.QWK' could be
            renamed to 901006.QWK.  The letters or numbers can be
            appended as required to largely eliminate duplications.
            Version 2.0 allows the user to define formats and specify many
            other parameters.  This is a handy program for archiving
            message packets from bulletin boards, for example.
                           Free, copyrighted software
                           Latest version: 2.0  (NAMD200.ZIP)

          These programs and others (Multi-Edit macros for use with Qmail
          Deluxe, for example) are available on many fine bulletin boards.
          The latest releases are always available on Channel One.   If you
          just have to get a copy of one or more of these programs and
          can't find one, however, I can send them out for a nominal media
          and postage charge ($5 for a single diskette).

          VEC 1.30                                                     9

          5.0  History:

          Rev. 1.00 Initial Release.

          Rev. 1.10 Lower-case labels can now be edited and copied
                    [/r] Remove label switch added
                    New label can be specified on command-line
                    Improved display when no label on drive

          Rev. 1.20 Upper/lower case volume labels now handled properly
                      on >32MB partitions (DOS 4 and greater).  This
                      method will probably not work on >32MB partitions
                      using third-party products on <DOS 4 because a new
                      int 25h/26h (absolute read/write) syntax introduced
                      for larger partitions in DOS 4 is used.

          Rev. 1.30 Serial number functions added
                    Some display cleanup and additional error-checking