The Sleuth Kit is a C++ library and collection of open source file system forensics tools that allow you to, among other things, view allocated and deleted data from NTFS, FAT, FFS, EXT2, Ext3, HFS+, and ISO9660 images.
...It's necessary to use a partition with enough adjacent free blocks (code length + holes for fragmentation) within a blockgroup, for this algorithm to work correctly.
WARNING: This is experimental software and could cause crashes or data loss!