home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / diskutil / llformat.asm < prev    next >
Assembly Source File  |  1994-03-04  |  2KB  |  45 lines

  1. Date: Tue, 20 Jun 89 13:42:58 CDT
  2. From: "Rich Winkel - UMC Math Department" <MATHRICH@UMCVMB.MISSOURI.EDU>
  3. To: Info-IBMPC@WSMR-SIMTEL20.ARMY.MIL
  4. Subject: Re: Resetting Interleave on a Slow Hard Disk
  5.  
  6. Your low disk performance is probably due to a non-optimal interleave
  7. factor.  The interleave is a number which indicates how many physical
  8. sectors lie between consecutive logical sectors on a track.  With a fast
  9. enough controller and cpu, the logical sectors could be placed in
  10. sequential order around the track, but with a PC-level machine reading
  11. consecutive sectors, by the time the machine is finished digesting sector
  12. N, the next physical sector has already passed by the head, so it can't be
  13. read until the disk undergoes a full rotation.  The solution is to place
  14. logical sector N+1 two or more sectors away from sector N, so that N+1 is
  15. about to pass under the head at the same time that the hardware is ready
  16. for it.  Anyway, on PC style machines, an interleave of 3 is usually best.
  17. The original IBM XTs came with an interleave factor of 6, so the hard disk
  18. had about half the performance that it was capable of.  The interleave
  19. factor is determined at 'primary format' time.  Primary formatting is NOT
  20. what the dos FORMAT.COM does.  If you want to do a primary format, you
  21. have to either use debug to write your own short machine language program,
  22. or, on some hard disk controllers, you can run a relatively 'user
  23. friendly' routine that's built into your hard disk bios at address C800:5.
  24. I recommend writing the program, since not all controllers have the C800:5
  25. routine.  Here's what you do:
  26.  
  27. DEBUG                     (run debug.com from the dos prompt)
  28. A 100                     ; assemble a program
  29. MOV AX,0703               ; the 03 here is the interleave to use
  30. XOR BX,BX
  31. MOV ES,BX                 ; this gets around a pesky bug in the XT bios
  32. MOV CX,0001
  33. MOV DX,0080               ; use 80 for the first hard disk, 81 for second
  34. INT 13                    ; do the format ... takes a few minutes
  35. INT 20                    ; terminate program
  36. (enter a null line here to get out of input mode)
  37. G                         (run the program that you just typed in)
  38. Q                         (exit to dos)
  39.  
  40. After this, you'll need to run FDISK and the dos FORMAT to finish setting
  41. up the disk.  Of course, don't forget to BACK UP YOUR FILES before you do
  42. anything ... this procedure will wipe the slate clean.
  43.  
  44. Rich
  45.