For free software, you can try Recuva.

The usual recommendation, though, is probably GetDataBack. I think there's a free version that will tease you by showing you your files, but not recovering them (or recovering something like 200MB).
_________________________
Matt