Does anyone know of a program I can use (preferably
under Linux, but DOS
would probably work as well) to read a flux-transition level image off a
disk using a catweasel card? I'm trying to read some 2.4MB (5.25")
floppies from an IBM 3174 controller (using an 2.4MB floppy drive), and
am able to read in 1.2MB floppies using cw2dmk just fine, but it doesn't
do so well at processing the (aparently) mixed-density floppy I've been
screwing with since yesterday. Using the "testhist" program included
with cw2dmk, I can get information about the "unreadable" tracks, but
cw2dmk won't process them. I'm trying to make a backup image of a disk
so that I'm not screwed when the disk stops being readable...
If you give testhist one more argument (a filename), it will dump the
Catweasel's sample buffer to that file. That's a flux-transition level
image.
I don't have anything that will write such an image directly back to a
disk, though. You could write a program to do it by removing most of
the guts from dmk2cw. However, I don't know how readable such a disk
would be. I don't really trust a process that doesn't include decoding
the data, doing retries if it has a bad CRC, manually trying
read-postcompensation (-o flag to cw2dmk) if that still doesn't work,
and writing the data back with write-precompensation.
If this data is just MFM in an IBM/ISO-style format at a higher clock
rate, you probably can read it with cw2dmk by playing with enough of its
options. You'll need -1 and -2 to set lower thresholds between short,
medium, and long intervals (they should be about halfway between the
peaks that testhist gives you), and -l to make the DMK track length
twice as long as for a 1.2 MB disk. You may need to play with -o too,
especially if you can read lower track numbers but higher ones keep
getting CRC errors.
I'd also suggest using the highest (28.322 MHz) Catweasel clock rate for
these disks, seeing that you have a MK3. (The MK1 doesn't support this
rate.) You'll need to give 4 as the clock rate to testhist to get a new
set of peaks, and then give the -c 4 option to cw2dmk.
There's still not a way to write this image back, though, as dmk2cw
doesn't offer enough control from the command line. After you find a
set of parameters that work in cw2dmk, define a new kind_desc in kind.h
and recompile. You can then write disks that use these parameters with
dmk2cw, and more conveniently read them in cw2dmk using one -k option
instead of all the individual options I listed above.
Feel free to email me if you need more help.
--
Tim Mann tim at
tim-mann.org http://tim-mann.org/