David Schmidt tim lindner

Project Goals

Catweasel-OSX is a project with the goal of developing a complete driver suite for the Catweasel MK3 and MK4 PCI card on Mac OS X. It will include floppy, joystick and SID drivers.

Much of this project is currently in development/Alpha phase, there's not a lot of user-friendly download and install componentry yet. But if you have an older Mac with a PCI-based Catweasel card, this is the project for you!

Project Components

Floppy Disk Imaging Tools/Commands

The great work of Tim Mann, Jim Battle, Jay Jaeger, and others has been ported to use the IOKit Kernel Extension driver so that they can live peacefully with a driver rather than having to control the Catweasel exclusively. The commands that have been ported so far include:

  • cw2dmk - Read a floppy disk and make an exact copy in DMK format
  • dmk2cw - Write a DMK floppy disk image file onto a disk
  • dmk2jv3 - Convert a DMK floppy disk image file to JV3 format
  • jv2dmk - Convert a JV1 or JV3 floppy disk image file to DMK format
  • cwwvd - Read a Wang disk and make an exact copy in WVD format
  • cwns - Read a NorthStar hard-sectored disk and create a DMK and NSI image file
  • cwhelios - Read and interpret the filesystem of a Helios floppy disk, saving in IMG or SVH format
  • testhist - Read a track of a disk and print a histogram of flux interval timing samples

Work is currently underway to connect Karsten Scheibler's excellent cwtool toolset to the OSX driver. A layer that intercepts the ioctl() calls destined for the Linux driver is being written to redirect and re-formulate those calls into a form the catweasel-osx driver understands. The merged/ported code will be integrated into Karsten's official code stream once complete, and a buildable snapshot may be hosted here as well. The official cwtool code stream will remain with Karsten.

Currently, installation for the disk driver and commands is manual at best. The immediate goals are to gather other cw2dmk-like commands and produce a common set of services they all can use to enable simpler creation of new ones, and to complete the ioctl() conversion layer to enable ctwool. Help wanted includes updates to the build system to enable 64-bit driver production.

Catweasel MK4 IOKit Kernel Extension

Fully functional HID driver for joysticks and keyboards. HID devices can be used as input for all Mac OS X applications that access joysticks directly.

Fully functional SID driver so userland SID players can access the sound chips on the Catweasel MK4.

Fully functional floppy disk driver.
This portion of the driver I see having two modes. A raw mode that gives the userland application total control of the card. This will shutdown the HID and SID portions of the driver. The second mode supports calls for track stepping and disk I/O. The driver will provide actual flux transition times and not interrupt the data in any way.

Catweasel MK4 Static Library

Static library so userland applications can easily communicate with the driver.

Catweasel MK4 Framework

A Framework for a similar dynamic library.

CatweaselMK4 Preference Pane (Dormant)

Preference Panel so the User can configure the driver with ease.

Project Admins:


Wiki: cw2dmk
Wiki: cwhelios
Wiki: cwwvd
Wiki: dmk2cw
Wiki: dmk2jv3
Wiki: jv2dmk
Wiki: testhist

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks