The Sound Driver predates the Sound Manager.
Sound Driver: original ROM routines from the Mac 128 to the Mac SE or so, still present in System 6.0.8 and early versions of System 7 for compatibility reasons.
Sound Manager: started appearing in System 6.0.x and promised to manage snd resources better.
This document targets the earlier Sound Driver, as per Inside Macintosh vol II (the original version) and lets you code a sound engine for the earliest macs, including my favorite, the Mac Plus.
Herein this excel spreadsheet, you'll find how I computed the values needed for the square-wave synth, the four-tone synth and the freeform wave synth of the Sound Driver. I based it on an equal temperament scale, assuming that every semi-tone of an octave takes 1/12th of a jump towards the next higher octave, which should double the frequency. The values needed for the Sound Driver are inversely proportional to the frequency and must follow a precise formula ultimately linked to a derived clock frequency.
See this thread for an example project that uses these:
Sound Driver: original ROM routines from the Mac 128 to the Mac SE or so, still present in System 6.0.8 and early versions of System 7 for compatibility reasons.
Sound Manager: started appearing in System 6.0.x and promised to manage snd resources better.
This document targets the earlier Sound Driver, as per Inside Macintosh vol II (the original version) and lets you code a sound engine for the earliest macs, including my favorite, the Mac Plus.
Herein this excel spreadsheet, you'll find how I computed the values needed for the square-wave synth, the four-tone synth and the freeform wave synth of the Sound Driver. I based it on an equal temperament scale, assuming that every semi-tone of an octave takes 1/12th of a jump towards the next higher octave, which should double the frequency. The values needed for the Sound Driver are inversely proportional to the frequency and must follow a precise formula ultimately linked to a derived clock frequency.
See this thread for an example project that uses these: