                               DriveSpeed (DRSP)
                            Version 2.20 SHAREWARE

                       Copyright (c) Stanislav Sokolov,
                             May 1998 and onwards



1.  What is DRSP?
2.  Why DRSP?
3.  What DRSP does?
4.  What DRSP does not do?
5.  COMMAND-line arguments.
6.  Common errors.
7.  Requirements and compatibility.
8.  Contacting the author.
9.  History.
10. Disclaimer.
11. PS.

==============================================================================

1. What is DRSP?
----------------

DRSP is a program that tests the write and read speed of any write-enabled
drive (no CD-ROM) by performing a series of DOS I/O operations. It allows you
to adjust test parameters and log the results.


2. Why DRSP?
------------

For some time ago I discovered that there were no (known to me) programs,
which would give a relevant information about any drives' speed. Some
benchmarking programs give you a number (such as 156.3), which does not really
tell you *how* fast (or slow) your drive works. Some programs, which give a
MB/Min information can only test physical drives, leaving all other drives
untested. I could not put up with such situation, and put together a small
DRSP ver. 1.0, using QuickBASIC 4.5. That version was never published. Having
improved my programming skills, I have totally rewritten the program in C++.


3. What DRSP does?
------------------
Drive Speed uses the most common sequential write and read operations
performed via DOS functions 3fH and 40H. The program can test almost any drive
- physical or device driven - if there is enough disk space available.

First of all the program can check which drives are available, list them
together with information about free and total space, and volume label.

You will then be asked several questions to prepare the program for the test.
The first one is which drive to test. Simply press the relative drive letter
in answer to that question.

Next question is about the size of the test file. You specify the amount in
megabytes. The program then translates the value to kilobytes and compares it
against the available space on the drive. If the value you specified is larger
than the free space, the test-file size will be adjusted to match the free
space. A too small value will produce inaccurate results. I would recommend
0.5MB for testing of floppy drives, and 3 to 5MB for other drives as minimum
values.

The last question is about how many times the program should repeat the test.
The absolute minimum is 3, while the value of 5 will give a reliable result.

The test is then run. It can only be aborted either after write or read
operations. Just press 'Esc', and the test will be aborted as soon as
possible. If you abort the test, no results will be displayed. Do not use
Ctrl-Break - the program installs a routine, which would ignore Ctrl-Break or
^C signals. During the test the program writes the file (DRSPTEST.TMP) to the
root of the specified drive, and then reads it, accumulating the time consumed
by the operations.

Then DRSP performs a File Access Speed (FAS) test. That means that the program
creates, opens, closes and deletes a file during 15 seconds the test is run.
After this test the results are converted to the number of operations per
second. Many benchmarking programs perform Disk Access Speed tests, totally
forgetting that DOS also consumes some time, while performing a file
operation. This is especially true for floppy disks. When one copies a large
amount of files to a floppy, almost half of the copying time goes on creating,
opening and closing files on the floppy.

At the end of the test you will be prompted to store the results in a log-file
DRSP.LOG. If you answer affirmative, you will be asked to enter a one-line
comment to the test. Here you can for example write what kind of machine and
configuration you had. The result will be appended to previous results.
DRSP.LOG is a plain ASCII test-file, which is stored in the same directory,
where the executable is situated. The program is followed by a log-file with
the results from my system.


4. What DRSP does not do?
-------------------------

DRSP is rather a safe program - it performs no low-level I/O operations,
redirecting everything through DOS. It makes it a bit slower than it otherwise
could have been, but after all, 90% of all applications perform their I/O
operations through DOS services. Thus the results are not so far away from the
average performance.

DRSP does not check if you have any disk caching utility installed, though
disk caching affects the results. Here again the results are adequate as you
would normally run your system with some caching utility on.

DRSP does not check if it is testing a compressed drive (suck as Stacker).
Although DRSP tries to determine free space availably and not to exceed it,
some compressed drives will report more space than it is actually available.
In this case a write error during test may occur. Simply repeat the test with
a smaller size of a test-file. (Test file has an average compression ratio of
1.0:1 - that is, it can't be compressed.)

DRSP must write its test file first. That means that the program is unable to
test write-protected or read-only drives (protected floppies, CD-ROMs, etc).

DRSP uses a DOS function, which only appeared with DOS 4.0, so it won't run on
elder versions.

DRSP won't crash your disk. At the first sight of a write error it will
terminate the test with an error message.


5. COMMAND-line arguments.
--------------------------

DRSP accepts arguments, passed to it from COMMAND-line.

     n:                  Specify which drive to test. n is the drive letter
                         ranging from A through Z. Both upper and lower case
                         letters are allowed.

     /sn.n or /Sn.n      Set Size of the test-file, where n.n is the size in
                         megabytes.

     /tn or /Tn          Set the number of Turns the test shall be repeated. n
                         is the number between 3 and 999.

     /?                  Help screen.

If you omit any of the parameters, or enter an invalid value, you will be
prompted to enter the value from inside the program. There must be no blank
characters (space or tab) between the switch and the value it specifies. If
you make use of COMMAND-line arguments, the question about searching available
drives will not be shown.

Examples: DRSP c: /t5 /s4.5   Test drive C: using 4.5MB test-file, and
                              repeating the test 5 turns.
          DRSP c: -s4.5       The same as above, only you will be prompted to
                              enter the number of turns from within the
                              program.
          DRSP c: /t 7 /s 8   Error! The program will ask you to enter both
                              the number of turns and the size.


6. Common errors.
-----------------

There are four known possible error types:

     I.   Error opening test-file. - Can occurs at the beginning of a test.
          The program was unable to open a test file because: a) The drive you
          wish to test is write-protected (or a CD-ROM drive) b) DRSPTEST.TMP
          already exists in write-protected form, c) you did not have any more
          root directory entries available, d) there was a disk error (run
          ScanDisk, NDD or something like that).

     II.  Error writing to file. - Can occurs during the test. The program was
          unable to write to the test-file due to one of the following
          reasons: a) disk was unexpectedly full because another process in a
          multi-tasking environment (Windows) filled it b) a compressed drive
          reported more space than it is actually available (DRSP writes
          random-generated strings so that test-file can almost not be
          compressed).

     III. Overflow in a variable. - Can occur after the test. You selected a
          too small test-file size on a relatively fast drive. This will
          produce unrealistically huge speed-results, which can eventually
          overflow the variables.

     IV.  Critical error while ... a file. - This error message type can occur
          during FAS test. Ellipsis represent the operation which caused an
          error. Though, if the first part of the test was successful, there
          is no reason why FAS should fail.

Warning:  If the program is terminated during the test in an abnormal way,
          such as power off, test file DRSPTEST.TMP will not be deleted. You
          should then remove it manually. It is placed in the root directory
          of the drive you tested prior the termination.

I have thoroughly debugged the program, but I am not the God, so there may
still be some flaws remaining in the code.

If you experience any other errors, not listed here, please send me a letter
(or e-mail) telling about them (see Contacting the author). Please include
which parameters you selected (test-size, # of turns), and the characteristics
of the drive you tried to test.


7. Requirements and compatibility.
----------------------------------

The program can be run on almost any IBM-PC compatible computer. It requires a
286 processor, 64K RAM, and DOS 4.00 and later.

DRSP was successfully tested on floppy drives (both 5.25" and 3.5"), harddisk
drives, network drives, RAM-drives, compressed drives (Stacker). The program
is also compatible with Windows95 (FAT16) filesystem, though it was not tested
on FAT32.


8. Contacting the author.
-------------------------

If you have any comments, suggestions or bug-reports, please contact me either
by e-mail or snail-mail. My addresses are:

Snail-mail:
     Stanislav Sokolov,
     Snorresvei 24,
     1473 SKRER,
     Norway

E-mail:
     stanislavs@hotmail.com
or
     stanisls@sokrates.uio.no

Internet:
     http://members.tripod.com/~stanislavs/

This program is SHAREWARE. If you find this program useful, please send a
10-15 USD equivalent to the address listed above. This will ennoble your
spirit and provide you with free support and updates on new releases of this
and other of my programs. Thank you.


9. History.
-----------

Version        What's new.
..............................................................................

2.20           File Access Speed (FAS) test added. Minor cosmetic
               improvements. Code is modified to give better memory usage.
               Pressing 'Esc' while entering comments does not abort appending
               of results to the log-file. (After all, the user gets a
               separate question if he/she wishes to append the results!)

2.10           Added COMMAND-line arguments. One can now bypass the questions
               inside the program. Added handler for floating point errors.

2.01           Corrected the bug from ver 2.00. Added the possibility of
               aborting the test while it is running, by pressing 'Esc'. Added
               RAM-drive detection.

2.00           The program is totally re-written in C++. It has become faster,
               and more user-friendly. Alas, after releasing it on
               DOWNLOAD.COM, I discovered a bug, which prevented users from
               selecting a drive to test. About 370 people downloaded this
               version before corrected ver 2.01 got into release. If you are
               one of those - sorry.

1.00           The program is born in QuickBASIC 4.5. It's functional, but not
               user-friendly at all, and a bit slow. It has never got
               released.


10. Disclaimer.
--------------

#include <standard_disclaimer.h>
     or see
http://members.tripod.com/~stanislavs/prog/prog.htm


11. PS.
-------

Are you a programmer yourself? You might like to have a look at the source
code of this program. In so case download it from Internet:
http://members.tripod.com/~stanislavs/src/drsp.cpp

==============================================================================
                               End of README.TXT
