home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / dskstruc / hdsnif21.arj / HDSNIFF.TXT < prev    next >
Text File  |  1992-04-03  |  9KB  |  217 lines

  1. HDSniff version 2.0
  2. last updated by Roedy Green 1992/04/04
  3.  
  4. Tells you how your AT/XT hard disks were last low-level formatted.
  5.  
  6. Needs no parameters.
  7. example of use:
  8.  
  9.   HdSniff
  10. or
  11.   HDSniff | MORE
  12. or
  13.   HDSniff >LPT1:
  14. or
  15.   HDSniff >Temp.Dat
  16.  
  17. by Roedy Green
  18.    Canadian Mind Products
  19.    #168 - 1020 Mainland Street
  20.    Vancouver BC
  21.    Canada V6B 2T4
  22.    (604) 684-6529
  23.  
  24. This program is copyrighted, however it may be copied freely and
  25. used for any purpose except military.
  26.  
  27. Here is a typical output for an XT with one 72 MB hard disk:
  28.  
  29.  
  30. ░▒▓█ HDSniff 2.1 █▓▒░
  31.  
  32. (C) Copyright 1989, 1990, 1991, 1992 Roedy Green Canadian Mind Products
  33. May be freely copied and used for non military purposes only.
  34.  
  35. Ferrets out the parameters that were used to perform
  36. the last low-level hard disk format.
  37.  
  38. All numbers are both in decimal and [hex].
  39.  
  40. Low level formatting parameters for DISK 0   [0=C: 1=D:]
  41.  
  42. XT style disk controller presumed
  43.  
  44. 1024 [400] / 918 [396] = Number of cylinders (per drive parms/per drive table)
  45. 8 [8] / 15 [F] = Number of heads (per drive parms/per drive table)
  46. 918 [396] = Starting cylinder for reduced write current
  47. 918 [396] = Starting cylinder for write precompensation
  48. 7 [7] = Maximum bits of error burst to attempt to correct (usually 7 to 11)
  49. 2 [2] = Step control byte
  50.   (bit 7 = disable retries; bit 6 = disable ECC retries)
  51.   (bits 2..0 = seek step PULSE rate, faster than track-to-track seek rate)
  52.   (approx 12 µs for modern buffered seeks, 3 ms for older unbuffered.)
  53.   Brand      Debug Init Step byte code interpreted as step pulse rate
  54.   ═════      ══════════ ═════════════════════════════════════════════
  55.   Adaptec    g=c800:ccc 3=13 µs, 2=30 µs, 5=70 µs, 4=200 µs, 0=3 ms
  56.   DTC5150CRH g=c800:5   2=12 µs, 5=70 µs, 4=200 µs, 0,1,6,7=3 ms
  57.   DTC5150XL  g=c800:5   0=5,10,20,30,40,50,60,70 µs (cannot tell which!)
  58.   IBM/Xebec             5=70 µs, 4=200 µs, 0,6,7=3 ms
  59.   Omti       g=c800:6   1=10 µs, 2=25 µs, 3=40 µs, 5=70 µs, 4=200 µs,
  60.                         0,6,7=3 ms
  61.   WD-old     g=c800:5   5=70 µs, 4=200 µs, 0,6,7=3 ms
  62.   WD1002-WX1 g=c800:5   3,7=10.5 µs, 2=22.5 µs, 6=28.5 µs, 1=46.5 µs,
  63.                         5=70.5 µs, 4=202.5 µs, 0=3.1 ms
  64.   WD10025WX2 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  65.                         4=210 µs, 0=3ms
  66.   WD1002-27X g=c800:5   3,7=8 µs, 1,2,4,5,6=24 µs, 0=3 ms
  67.   WD1004-WX1 g=c800:5   3,7=12 µs, 6=27 µs, 1=51 µs, 2=63 µs, 5=75 µs,
  68.                         4=207 µs, 0=3 ms
  69.   WD1004-27X g=c800:5   3,7=8 µs, 1,2,4,5,6=24 µs, 0=3 ms
  70.   WD1004A27X g=c800:5   3,7=11 µs, 1,2,4,5,6=24 µs, 0=3.3 ms
  71.   WD-XT-GEN1 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  72.                         4=210 µs, 0=3ms
  73.   WD-XT-GEN2 g=c800:5   3,7=18 µs, 6=30 µs, 1=45 µs, 2=60 µs, 5=75 µs,
  74.                         4=210 µs, 0=3ms
  75.  
  76. 4 [4] = Standard timeout value
  77. 25 [19] = Formatting timeout value
  78. 10 [A] = Disk check timeout value
  79. 17 [11] / 0 [0] = sectors per track (per drive parms/per drive table)
  80.    (usually 17 for MFM, 26 for RLL, 36 for ESDI)
  81.  
  82. When information gleaned from get-drive-parameters
  83. (ROM BIOS INT 13 function 08) conflicts with that gleaned from
  84. get-drive-table (INT 41), trust get-drive-parameters.
  85.  
  86. See HDSNIFF.TXT for information on interpreting these results.
  87.  
  88. To see everything before it scrolls off the screen try:
  89.   HDSniff | MORE
  90. or
  91.   HDSniff >LPT1:
  92. or
  93.   HDSniff >Temp.Dat
  94. Purpose
  95. =======
  96.  
  97. HDSniff will tell you the parameters that were used the last
  98. time your hard disk was low-level formatted.  It displays
  99. information from hard disk BIOS INT 13 function 08 get drive
  100. parameters and from the INT 41 get drive table.  This can be
  101. useful if you need to reformat your hard disk, or if you want to
  102. ensure the formatting was done correctly.
  103.  
  104. The following parameters are often specified incorrectly during
  105. low level format and result is flaky operation.
  106.  
  107. - Starting cylinder for reduced write current.
  108. - Starting cylinder for write precompensation.
  109. - Step control byte seek step PULSE rate, faster than
  110.   track-to-track seek rate, ranging from 12 µs for modern
  111.   buffered seeks to 3 ms for older unbuffered seeks.
  112.  
  113. Interpreting HDSNIFF Results
  114. ============================
  115.  
  116. From the drive manufacturer you must determine the number of
  117. cylinders, heads, starting reduced write cylinder and write
  118. precomp cylinder.  Many BBS's also post lists of such information.
  119. If the cylinders and heads are incorrect, you are wasting part
  120. of your disk.  If the RWC and WP are incorrect you might expect
  121. unreliable operation.
  122.  
  123. The ECC burst length should be a number between 5 and 11.
  124. Setting it smaller is more conservative.  ECC will not attempt
  125. to correct serious errors without telling you.  When ECC tries
  126. to correct serious errors it does not always succeed, but it
  127. lets you carry on without notice.  Setting the ECC burst length
  128. larger allows you to carry on and recover from serious errors,
  129. hough you never hear about them unless you use HDTest.
  130.  
  131. When you low level format, you normally enter the step pulse
  132. rate as a code number, not the pulse rate directly.  However,
  133. the DTC5150XL lets you enter the step rate directly.  Normally,
  134. you must select a code corresponding to the desired step rate.
  135. If the step pulse rate is set too fast (lower number) you can
  136. expect slower response due to corrected seek errors.  If the
  137. pulse rate is too slow (higher number) you can expect slower
  138. response due to the disk waiting needlessly long for pulses.
  139. Sometimes there can also be seek errors.
  140.  
  141. Most AT controllers use 35 µs fixed by the motherboard BIOS.
  142. Ontrack Disk Manager offers a utility to override this.
  143.  
  144. It is hard to get information about the optimal pulse rates for
  145. disk drives.  As rule of thumb try 3 ms for very old drives with
  146. unbuffered seeks, 30 µs for 20 MB disks, and 18 µs for 30 to 40
  147. MB disks, and 12 µs for premium voice coil drives.
  148.  
  149. If any parameters are incorrect, you must back up everything
  150. twice, redo the low level format, the FDISK, the FORMAT C:/S/V
  151. and restore your data.
  152.  
  153. HDSNIFF currently cannot tell you the interleave.  Use Gibson
  154. SpinRite to determine the optimum interleave and correct it.
  155.  
  156. Caveats
  157. =======
  158.  
  159. Information about the size of a disk is indirectly recorded in
  160. four separate places:
  161.  
  162. 1. the drive table accessed via int 41
  163. 2. BIOS via int 13 ah=08
  164. 3. the partition table in the mini partition-selector boot on track 0
  165. 4. the BPB in the boot on track 0 of the DOS partition
  166.  
  167. Unhappily these do not all necessarily agree.
  168. HDSniff will tell you about 1 and 2.
  169. FDisk will tell you about 3.
  170. ChkDsk will tell you about 4.
  171. I have found 2 to be the most reliable, and 1 the least.
  172.  
  173. Some controllers fail to record the RWC (Reduced Write current
  174. Cylinder) and WPC (Write Precompensation Cylinder) in the drive
  175. table.  If you plan to reformat your disk, get the proper values
  176. from the disk manufacturer or from tables in OnTrack software or
  177. from tables posted on BIX.
  178.  
  179. If you have used a program like SpeedStor or Ontrack, and have
  180. installed their drivers in Config.Sys, they will lie for you.
  181. They fool DOS into thinking disks with more than 1024 cylinders
  182. have fewer cylinders but more heads.  If there is no drive table
  183. slot for your disk, they will fake one for you.  HDSNIFF sees
  184. the end result of the smoke and mirrors.  In other words,
  185. HDSNIFF sees the same thing DOS does.
  186.  
  187. If you wanted to see the raw results, you could use HDTest's
  188. bootload program to find your orginal INT 13 entry point and
  189. then you could modify the assembler code in HDSNIFF to look
  190. there instead of the usual redirected INT 13.
  191.  
  192. Why Copyright?
  193. ==============
  194.  
  195. In the past all CMP software was public domain.  Now we are
  196. releasing only copyrighted software.  We did this because
  197. Rockwell International (a major American defense contractor)
  198. asked my permission to use my public domain RESTORE program to
  199. distribute their software.  I refused to bend my no military use
  200. rule.  They told me they were going to continue using it anyway.
  201. I found out legally I had no way to stop them because we did not
  202. display a copyright notice.
  203.  
  204. If there is any doubt whatsoever if your use of HDSniff
  205. constitutes military use, you must get clearance with Canadian
  206. Mind Products.
  207.  
  208. Errors
  209. ======
  210.  
  211. If you discover any errors, or if you have information about a
  212. disk controller and its step pulse rates that HDSNIFF does not
  213. cover, please let us know so we can incorporate that into the
  214. next version.
  215.  
  216. -30-
  217.