The Catweasel floppy disk controller is an add-in card for the PC or Amiga. 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. Several versions have been manufactured. The Catwesel MK4 is a PCI device, the older Catweasel MK3 has two connectors and plugs into either the PCI bus of a PC or the Zorro bus of an Amiga, the MK2 plugs only into an Amiga, and the original MK1 or Catweasel ISA plugs into the ISA bus of a PC. The MK4 and MK2 are still available new, while the other two are sold out but can sometimes be found used.
I've written a set of programs for use with the Catweasel. My programs run on Linux, Windows 95, or MS-DOS and work with the Catweasel MK1, MK3, and MK4. They don't run on the Amiga -- sorry. Note: My Catweasel programs also do not run on Windows NT, 2000, XP, or 2003. I'm not sure if they run on Windows 98 or ME. The problem is that they need to talk directly to the hardware; they do not go through a device driver loaded into the operating system. I hope to find time to change that eventually.
You can download the source code and executables for both Linux and MS-DOS below. The MS-DOS version also runs on Windows 95.
Currently, DMK and JV3 disk images are useful mostly with TRS-80 emulators, but the ability to read disks with cw2dmk and write out copies with dmk2cw also provides a nice way of archiving disks from old machines and making physical copies when needed. The dmklib project noted above may lead to still more applications.