home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-06-06 | 28.1 KB | 1,428 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- THIS IS THE BEGINNING OF THE DOCUMENT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 1.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ---------------------------------------------------
-
- F R E E C O P Y
-
- A Disk Utility for the IBM Personal Computer
-
- Users Guide by Donald L. Buresh, C.D.P.
-
- Version 1.10
-
- (C)Copyright 1984, 85 Squire Buresh Associates, Inc.
-
- $25.00 Requested Contribution
-
- ---------------------------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 2.
-
-
-
-
-
-
-
-
-
-
- TABLE OF CONTENTS
-
-
- Page
-
-
- I. To the Users of FREECOPY 3
-
- II. Running FREECOPY 5
-
- III. Notes on FREECOPY
- a. The Parameters 6
- b. Fragmented Data 7
- c. Disk Errors 8
-
- IV. Messages from FREECOPY
- a. Informative Messages 10
- b. Error Messages 13
-
- V. Remarks on User Supported Software 17
-
- VI. Acknowledgements 19
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 3.
-
-
-
-
-
- I. To the Users Of FREECOPY
-
- This is a short summary describing what is on the FREECOPY
-
- diskette. FREECOPY is a disk utility that is functionally
-
- equivalent to DISKCOPY which is distributed with IBM PC DOS.
-
- I am releasing this software into the public domain because I
-
- believe that the time has come for users to see and criticize
-
- professional quality source code. I welcome all comments on
-
- FREECOPY, particularly about any bugs you discover in the code.
-
- In developing FREECOPY, I reversed engineered DISKCOPY and made
-
- sure that I did not violate the proprietary rights of either IBM or
-
- Microsoft. In fact, I took great pains to ensure that FREECOPY
-
- is better than DISKCOPY.
-
- The three (3) files that are on this diskette are:
-
- o FREECOPY.COM - The executable code
-
- o FREECOPY.ASM - The source code
-
- o FREECOPY.DOC - A users guide
-
-
- The executable code is a binary .COM file that comes in machine
-
- readable format. The source code is structured assembly language
-
- with lots of comments. This users guide is a short document
-
- describing how to run FREECOPY.
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 4.
-
-
-
- FREECOPY is the first of a series of assembly language programs
-
- that I am distributing on a user supported basis. I will create
-
- significant programs for the PC community. These programs will
-
- appear in conjunction with the articles that I am writing for the
-
- disk-based magazine PC FIRING LINE edited by Bill Salkin. I am
-
- writing the PC DOS/ROM column.
-
- If you find FREECOPY helpful, please give the package to other
-
- users without alteration so that I can answer people's questions.
-
- I am requesting a $25.00 contribution. If you want a copy, send a
-
- self-addressed postage-paid mailer along with a formatted diskette
-
- to us. No exceptions, please.
-
- Regardless of the contribution, users are encouraged to copy and
-
- share the program with other users.
-
-
-
-
-
- - Donald L. Buresh, C.D.P. -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 5.
-
-
-
-
-
- II. Running FREECOPY
-
- FREECOPY copies the source diskette on a track by track basis
-
- to the target diskette formatting and then writing to the target
-
- diskette. The utility does not check the drive letter to see
-
- if you specified a hard disk drive.
-
- Before invoking FREECOPY, examine the PC DOS prompt (e.g.,
-
- A> for drive A:) that denotes the default drive. To execute
-
- FREECOPY, enter the command:
-
- FREECOPY X: Y:/1
-
- where the first parameter X: specifies the source drive, the second
-
- parameter Y: indicates the target drive and the /1 parameter
-
- instructs the utility to copy only the top side of the source
-
- diskette.
-
- The disk drives X: and Y: may or may not be the same. If they
-
- are equal to each other or omitted altogether, FREECOPY copies the
-
- source diskette using a single drive. The program prompts you to
-
- insert the appropriate diskette at the correct time.
-
- When FREECOPY finishes copying a diskette, the program asks
-
- you if you want to continue. If you press Y(es), FREECOPY starts
-
- the process all over again with the same parameters that you
-
- specified when invoking the program. If you press N(o), FREECOPY
-
- returns to PC DOS. The program ignores all other answers except
-
- Control-C or Control-Break which also transfers control to PC DOS.
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 6.
-
-
-
-
-
- III. Notes on FREECOPY
-
- These notes on FREECOPY demonstrate to the user the features
-
- and/or limitations of the program.
-
- a. The Parameters
-
- If you do not specify both disk drive parameters, FREECOPY
-
- copies the source diskette using only the PC DOS default drive.
-
- For exammple, if the PC default drive is B:, and you invoke
-
- FREECOPY with the command:
-
- B>FREECOPY
-
- the program copies the source diskette onto the target diskette
-
- using only drive B:.
-
- If you specify only one disk drive parameter, FREECOPY assumes
-
- that it is the source drive and that the target drive is the PC DOS
-
- default drive. For example, if A: is the PC DOS default drive and
-
- you enter the command:
-
- A>FREECOPY B:
-
- the program assumes that the source drive is B: and the target drive
-
- is A:. If the default drive is the same as the drive that you
-
- indicated when you entered the command, FREECOPY copies the source
-
- diskette using a single drive. This command might look like:
-
- B>FREECOPY B:
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 7.
-
-
-
-
- If you enter distinct source and target disk drivers, FREECOPY
-
- will follow your command exactly. For example, if A: is the PC DOS
-
- default drive and you enter:
-
- A>FREECOPY A: B:
-
- the program copies the the source diskette in drive A: to the target
-
- diskette in drive B:. However, if you have only one disk drive on
-
- your system, FREECOPY is smart enough to use one drive.
-
- If you employ the /1 parameter when invoking FREECOPY, the program
-
- copies the top side of the source diskette. If the source drive is
-
- single sided, FREECOPY recognizes that this parameter is not
-
- necessary.
-
- b. Fragmented Data
-
- While using a diskette, the sectors that contain your data may
-
- not be in sequential order. This situation occurs because PC DOS
-
- uses the first available sector when writing files regardless of its
-
- position on the diskette.
-
- A diskette with fragmented files degrades the performance of
-
- PC DOS causing excessive head movement when reading and/or writing
-
- a file. If so, you may want to use the COPY command to copy the
-
- files from the source diskette to the target diskette.
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 8.
-
-
-
-
-
- c. Disk Errors
-
- There are many reasons for a diskette error. The two (2) most
-
- common reasons are:
-
- o The mylar for a given track wears out; or
-
- o The contents of the diskette are copy protected
- by the software manufacturer.
-
- All things have a finite lifespan, including diskettes. When the
-
- mylar of a track can no longer retain the data, FREECOPY can do very
-
- little to recover the information. We recommend that you always
-
- maintain a backup diskette of your important data.
-
- It is unfortunate that some software manufacturers make it
-
- difficult, if not impossible, to copy their programs. It is our
-
- opinion that copy protection assumes that everyone will attempt to
-
- violate the software manufacturer's rights. One of the fundamental
-
- principles of FREEWARE is that the user has the right to
-
- examine the quality of the source code before deciding whether
-
- or not they want to purchase it. FREECOPY is consistent with the
-
- FREEWARE concept and it does not currently break any copy protection
-
- schemes.
-
- FREECOPY always displays the head and track number that it is
-
- currently processing. If the program encounters a disk error,
-
- it displays the appropriate message on the screen. Section IV of
-
- this manual describes the messages in great detail.
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 9.
-
-
-
-
-
- If FREECOPY encounters a disk error for either the source or
-
- target diskette, that diskette may or may not be usable, depending
-
- on whether the affected track contains valid data.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 10.
-
-
-
-
-
- IV. Messages from FREECOPY
-
- The messages that FREECOPY displays on the screen come in two
-
- varieties: informative messages and error messages.
-
- a. Informative Messages
-
- Copy another diskette (Y/N)?
-
- If you want to copy another diskette, enter Y(y) and FREECOPY
- prompts you to insert a diskette in the source drive. If you
- reply N(n), the program returns control to PC DOS. FREECOPY
- ignores any other answer except Control-C, Control-Break and
- Control-Alt-Del.
-
-
- Copy is complete.
-
- FREECOPY has successfully copied the contents of the source
- diskette onto the target diskette.
-
-
- Copying X sectors per track, Y side.
-
- This message tells you that a source diskette is a PC DOS 1.0,
- 1.1 or 2.0 diskette, single or double sided.
-
-
- Correct, and press any key to continue.
-
- This message appears when FREECOPY is unable to validate a
- source diskette for one or more of the following reasons:
-
- o The diskette is unformatted;
-
- o The first byte of the File Allocation Table (FAT)
- is invalid;
-
- o A double sided diskette is placed in a single
- sided source drive and the user did not ask
- FREECOPY to copy only the first side.
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 11.
-
-
-
-
-
- A diskette is not in drive X:.
-
- FREECOPY displays this message on the screen when there is
- no diskette in either the source or target drive.
-
-
- Insert source diskette in drive X:.
-
- This message tells you when to insert the source diskette
- into the source drive.
-
-
- Insert target diskette in drive Y:.
-
- This message appears on the screen when FREECOPY is ready to
- copy the source diskette onto the target diskette.
-
-
- Insufficient memory.
-
- FREECOPY puts this message on the screen when there is not
- enough free memory on the machine to contain:
-
- o A complete copy of COMMAND.COM, including the
- resident portion in low memory and the transient
- portion in high memory (PC DOS 1.0 and 1.1 only);
-
- o A copy of the ES:BX table that holds the beginning
- addresses of each track stored in memory;
-
- o A copy of the CHRN table that is used when the
- target diskette is unformatted;
-
- o A copy of the File Allocation Table (FAT) of the
- source diskette;
-
- o At least one (1) track of the source diskette.
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 12.
-
-
-
-
-
- Invalid parameter(s) specified.
-
- FREECOPY issues this message when a colon did follow a drive
- letter, a file name appears after a drive letter and a colon,
- or a /1 occurs in the wrong position.
-
-
- Invalid default floppy disk drive.
-
- The program issues this message when the PC DOS default drive
- is invalid. It can occur when a system has more than four (4)
- logical disk drives that reside on a hard disk.
-
-
- Note: Copying diskette on a single drive.
-
- FREECOPY displays this message and sounds the bell to inform
- you that it is using one (1) drive to copy the source diskette.
-
-
- Press any key when ready.
-
- This message is self-explanatory. Press any key except
- Control-C or Control-Break to continue the processing.
-
-
- Reading track (XX) head (Y).
-
- The program issues this message when it is reading the source
- diskette.
-
-
- Returning to PC DOS.
-
- FREECOPY puts this message on the screen whenever it transfers
- control back to PC DOS.
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 13.
-
-
-
-
-
- Write source diskette again (Y/N)?
-
- This message asks a user if he/she wants another copy of the
- source diskette. It appears only when the computer can
- store the source diskette completely in memory.
-
-
- Writing track (XX) head (Y).
-
- This message tells you the track and head that FREECOPY is
- writing onto the target diskette.
-
-
- b. Error Messages
-
- Address mark was not found.
-
- When this message appears, INT 13H was not able to find the
- CHRN entry that is standard for PC DOS diskettes. The diskette
- is probably copy-protected by the manufacturer.
-
-
- Bad command passed to the disk interrupt 13H.
-
- This is a diagnostic message that was used in debugging
- FREECOPY.
-
-
- Cyclic redundancy check (CRC) error.
-
- FREECOPY displays this message on the screen when the 16 bit
- CRC character is invalid. This word immediately follows the
- CHRN entry on a diskette and is generated by the polynomial:
-
- 16 12 5
- P(X) = X + X + X + 1
-
- where X is any byte of a given sector except the CRC or ID
- byte.
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 14.
-
-
-
-
-
- Disk controller has failed.
-
- The program issues this message when the disk controller chip
- is no longer working. This chip can be the Intel 8272 or
- the NEC 765. They are functionally equivalent.
-
-
- DMA overrun on an I/O operation.
-
- This is a diagnostic message used in debugging FREECOPY. It
- means that the disk controller chip (i8272 or NEC 765) tried
- to use more memory than what was allocated to it by FREECOPY.
-
-
- Double sided diskette in a
- single sided disk drive.
-
- This message appears when you place a double sided diskette in
- a single sided drive and you did not tell FREECOPY to copy only
- the top side of the diskette.
-
-
- First byte of the FAT does not
- match any known diskette type.
-
- FREECOPY checks the first byte of the File Allocation Table
- (FAT) for validity. If it is not equal to 0FCH, 0FDH, 0FEH
- or 0FFH, the program displays this message.
-
-
- Memory control block destroyed.
-
- This was used in implementing and testing the PC DOS memory
- allocation function calls. It should not appear when
- normally using FRECOPY.
-
-
- Requested sector not found.
-
- This message occurs when the sectors of a given track for
- the source diskette are not in sequential order, starting at
- one (1) and ending at eight (8) or nine (9). The source
- diskette is probably copy-protected by the manufacturer.
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 15.
-
-
-
-
-
- Seek operation has failed.
-
- This message appears when FREECOPY attempts to read or write
- physical tracks greater than number forty-one (41) or seeks
- a valid physical track number with an invalid logical track
- number. If the first case is true, FREECOPY contains a
- bug. This should not be the case. Probably a valid physical
- track is holding an invalid logical track number in the CHRN
- table. If so, the source diskette is copy-protected by the
- manufacturer.
-
-
- Target diskette is write protected.
-
- If this message appears, remove the write protection tab on the
- target diskette.
-
-
- Tried DMA across a 64K boundary.
-
- Since the Intel 8088 processor chip breaks up memory into
- 64K segments, this message appears when FREECOPY tries to
- write a track of the source diskette into memory across a
- 64K boundary. This is a diagnostic message that was used
- to debug FREECOPY.
-
-
- Unrecoverable format error on target.
-
- FREECOPY puts this message on the screen when it is unable
- to format the target diskette. You should use another
- target diskette.
-
-
- Unrecoverable I/O error.
-
- This message appears when an error occurs and FREECOPY is
- unable to determine the nature of the error.
-
-
- Unrecoverable read error on source.
-
- The program displays this message when it cannot read the
- source diskette. FREECOPY tries four (4) times before this
- statement appears on the screen.
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 16.
-
-
-
-
-
- Unrecoverable write error on target.
-
- This message indicates that FREECOPY could not write the
- data on the source diskette onto the target diskette. You
- should use another target diskette.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 17.
-
-
-
-
-
- V. Remarks on User Supported Software
-
- According to Andrew Fluegelman, user supported software is based
-
- on the following three (3) principles:
-
- o The utility of software can only be ascertained by a
- user on their own system;
-
- o The development of personal computer software should
- be encouraged by the computing community; and
-
- o The duplication of software should be encouraged rather
- than restricted by copy-protection schemes.
-
- The basic assumption behind these principles is that software
-
- developers will rely on the individuals in the computing community
-
- to support them financially. However, most developers are committed
-
- to selling their wares through standard market channels.
-
- The market for personal computing software is growing without
-
- bound. Advertising and documentation costs are now a significant
-
- barrier to the would be entrepreneur. The shelf space of major
-
- distributors is commanding premium dollars. This means that within
-
- a short period of time, we may see very few new programs on the
-
- market. The small software developer will be driven from the
-
- marketplace.
-
- On the other hand, a computer program is a mechanism to process
-
- data and form information. Information is a commodity that is
-
- neither non-renewable nor recycleable. It is expandable. If I
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 18.
-
-
-
-
-
- have information and give or sell it to you, we both have it.
-
- The net effect of the transaction is positive. The net effect
-
- of all other transactions in human history has been zero. If you
-
- and I trade two goods, I lose what I have to gain what you have and
-
- vice versa.
-
- The FREEWARE concept admits that the exchange of software is an
-
- informational transaction where both parties gain and yet retain what
-
- they had before the transaction. Software developers who are selling
-
- through standard market channels are attempting to make an
-
- informational transaction into an exchange transaction with a zero
-
- net effect. This is impossible in the long run.
-
- I am writing user supported software because I believe that it
-
- is a viable alternative to selling my wares through the standard
-
- market channels. I believe that user supported software will
-
- supply the computing community with significant computer programs
-
- as soon as professional developers recognize that they can thrive
-
- by selling their programs in this fashion.
-
- Therefore, I am pleased to offer FREECOPY to the computing
-
- community and I welcome other authors to try their hand at creating
-
- professional quality software.
-
-
-
-
- - Donald L. Buresh, C.D.P. -
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 19.
-
-
-
-
-
- VI. Acknowledgements
-
- This is where I thank the people who made FREECOPY possible.
-
- My first round of thanks go out to Andrew Fluegelman for inventing
-
- the FREEWARE concept. I would like to thank Marshall Goldberg for
-
- convincing me that the computing community needs public domain
-
- software. I want to thank Patricia Smith and Jim Button for
-
- demonstrating to me that an individual can thrive on user supported
-
- software provided that they have the right product. My thanks
-
- go out to Bill Salkin for creating PC Firing Line and for the
-
- many hours of conversation about the magazine.
-
- From a technical perspective, I want to thank Brian Markey
-
- for indicating how to overcome DMA boundary errors and Harry Keller
-
- for demonstrating how to calculate the amount of available free
-
- memory. I also think that Keith Beal deserves credit for showing
-
- me a documentation system for assembly language programs.
-
- The trademarks that I have mentioned in this users guide are
-
- listed below.
-
- o IBM and PC DOS are registered trademarks of International
- Business Machines, Inc.
-
- o FREEWARE is a trademark of The Headlands Press, Inc.
-
- o PC Firing Line is a trademark of ABComputing
-
-
- - Donald L. Buresh, C.D.P. -
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
- ****** FREECOPY Users Guide ***** Page 20.
-
-
-
-
-
- VII. List of Bugs
-
- Since the first release of FREECOPY, I have corrected a
-
- number of bugs. Some were small and some were not.
-
-
- o Ensured that FREECOPY runs on PC with lots of
- memory.
-
- o Flushed the standard keyboard buffer to prevent
- a user from unwantly typing ahead.
-
- o Modified the command line parser to process the
- TAB character.
-
- o Completely revampled the memory management scheme
- so that FREECOPY uses the PC DOS function calls
- when running versions of the operating system
- greater than 2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Squire Buresh Associates, Inc. P.O. Box 112 Millbury, MA 01527
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- THIS IS THE END OF THE DOCUMENT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-