Contents of the HDAT.DOC file
This program was developed as an alternative to IBM'S "ADVANCED DIAGNOSTICS"
for the hard disk. Although you get more than a hard disk diagnostic with
IBM'S diagnostics, you pay $295 for the package. All I ask in return for
the FREE use of this diagnostic is that you do not change the copyright
nor charge for distribution of this program.
Any problems or suggestions should be forwarded to:
967 PINEWOOD DRIVE
SAN JOSE, CA 95129
This program is menu driven and in most cases should be self-explanatory. It
run on a IBM AT, PC or compatible computer.
The diagnostics are divided into two categories, destructive and non destructive
tests. These tests can be useful in installing a new disk, finding and
flagging bad data areas or testing the general working condition of your hard
disk and controller.
In an IBM compatible hard disk bios the last cylinder is reserved for running
diagnostic tests on. This program uses that cylinder for diagnostic writes.
F1.......WRITE/READ/VERIFY TEST This test verify's that read and write work
by writing one sector then reading it and
comparing it to the value it wrote.
F2.......SEEK TEST This test first verify's every cylinder
then exercises the read/write heads by
performing a crossing seek pattern.
F3.......HEAD SELECT This test selects one head on every
F4.......ECC TEST Most controllers have some form of onboard
error correction that writes four bytes of
ECC data with every data record. When the
data is read these four bytes of ECC are
used to determine the validity of the data
and make corrections for any incorrect
bits depending on the controller. This test
does a read long, modify's four bits and
write's the record back with a write long.
The next read should return the corrected
F5.......RUN ALL TESTS This runs tests 1 through 4 and allows the
the user to loop up the tests.
F6.......PREPARE FOR RELOCATION Moves the read/write heads to the landing
zone. The computer should be shut off after
executing this or the heads will move back
onto the data surface.
F7.......DEFECT SCAN Reads every sector the specified number of
times and reports the errors.
F8.......SURFACE ANALYSIS This test writes the worst case data
pattern (6DB6) on every sector and reads
it back three times. If any errors are
found they are reported and the track if
F9.......FORMAT DISK This performs a physical format of the hard
disk and should not be confused with DOS
format. If you are formatting a disk for
the first time then you should specify "y"
to clear the defects, otherwise a quick
scan will be made to identify any flagged
tracks. After the format is done the tracks
that were flagged as bad will be flagged
F10......FLAG DEFECTS Its a sad but true fact that most hard
come from the factory with some known
defects and some will be developed over
time. This routine is used to flag those
defects to prevent any data from being
A-F10....FORMAT TRACK The same as the format drive except it
only formats one track.
A-F9.....TOGGLE PRINTER ON/OFF The printer can be used to log any errors.
A-F10....EXIT Return to DOS
The hard disk diagnostic is made up of many smaller programs that perform a
specific function. Below is a brief description of each program. All of the
BAT files and INCLUDE statements in the programs assume that you have the
the following sub directories setup.
SCRMGR -SCREEN MAMAGER SOURCE CODE
HD -HARD DISK DIAGNOSTIC SOURCE CODE
LST -ASSEMBLY LISTINGS
OBJ -OBJECT CODE
SCREEN MANAGER DATA
SCRMGR.ASM Does all the screen management and keyboard functions.
SCRNWORK.ASM Equates and structures
HD SUPPORTING FILES
HDLINK.BAT HD link bat file
HDLINK.DAT HD link data file (input to hdlink)
ASM.BAT Assembler bat file
HD SOURCE CODE
HD.MAC HD macros
HDSUB.ASM HD subroutines external declarations
HDDATA.ASM External declares
HDEQU.ASM Common equates
HDMAIN.ASM Main module
HDALL.ASM Run all tests
HDECC.ASM Ecc test
HDFMT.ASM Format program
HDFSEC.ASM Flag bad sectors
HDHS.ASM Head select test
HDMSG.ASM Common messages
HDRW.ASM Raed write test
HDSCAN.ASM Scan test
HDSEEK.ASM Seek test
HDSHIP.ASM Prtepare for relocation
HDSURF.ASM Surface analysis
HDTFMT.ASM Format a specific track