COPYQM - QUICK MULTIPLE FORMAT/COPY/VERIFY FOR DISKETTES Copyright 1987, C. P.Guzis and Sydex. All Rights Reserved. Version 1.3, February, 1988 Sydex 153 North Murphy Ave. Sunnyvale, CA 94086 (408) 739-4866 NOTICE THIS IS NOT FREE SOFTWARE and may not be sold without the author's express written permission. If you have paid a "public domain" vendor for this program, rest as- sured that not one bit of what you paid ever gets back to the author. If you use this program, YOU MUST REGISTER. Neither SYDEX nor Mr. Guzis will answer tech- nical support inquiries from unregistered users. To register, send $15.00 with your name, company name (if any) and address to - SYDEX 153 North Murphy Ave. Sunnyvale, CA 94086 Upon receipt of your registration fee, you will be sent the most current version of COPYQM and its accompanying documentation. COPYQM and this document are protected by copyright. The receipt or possession of this document does not convey any rights beyond those enumerated herein to reproduce or distribute its contents. If COPYQM or this document are copied, a fee may be charged for the service of copying only, and not for COPYQM itself. If such a charge is made, it must be clearly identified by the vendor as a service charge only. WHAT IS COPYQM? COPYQM is a utility written to fit a distinct need for multiple copy production. Those with Formasters or other automatic duplication equitpment are lucky - the rest of us usually have to suffer with FORMAT, DISKCOPY and DISKCOMP. Well, no longer. We now have COPYQM. COPYQM: * Reads all allocated tracks from a DOS diskette and saves the data in local memory. * Formats a blank diskette "only" on the allocated (used) tracks, copies the data from the original source, and verifies the copy. * Optionally formats the rest of the blank diskette. COPYQM uses a "Look Ma - no hands!" method where the PC keyboard is never used during the copy process; diskette changes are simply "sensed" by the program. A graphic display of what's going on makes for quick and easy operation. WHAT WON'T COPYQM DO? COPYQM will not handle non-DOS diskettes or DOS diskettes with copy protection. Nor will COPYQM handle master diskettes with errors, or diskettes formatted in non-standard formats. Other- wise, COPYQM will copy all standard IBM PC-DOS formats, provided that you have enough memory of some kind available to hold the data contained on the master. A word here on 720K diskettes... There is some confusion concerning exactly what a 720K diskette is supposed to look like. Peter Norton, in his "Programmer's Guide to the PC" shows a 720K diskette with 112 directory entries and two-sector clusters. Microsoft avoids the topic entirely in "Advanced MS-DOS Programming". The OEM documentation for MS-DOS is similarly silent. In DOS 3.3, IBM has established a 224 entry directory and one-sector clusters for the 3.5" microfloppy. Rather than use a lot of code and time to determine what kind of 720K diskette you've got, COPYQM assumes an IBM format. Perhaps the worst part of all is that all 720K formats share the same FAT ID byte (hex F9), which is also shared by the 1.2M 5.25" PC-AT disk. GETTING STARTED... Be aware that COPYQM reads all of the data from the master dis- kette and stores it away. If you're copying a relatively full 720K, 1.2M or 1.44M diskette, this means that you'll have to have some sort of additional memory available, be it EMS (expanded memory), extended memory (on the PC-AT) or hard disk storage. 360K diskettes on a 512K PC usually will manage to fit all of the diskette data into the available memory. To use COPYQM, enter a command of the following form at the DOS prompt: COPYQM drive: drive: parameters "Drive:" is the name of a diskette drive or drives which will be used for the copy operation, for example A: or B:. If you have two or more drives and you want to alternate copies ("flip-flop") between the drives, you need to specify both drive names. The drives should be of the same type; that is, two 360K drives or two 1.2M drives, although COPYQM will do its best to accommodate itself to your configuration. Upper- and lower-case letters are treated as equivalent by COPYQM. SPECIAL NOTE: If you have added an external drive which is not part of the normal drive sequence (A: or B:), and you use the DRIVER.SYS configuration file to provide ac- cess to it, you need to read this. Drives not part of the "base" configuration of your machine are specified by their physical drive number. For example, suppose you had installed a 720K 3.5" drive on your PC-XT clone's two present 360K drives. You probably added a statement like the following to your CONFIG.SYS file: DEVICE=DRIVER.SYS /D:2 COPYQM would be told about this drive by specifying it as drive "2:" (note the /D:2), rather than by the drive letter with which it is associated. "Parameters" refers to additional fields directing COPYQM to per- form certain special actions: Page 1 Q specifies "Quick" copying. Suppose you wanted to copy a diskette which is only half filled with data. Nor- mally, COPYQM would copy this data and then format the remainder of the target diskette. "Quick" mode omits formatting the rest of the diskette, thereby saving time. However, since there will be no format pattern present on the resulting diskette, a surface copy will fail if you attempt to use DOS DISKCOPY to copy it. Similarly, any attempt to add data to the copy will fail with a diskette write error. However, a normal DOS file COPY will work just fine. "Quick" mode can save a lot of time copying diskettes which contain relatively little data, but keep in mind the aforemen- tioned restrictions on the resulting copy. E specifies that Expanded Memory should be used to hold data that will not fit into your computer's main memory area. Expanded memory is also referred to as EMS, EEMS, or LIM (Lotus/Intel/Microsoft). Do not confuse this with the additional memory present on an 80286 (AT class) machine. It is helpful to remember that the "E" stands for EMS. X specifies that Extended Memory should be used to hold data that will not fit into your computer's main memory area. Extended memory is that 384K out of the 1 Megabyte space on your PC-AT that can't be used for normal program memory. As there is no formal mechanism to manage this memory, take care: If you have already allocated your Extended Memory for use as a RAM Disk or have used it for other purposes, COPYQM will not know this and will overwrite whatever you previously had placed there. H specifies that your hard disk should be used to hold data that will no longer fit into your computer's main memory area. You need to specify which disk will be used by placing the drive letter of this disk im- mediately after the "H" in this option. For example, HC specifies that data will be diverted to disk C: when memory is filled. The file used to hold COPYQM's data is created in the current directory and is deleted when COPYQM terminates. # specifies that a "serial number" should be added. This is a rather specialized option, and is discussed in a later section. If used, this option must be the last on the command line. Page 2 It is possible to specify more than one type of "overflow" memory. COPYQM makes use of any specified additional memory in the following order: 1. Extended (X) Memory. 2. Expanded (E) Memory. 3. Hard disk (H) Storage. If you are copying 360K diskettes on a 640K machine, you will or- dinarily not need to specify any additional memory types. If COPYQM runs out of memory, a message will be displayed to that effect when the master diskette is read. Here are some examples of COPYQM command statements: COPYQM A: Copy, normal mode, use drive A: COPYQM A:B:Q Copy, quick mode, use drives A: and B: COPYQM 2:E Copy, use physical unit 2 and EMS COPYQM B:HC Copy, use B: and fixed disk C: COPYQM B:XEHC Same, but use EMS and Extended memory If you are copying 360K diskettes on a 640K machine, you will or- dinarily not need to specify any additional memory types. If COPYQM runs out of memory, a message will be displayed to that effect when the master diskette is read. Here are some examples of COPYQM command statements: COPYQM A: Copy, normal mode, use drive A: COPYQM A:B:Q Copy, quick mode, use drives A: and B: COPYQM 2:3: Copy, use physical units 2 and 3. OPERATING COPYQM COPYQM uses a "no keyboard" style of copying. That is, COPYQM determines when a drive has had a diskette inserted or removed and proceeds with the copy operation when a diskette change is detected. The only time you need to touch the keyboard after you have entered the COPYQM command is to terminate operation of COPYQM with the ESCape key. COPYQM is sensitive to "changes" in diskette drive status. When you start COPYQM, you will need to insert the master diskette in the drive indicated by COPYQM, even though you may have already placed the master in the correct drive before entering the COPYQM command. Simply "popping" the diskette out and then in again will be sufficient. Page 3 COPYQM must have a "perfect" master diskette. That is, the master must contain no bad or unreadable sectors. Similarly, COPYQM produces "perfect" copies; that is, the copy will contain no bad sectors within the copied data. In the interest of speed, unused areas of the diskette are "not" verified. Operation of COPYQM is simple and can usually be managed by non- technical personnel. COPYQM indicates graphically which drive is active and the outcome of each copy operation. Error messages are displayed in blinking text (bright red, if you have color) and a count is kept of the number of successful copies made. To end operation of COPYQM, press the ESCape key on the keyboard. INSERTING SERIAL NUMBERS - THE # OPTION As mentioned above, COPYQM will insert a serial number into any sector already containing data on your copies. The master dis- kette is not affected. Due to the somewhat specialized technical nature of this option, it is not recommended to you unless you are SURE you know what you're doing. The serial numbering option is specified with the # option, which must be the last option on the COPYQM command line. The format of this option is: #SsssOoooLlll=string The significance of each field is as follows: "sss" specifies the relative sector on the diskette contain- ing the serial number. This number can range from 0 to the number of sectors on the diskette, minus 1. This number is exactly the same as the relative sector specified in a DOS DEBUG absolute sector read or write operation. Note, however, that is number is decimal. "ooo" specifies the offset within the sector containing the serial number. This number ranges from 0 to 511 and is also decimal. "lll" specifies the length of the serial number field. This is a decimal number and it, plus the offset may not exceed 512 (the length of a DOS sector). "string" specifies the actual text of the serial number to be inserted. If longer than the specified length, it is truncated on the right. If shorter, it is padded with spaces on the right. This string may contain any printing characters and extends to the end of the COPYQM command line but does not include the final car- Page 4 riage return. If specified simply as "?", a prompt for a serial number entry from the console is issued by COPYQM. After each copy is made by COPYQM, the serial number is incre- mented. This operation affects only the NUMERIC characters in the number, and proceeds from right to left. Consider the fol- lowing examples of incrementing: "1234" becomes "1235" "1239" becomes "1240" "123ABC9" becomes "124ABC0" "UGLY" remains "UGLY" Note that the sector containing the serial number MUST be one of those copied by COPYQM. Unallocated sectors are not examined by COPYQM. The serial number sector is not examined for valid data or position; the serial number field is simply inserted where specified. During the process of copying with serial numbers, COPYQM dis- plays the serial number for the current copy. THE WISH LIST We are always happy to hear from you concerning suggestions to enhance our product's usability. COPYQM 1.3 represents a major enhancement over version 1.2 and reflects features requested by our users. Currently, we have three items which we are considering for fu- ture releases: 1. Make use of a menu-driven specification rather than the somewhat arcane command line format. 2. Allow binary serial numbers and left-to-right in- crementing or decrementing. 3. Incorporate some sort of copy protection scheme to be specified to avoid casual illicit copying. ---------------------------------------------------------------- Some of the terms used in this document are trademarks of the following firms: International Business Machines, Sony, Microsoft, Lotus Development Corp., Intel Corporation Page 5 OTHER PRODUCTS BY SYDEX ANADISK The compleat diskette utility. Nothing like it anywhere else; scan, edit, repair and copy just about any kind of diskette. $15.00 Shareware registration fee. TELEDISK Turn any diskette into a compressed data file and vice-versa. Allows you to send and receive entire diskettes via modem. Great for those bootable game diskettes and for diskettes with subdirectories. Works with most "copy- protected" diskettes. $25.00 Shareware registration fee. SIMCGA 4.2 Color Graphics Adapter simulation on monochrome (Hercules compatible) graphics-equipped machines. Available from better software retailers and distributed by ABCO and American Software Distributors. 22NICE Z80/8080 CP/M 2.2 emulation package for your PC. Includes utilities for reading, writing, and formatting "alien" CP/M diskettes for Kaypro, Osborne, Morrow, and Actrix. Will make use of NEC V20/V30 chip if possible. $30.00 Shareware registration fee. FORMATQM Format diskettes in bulk. Formats a 360K diskette in 41 seconds. $15.00 Shareware registration fee. Page 6 .