VOGONS


First post, by jjuran

User metadata
Rank Newbie
Rank
Newbie

I'm working on a reimplementation of the Sound Driver API via the Sound Manager, called Legacynth.

A number of old games that use the Sound Driver are still able to run in Mac OS 9, but with no sound — there's a .Sound driver on PPC and AV Macs, but it doesn't produce audio. Legacynth intercepts the I/O calls to the driver and translates them into Sound Manager calls. The initial release supports sampled sounds and comes with a test program so you can easily verify that it works.

You can download it here: https://www.macrelics.com/legacynth/

There's also AGPL-licensed source code in https://github.com/jjuran/metamage_1 under apps/mac/Legacynth/.

The next release (with square-wave tones) is coming soon, but in the meantime, I'm interested in any and all feedback. Beyond making it work, I put some real effort into making it usable, and I hope it shows.

Reply 1 of 6, by jjuran

User metadata
Rank Newbie
Rank
Newbie
jjuran wrote on 2025-10-22, 23:50:

I'm working on a reimplementation of the Sound Driver API via the Sound Manager, called Legacynth.

The initial release supports sampled sounds...

You can download it here: https://www.macrelics.com/legacynth/

Legacynth now supports all three Sound Driver modes:

  • free-form (i.e. sampled) sounds (as in Phraze Craze Plus)
  • square-wave sequences (all sound effects in Lode Runner)
  • four-tone music (a staple of Duane Blehm's games, such as Cairo ShootOut).

The package includes test applications for all three modes.

Reply 2 of 6, by digger

User metadata
Rank Oldbie
Rank
Oldbie

These kind of retro projects are really cool.

On the PC side of things, I've been closely following similar projects that restore sound compatibility in older DOS and Windows games on newer hardware through Sound Blaster emulation and such. (Notably SBEMU, VSBHDA and SoftMPU, but also the recently shared HDA driver for Windows 9x.)

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.

Although I didn't experience the early Mac side of things, projects like yours make me happy. Especially when it comes to games, the omission of sound support takes away much of the fun experience.

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?

Reply 3 of 6, by jjuran

User metadata
Rank Newbie
Rank
Newbie
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.

Reply 4 of 6, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the insightful explanation. I remember visiting the Advanced Mac Substitute website before, but I forgot about how the project was called.

I'm curious to see what creative solutions you will come up with to resolve the lag problem in Legacynth. It seems like you've given yourself an interesting challenge. 🙂

Reply 5 of 6, by theelf

User metadata
Rank Oldbie
Rank
Oldbie
jjuran wrote on 2025-10-22, 23:50:
I'm working on a reimplementation of the Sound Driver API via the Sound Manager, called Legacynth. […]
Show full quote

I'm working on a reimplementation of the Sound Driver API via the Sound Manager, called Legacynth.

A number of old games that use the Sound Driver are still able to run in Mac OS 9, but with no sound — there's a .Sound driver on PPC and AV Macs, but it doesn't produce audio. Legacynth intercepts the I/O calls to the driver and translates them into Sound Manager calls. The initial release supports sampled sounds and comes with a test program so you can easily verify that it works.

You can download it here: https://www.macrelics.com/legacynth/

There's also AGPL-licensed source code in https://github.com/jjuran/metamage_1 under apps/mac/Legacynth/.

The next release (with square-wave tones) is coming soon, but in the meantime, I'm interested in any and all feedback. Beyond making it work, I put some real effort into making it usable, and I hope it shows.

Thanks a lot!!! right now im in holidays, then no computers near me

but right now im my home i have beside the mac classic, two PPC machines with OS9 all time working, a beige g3 and a powerbook pismo

As soon arirve home end of month i will try your work!! thanks

Reply 6 of 6, by Nitram78

User metadata
Rank Newbie
Rank
Newbie

That's a great initiative.
Have you considered talking about your work on other forums that are visited more frequently by Mac users, such as TinkerDifferent and 68kmla ?