Andy Reitz (blog)

 

 

More details of "The Transition"

| 1 Comment

I just stumbled across Apple's Universal Binary Programming Guidelines document. It looks like there is quite a bit of detailed technical information in this document, including some information on Rosetta. Some bad news: Rosetta cannot run Classic (MacOS 8/9 apps), and Rosetta only emulates a G3. That means that any software that requires a G4 or G5 is out. In addition, Rosetta cannot be used to emulate kernel extensions, so an x86-based mac is going to need new drivers for all of your old hardware. Is this going to be a new form of "driver hell"?

-Andy.

 

 

1 Comment

I think the Universal Binary document is a little misleading on this front. Most software that lists a G4 or better as a requirement is really using that as shorthand for 'a Mac of such and such speed.' We use a few G3 laptops around here and hardly anything doesn't run (albeit slowly). iDVD and FCP come to mind as exceptions.

I think the bottom-line is that anything that codes to Altivec's bare metal won't run. If your code writes to the Acceleration Framework or the older veclib instead (like they should), it should run. I imagine that iDVD and FCP, being Apple apps, use one of those solutions. But no doubt, some percentage of third-party apps will be hurt.

As for Classic, I hope we haven't seen the end of the "Blue Box" yet. It is, after all, just a PPC app! Most Classic apps - those which don't make use of OS 9 drivers, but just map to OS X's drivers for stuff like printing - should in theory be able to run. I suspect the real issue here is support - since *some* Classic apps, like scanner software, won't work, why confuse the issue by supporting any. It's a support headache, and Apple wants to drop Classic anyhow.

Which kinda burns me personally, since I occasionally run a Classic app which will cost about $1500 per box to replace. So I hope Blue Box lives on somehow.

As for drivers -

The real question is, will I/O Kit drivers work via Rosetta? They're userspace, and not mentioned in the Universal Binary document, so I think they will. Most third-party Mac OS X drivers, for stuff like printers and USB devices, are I/O Kit based.

Also, kexts just finally got a stable interface in 10.4. Before that, many kexts would break between point releases anyway. So I don't think there's gonna be too much driver hell.