I've been developing Python code for dealing with .IMD files off and on. It's not
complete by any stretch of imagination, but if you're comfortable with Python then you
might be able to use it to do what you want:
https://github.com/NF6X/pyImageDisk
At this time, extracting meaningful data would require more coding. Using the provided
classes to pull out raw sector data would be easy, but it does not yet have any
understanding of filesystems. I do play to add support for at least some filesystems in
the future, but at this time the filesystem code is just some nonfunctional skeleton
classes that I'm still working on.
The provided command-line utility will at least reveal details about the low level format,
such as sector sizes, interleave factors, use of different sector address marks (i.e., the
use of DDAM marks on the directory track of some TRS-80 formats), or weird cylinder and
head numbers in the headers. It'll also do hex dumps of the entire disk image or
individual sectors. And it can change interleave factors and first sector after the index
pulse if that might be helpful.
--
Mark J. Blair, NF6X <nf6x at nf6x.net>
http://www.nf6x.net/