Background: The Catweasel ISA floppy disk controller is an add-in card
for the PC ISA bus. It uses specialized hardware, not a standard floppy
disk controller chip, and it can be programmed to read and write just
about any disk format.
I've written a pair of programs for the Catweasel called cw2dmk and dmk2cw.
dmk2cw is new in release 2.0 of the package.
cw2dmk can use a Catweasel ISA to read several kinds of floppy disk, some
of which ordinary PC controllers have trouble with, and save them in the
DMK disk image format. DMK is a format used by the Unix TRS-80 emulator
xtrs and by David Keil's TRS-80 emulator for MS-DOS. cw2dmk does not
just read TRS-80 disks. It can make an exact image of any disk written
using a Western Digital 177x/179x floppy disk controller, a PC-style
NEC765-compatible controller, or a Digital Equipment Corporation RX02
controller.
dmk2cw uses a Catweasel ISA to write any DMK image back to
a real floppy disk. It can handle the same kinds of disks as cw2dmk.
Currently no tools other than TRS-80 emulators and dmk2cw can use disk
images in DMK format, but perhaps more tools will be written in the future.
The ability to read disks with cw2dmk and write out copies with dmk2cw
already provides a useful way of archiving disks from old machines and
making physical copies when needed. A likely future direction for
cw2dmk/dmk2cw is to be able to write/read JV1 and JV3 disk images (these
are other common TRS-80 emulator formats) or raw arrays of sectors, in
cases where the disk can be represented in one of those formats.
The programs are free software, released under the GPL. You can download
the source code and executables for both Linux and MS-DOS from my TRS-80
resources page,
http://www.tim-mann.org/trs80resources.html. The MS-DOS
version also runs on Windows 95. Even those who prefer to build their
own sampling hardware instead of buying a Catweasel may find the source
code of some use.
Tim Mann tim.mann(a)compaq.com
http://www.tim-mann.org
Compaq Computer Corporation, Systems Research Center, Palo Alto, CA