Instructions for DISKTEST Program Mt. Hood Software P. O. Box 631 West Linn, OR 97068 GEnie and BIX Mail: JGIBBONS Copyright (C) 1988, Mt. Hood Software All Rights Reserved. This software is provided as limited shareware. It is intended for free non-commercial use only. You are granted no rights to distribute this software on a diskette that is sold. However, it may be exchanged between individuals at no cost, uploaded to any electronic network, downloaded by individuals, and used in non- commercial applications provided this documentation is included with the program. Any user contributions (under $10) would be appreciated, and will be considered as an incentive to improve the program. This program may be used in commercial applications provided you register such use at the above address, and pay $5 for each copy used. DISKTEST is a simple go/no-go test program for hard disks. It only tests the first drive, and offers little flexibility in testing at present. The program is started by entering the command DISKTEST. It performs all disk operations using BIOS interrupt $13 and should work on all systems. There are no write operations in the program, so it is safe for anyone to use. The first operation is to report the status information for the drive being tested. Tests can be aborted at any time by pressing any key. The program then proceeds to the next test. Pressing control-break will abort the program. If the program detects an error reading the disk, it halts with an error message. You may press return to continue the test or press control-break to abort. If your disk has locked out bad tracks, the program will detect this as an error, but they will not be used by DOS. It is possible to run this test right after doing a "hard" format (usually done with the DEBUG G=C800:5 command on a PC/XT), before the FDISK or FORMAT programs are run to prepare the disk for DOS. Spin Test The first few tests check the performance of the disk drive. The RPM test checks to see if the disk is spinning at a normal rate. Most disks spin at 3600 +/- 4 RPM. See the note at the end on timing accuracy if you notice a large deviation from this value. Interleave Test The interleave test will check the ability of the disk to read two sectors within one revolution. If the interleave test reports the same RPM as the spin test, then the interleave setting is correct. If the interleave RPM is lower (usually 1/2) than the spin RPM, then the BIOS software did not request the next sector soon enough, and another disk spin was necessary to read the sector. If this is the case, then increase the interleave setting until the RPMs are equal. This test will only determine if the interleave is correct for use with BIOS disk I/O, and does not take into account software processing time between reads. DOS may take longer to read the next sector and not give the same results. To take into account software processing time between sector reads, the interleave should be set slightly larger than the cutoff point where this test indicates that the RPMs are equal. Minimum Seek Time The head is moved between adjacent tracks, to measure the track- to-track seek time. Maximum Seek Time The head is moved between the furthest two tracks, to measure the maximum seek time. This may cause your drive to make a bang-bang noise, but this is not harmful. Disk Read Test The complete disk is read and checked for errors. When bad sectors are encountered, you may press return to continue on with the test. Many hard disks will have a few bad sectors. The DOS program, CHKDSK, should report these when run. The next two tests attempt to shake the heads off the actuator arm, and should not be performed on a drive that has any suspected mechanical problems, as they may cause a failure. Normal drives, in good repair, are designed to operate under these conditions. These tests do not perform any operations that will not happen in normal use, they only cover worst case conditions. It is not suggested that you run these following tests more often than once a week, as they give the drive a hard workout. Random Read Test The head is moved to random sectors to test positioning accuracy. Again, the drive will possibly make unusual noises, but no harm is being done. Harmonic Seek Test This test starts with a large track-to-track movement, works down to adjacent tracks, then back up to the large movement. It tests if any vibrational modes can be generated in the drive, causing positioning errors. Notes on Timer Accuracy Timer accuracy determines the error in the values printed. Due to the 30 second timing, they are accurate to about 1 part in 30*18 (540) or 0.18 percent. This is about +/- 4 RPM in 3600. Some clones use non-standard crystals, and this will result in small timing errors. For example, most drives spin at 3600 RPM, but some clones will report about 3550 RPM. You should only worry if the RPM varies more than about +/- 10 between runs of the test, as this could indicate a bearing friction or drive motor problem. Due to the timer methods used, the tests will not report the proper values when used over the timer midnight update interval. The BIOS time is slightly more accurate for timing than the DOS time, because DOS converts the BIOS time into 1/100 seconds with resulting accuracy loss. Version 1.1 Corrections The program was found to give slightly inaccurate timing in the first four tests when run on a PC without an 8087 math chip. The direct screen output routines of Turbo C were found to operate slowly with the Cordata clones. All console I/O was redirected to the standard INT 10 BIOS call.