I assume this is a Windoze box - FAT32? NTFS?
I've had some success with GetDataBack for NTFS and OnTrack EasyRecovery - both commercial.
One hint: do NOT attempt to in-place repair the filesytem of a physically damaged harddisk - always copy the recovered data directly to another drive.