This directory contains the driver code for the CCRMA Frankenstein DSP card.
We try to present a uniform interface to all Motorolla DSP56001-based cards. However, NEXTSTEP's Driver Kit does not currently allow for shared abstract superclasses. (There's some debate about whether it supports abstract super-classes at all. Hence, to avoid trouble, I haven't used one.) Neither does it allow for user-level Driver Kit objects. Therefore, we implement a pseudo-object orientation as follows:
The directory drivers/DSPMKDriver/ contains files that are "shared". These files begin with the name "dspdriver" or "DSPMK". These files contain code that is not specific to any particular card. The "class" DSPMKDriver encapsulates what is in common between various cards. In the current implementation, however, this is not an abstract class, but simply an included file.
To make a driver for a new card:
- Copy the "upstairs" directory recursively.
- Change all references to Frankenstein to <YourCard>, including file names.
- Add your card's special-purpose code.
- Adjust the Default.table appropriately for your card's requirements.
David Jaffe
