If you have an old hard drive on which you want to have a surface test performed in order to know how good or bad it can be, MHDD is your best friend. Unfortunately, MHDD dropped the CHS support for old hard drives in old PC’s at version 3.0. In theory, i havent had the chance or the need to test it, but the last working version on these old hard drive is suppost to be 2.9
Here is a few things i have found on the web, could they be useful for you someday.
— MHDD Changelog — (source)
MHDD: Log of changes (only most important improvements are listed) 4.6 + Fixed rare hangs when working with slave device + Fixed TOF/ATOF problem with determining maximum file size when operating with SCSI devices + Fixed displaying firmware version instead of serial number in SMART ATT + Added PCI device ITE 8211 PCI IDE + Added PCI device VIA VT6421 IDE RAID + Fixed several issues with some modern BIOSes + Jumps while scanning now logged properly + Resets ("R" key) while scanning now logged properly + ASPI drivers now have latest versions. 4.5 + Makelog now checks free space before starting writing logs + New command line switch /NOPINGPONG - switch off some sounds in MHDD + Fixed a cosmetic bug with block counters during Scan + RPM measurement now works for SCSI drives + Fixed: scan hangs on a bad block while testing SCSI drive + New command: CONFIG - device configuration view and modify. Can be used to get full size on drives which were cutted by distributor, to switch on/off things such as SMART, AAM, HPA, LBA48, Security. Switching of DMA modes is also available + IDE CDROM detection and scanning. ALT+E ejects/loads the disc. Also seektest (command CX) is now working with IDE CDROM. 4.4 + SCAN fixed (now no more crashes on the end of scan) + SCAN: summary information enhanced + MHDD now recognize removable IDE/SATA media + MHDD now recognize cache size + MAN command: now you can dump the output of man to a file + ATA terminal: new command REGS48 - write to registers in LBA48 mode + BIOS compatibility improved + SCSI functions: speed dramatically increased (up to 100 mbytes/sec) + MHDD now recognize PCI HPT 37x controller + Other fixes 4.3 + SCSI Terminal + ATA/SCSI Terminal: scripting engine completely rewritten. Now supported loops, vars, etc. Please see examples under SCRIPTS folder + ERASE: fixed small cosmetic bug + Some visual improvements + Embedded help system. New command: MAN 4.2 + Activation removed + Documentation rewritten + HPA: fixed bug with Seagates + ID: use EID to get enhanced information + TOF: defects skipping fixed + TOF: sector size 2..4096 bytes supported + New command: ATOF. Auto-slpitting output image by parts + New feature: MHDD ATA terminal: see SCRIPTS folder + SCSI drives supported through DOS ASPI + New command: SCSIINFO (F9) + SCAN: SCSI support (just scanning, no erasewaits or remaps) + SCSI supported in: CX, TOF/ATOF, ERASE. + New command line parameter: /DISABLESCSI + New command: UNITSIZE. Change unit size of SCSI device + MAKELOG: Build binary log of scan. Then you can build scalable graphs, etc. + ATI IDE/SATA boards supported + Global logging: mhdd.log + SMART ATT: temperature fixed 4.0 + Small fixes + cwsdpmi.exe not needed from now + ITE8212 IDE controlled added + CX now show average latency (seek+read one sector) + erase: speed increased up to 50mb/sec and even more when used on controllers which support UDMA by BIOS + erase: current speed display + SiS IDE controllers added + SMART: RAW-values fixed + Promise controllers detection fixed 3.9 + Range Check error when selecting a drive fixed + Fixed Serial ATA conrollers detection (Via and SiI) + Intel ICH5 Native Mode detection fixed + CRITICAL: FF/TOF procedures fixed. Data was written into wrong place on LBA48 drives + CRITICAL: fixed a bug when MHDD locks the drive when launching + CX now make SEEK+READ instead of just Seek + AAM now make SEEK+READ too + Scan: logging fixed + Timer functions has been completely rewritten + Scan: Timings changed to make better picture on latest drives + MHDD requires Pentium from now + CRITICAL: great speed improve on ERASE, FF, TOF and READ procedures + BIOS support added. Erase now will go via bios if the drive correctly detected by BIOS. You can switch this off by /DISABLEBIOS command line parameter + PWD, UNLOCK, DISPWD procedures fixed (just cosmetics and reporting) 3.8 + RPM procedure fixed + Keyboard procedures rewritten + Menu control procedures rewritten and optimized + Help system completely rewritten * Context help in the status bar * Command autocomplete on TAB key * F1 (Help) completely new + BSOD rewritten :-) + NVidia SATA/PATA controllers added 3.7 + Fixed a bug running from write-protected media + Fixed bugs running on systems with HPT controllers + Fixed PCI module (several errors which fails mhdd) + Makebad/Randombad commands are back + Several checks added to improve stability + SCAN: Timeouts logging fixed 3.6 + PCI bus scanning: several changes to improve detection of PCI cards + Registers "sticking" fixed :-) + ERASE: fixed small bug + SCAN: logging improved (statistics added) + SCAN: current/max lba numbers are "formatted" now + Optimized output somewhere and also optimized some procedures 3.5.2 + Some insignificant fixes in SCAN procedure + CLRMBR command added (clears MBR). It backups MBR into two places: file LBA0.MBR and LBA 1 on your drive before erasing 3.4 + Timer improved (10 times more precise now) + /RO key added to prevent MHDD to try to save any file + TOF and READ: changed algorithm of detecting error LBA number + VIA IDE controllers recognition fixed 3.3 + Intel ICH5/6 Native Mode SATA controller support added + Slave devices have been disabled + New command line parameter: /ENABLEPRIMARY + VIA VT6420/6410/RAID controllers added + Several fixes 3.2 + Added sound alarm "on finish" (erase, ff, tof) + Fixed a bug with reading from registers 3.1 + Compiler has been changed to 32-bit FreePascal + Completely rewritten module which works with PCI ATA controllers. Serial ATA now also supported + CHS removed + LBA48 added + Program activation added to be sure that user have read the documentation + Program could be run from write protected storage (with some limitations) + Erase procedure updated 3.0 + Rewritten config file management. Running from floppy quite faster now. + Fixed "erase" procedure. Now fills with zeroes + Actual time during scan + Fixed division by 0 in copy/read/scan procedures 220.127.116.11 (Sep 2004) + Smart attribute names updated. + TOF procedure rewritten, now skips bad blocks, makes detailed log file. + EraseWaits counter + More precise logging (using flush procedure now to add to logs) + Fixed some bugs in scan/copy/read + Clean up the source + CoProcessor emulation removed