5

I'm hoping this question sneaks by the 'is-it-really-retro' censors :-) because it involves a classic OS but running under (modern) virtualization.

As far as I can tell, Mac OS X 10.5 "Leopard" shipped for Intel based Macs with Apple's "Rosetta" emulation technology to support classic PPC apps during the transition period. Before getting bogged down in Qemu or Sheepshaver, I decided to fire up Leopard on a vmWare Fusion virtual machine and take a look at Rosetta. I was able to get Leopard running using the EFI unlocker patch from https://github.com/ivanagui2/efi-unlocker and everything seemed to be going smoothly. But the resulting VM steadfastly refuses to run any 'classic' application that would involve using Rosetta.

I'm not asking for vmWare troulbeshooting steps (although any hints are helpful) - I'm more interested in making sure there isn't some hidden gotcha in Leopard that I've overlooked. If I were running on real hardware, this should work? right?

4
  • 12
    You don't specify what apps you tried to run, but keep in mind that Mac OS 9 apps are not supported on Intel Macs. Rosetta is only for running Mac OS X PPC applications.
    – user24811
    Oct 10, 2022 at 14:34
  • 2
    Are you sure that Rosetta is actually installed in your 10.5 VM? Rosetta 2 (which runs Intel apps on Apple Silicon macOS) has to be installed as an add-on, although I can't remember if that was true for the earlier Rosetta. Oct 10, 2022 at 15:00
  • 6
    @user24811 - You might have answered my question, although not in the way I expected. I've been operating under the delusion that Rosetta would run 'PPC' apps from Mac OS 9.x - perhaps the OP is a bonehead.
    – Geo...
    Oct 10, 2022 at 15:24
  • 5
    Just for completeness - The "Classic environment" that allows running Mac OS 9 applications on PPC systems was only supported up to OS X 10.4 "Tiger". It's gone in "Leopard" even for PPC Macs.
    – Brian H
    Oct 10, 2022 at 19:31

2 Answers 2

7

You are trying to combine two different utilities (neither of which, strictly speaking, is an emulator):

  • Rosetta is a low-level translator which takes binary instructions intended for a PowerPPC processor, and translates them to equivalent instructions on an Intel x86 hardware. It allows for programs compiled against PowerPPC hardware to run on Intel hardware, but does not change how they interact with the OS.
  • The Classic Environment is a virtualisation environment which essentially runs a sandboxed copy of MacOS 9 inside a MacOS X session. The programs running inside the sandbox are running on the real hardware, but think they are interacting with a "Classic MacOS" system, not a Unix-based MacOS X system.

To combine the two would require:

  • The parts of MacOS 9 used by the Classic Environment to run through Rosetta, which would probably require support for CPU features not used by most applications. Alternatively, that code could be recompiled for the new architecture, but that would likely still require rewriting sections of low-level code.
  • All applications inside the Classic Environment to also be run through Rosetta. Essentially each application would be running through two levels of indirection: one to rewrite the CPU instructions for the new hardware, and one to intercept system APIs and direct them to the Classic Environment. This would probably have a significant performance penalty.

The switch to Intel hardware happened 5 years after the switch to Unix-based system software, so the developer documentation for Rosetta simply lists the Classic Environment as unsupported under Rosetta, and the Classic Environment was removed from subsequent versions of MacOS X.

-1

You have Rosetta to run PPC applications on an Intel Mac. It acts a bit like a JIT compiler translating machine code as it goes.

You also have the "classic environment" which essentially emulates a system 9 based Mac in OS X.

These are two different technologies. The important point from your perspective is that Rosetta was first supported in 10.4.4 and dropped in 10.7. The Classic environment was in at the beginning (well maybe not 10.0) but support was dropped for 10.5. You can't run the classic environment in OS X 10.5 even if you have a PPC Mac.

If you want to run a classic app on an Intel Mac, you'll need to install 10.4.x where x is greater than 3. The final version of Tiger is probably what you want, but it may turn out that even that doesn't work because the classic environment probably needs to do some fairly dodgy low level stuff.

4
  • It's all correct info above. The downvote doesn't know what they are talking about.
    – JeremyP
    Oct 18, 2022 at 8:19
  • Not sure about the downvote, but I think your last paragraph might be wrong. I think it is impossible to run a 'classic' app on an Intel Mac. You could only run classic apps on PPC based Macs - which is the error I made in my original question.
    – Geo...
    Oct 21, 2022 at 16:23
  • @Geo... which is why I wrote "but it may turn out that even that doesn't work because the classic environment probably needs to do some fairly dodgy low level stuff"
    – JeremyP
    Oct 23, 2022 at 13:26
  • ah, erm, yes. Well I think I have conclusively and publicly demonstrated that reading comprehension isn't my strong suit. :-)
    – Geo...
    Oct 23, 2022 at 14:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .