digger wrote on 2026-01-08, 02:51:
It's interesting how backwards-compatible sound support posed a larger problem than graphics compatibility, even on different architectures. Or maybe sound support just fell on the wayside, because it was deemed "optional" when running older software, and therefore not worth the extra effort to implement in emulators and compatibility layers.
Thanks for creating this and sharing this with the world! 🙂
N00b question from someone who grew up in the DOS and Windows PC ecosystem: will this also work when running these games in the Mac OS 9 compatibility mode included in Mac OS X 10.4 Tiger and older? And would it work on x86 CPUs through Rosetta as well?
I don't think implementing Sound Driver support on newer machines was a problem, as such. They just opted not to do it. Though I'm trying to think of another Apple-documented API besides the Sound Driver that was not merely deprecated but axed entirely prior to Carbon, and I can't think of one.
Sound has even been "optional" when running current software, in VNC.
For its own part, Legacynth (a means of intercepting Sound Driver calls and re-dispatching them as Sound Manager calls) definitely works in the Blue Box. Unfortunately, the Sound Manager itself works rather poorly. One demonstration of this is the Organ Console application I include in the package: As you press and release keys, you can see Legacynth's "Current synth:" status quickly update to either "four-tone" or "idle", with the actual sound lagging hundreds of ms behind. A 68K build of Organ Console running in an emulator (such as Advanced Mac Substitute) that has no JIT or dynamic recompilation but uses native OS X audio facilities is much more responsive than a PPC build running in the Blue Box. And it's not just Sound Driver clients — gems like Sound Trekker also suffer in the Classic compatibility environment.
In conclusion, it indeed works in at least a technical sense, but the result is often unsatisfactory. Naturally, I have some thoughts about ways to address that. 😀
As for Rosetta: Understand that the Sound Driver is implemented as a classic Mac OS device driver, and the API for interacting with those didn't survive the transition to Carbon (and neither did the trap-patching that Legacynth relies on) — so in Mac OS X, Sound Driver clients (and Legacynth) only run in Classic, and Classic only existed on PPC. So the answer to that question is a hard no — Legacynth doesn't work on x86. But Advanced Mac Substitute does — and it also runs various applications that I'd been hoping would benefit from Legacynth (Battle Chess, Deja Vu, Dungeon of Doom, The Fool's Errand) but don't actually run properly in Mac OS 9, with or without sound.