VEC (Volume label Edit and Copy) 1.20 Copyright 1992 by Gordon Haff and Bit Masons Consulting. All rights reserved. Command: VEC Purpose: Displays, edits, and copies disk/diskette volume labels Syntax: VEC [/?] [/c] [/d] [/r] [drive1:] [drive2:] "New label" Prereqs: 100% IBM Compatible PC running DOS 3.0 or higher Archive Name: VEC120.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) Äij ³o ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ ÚÄÄÄÄÄÁÐÄÄ¿ ³ Association of ³ ³ ³ÄÙ Shareware ÀÄÄij o ³ Professionals ÄÄÄÄÄij º ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÀÄÄÄÄÐÄÄÄÄÙ MEMBER VEC 1.20 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.20 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.20 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. VEC 1.20 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 key. If you press without entering any characters, you will also abort the current entry. The 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.20 6 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.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.) VEC 1.20 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.20 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 ). "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.20 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