Fred Cisin wrote:
Multiple choice:
"It can read xxxx disks" means:
...
B. It can read the physical disk, and has software that will
permit making an exact duplicate of the disk and/or creating
a file that contains an image used for replicating the disk.
...
The Cat Weasel appears to be able to do A, C, and
maybe B.
Actually, I'm mucking with a catweasel card right now.
I took Tim Mann's code as a starting point and I'm going from there. I
don't have any use for his decoding routines nor of making virtual disk
images since my needs are different. However, I can't imagine how many
hours of work he saved me by having routines that locate the card in PCI
space. Also, his "trackhist" program provided some very useful
subroutines. With the help of Tim's code, it took me less time to
modify/write the code to decode the disk format than it did to rig up
the 34-pin to 50-pin ribbon cable adapter.
Anyway, I can provide an example disk format where the catweasel, as it
stands, can't write the disk image, at least not without some dodgey
trial & error (try to write a track, read it back and if it is mucked
up, try and adjust the write timing for the next attempt. Even then,
there is a lot of luck involved).
Hard sectored disks are a problem for the catweasel to write. There is
a function to write from index mark to index mark, except the catweasel
assumes there is just a single index mark per revolution. Thus, you can
write one sector, but you can't even reliably tell it which sector you
want -- it just starts at the next index hole that appears. Perhaps
under DOS you can disable interrupts and figure out via polling when
sector N is about to appear and use index-to-index write mode. Even
this doesn't suffice for the disk format used by the Processor Tech
Helios system. It ignored every other sector mark so that effectively
there were 16 256B sectors instead of 32 128B sectors. Further, blocks
of data could be larger than 256B -- they simply spanned more than one
sector. Thus, this mode is useless for that scheme.
You can do a write where you specify "wait for an index hole, then write
this sequence of transitions". The problem is that due to speed
variations you can't say that index 5 is going to come exactly (166 2/3
ms / 32) after index 4. That is where you could try to write the whole
track, then read everything back to see if you succeeded and if not,
adjust the clock pulses wider or shorter to make things line up. Oh
yeah, in this mode I think it doesn't wait for an index hole, it just
goes whenever you tell it to, so good luck trying to get the data to
line up with the index marks at all.
As it turns out, now that I have the catweasel set up and running, there
are three disk formats that I would personally find useful to be able to
decode -- 8" Helios, 8" Wang 2200, and 5.25" Northstar. Guess what --
all three are hard sectored formats. Luckily, I'm really only looking
to use it to archive virtual disk images, not to create new disks.