Advocacy

  Myths
  Press

Dojo (HowTo)

  General
  Hack
  Hardware
  Interface
  Software

Reference

  Standards
  People
  Forensics

Markets

  Web

Museum

  CodeNames
  Easter Eggs
  History
  Innovation
  Sightings

News

  Opinion

Other

  Martial Arts
  ITIL
  Thought


Mac Emulators for the PC?
The Truth about Mac Emulation

By:David K. Every
©Copyright 1999


There is a Mac Emulator out, called Gemulator, that seems to be getting some attention (and I'm getting email questions about) -- and the creator is making some pretty fantastic claims. So I'm going to try to clarify (express my opinions) based on what I know about computers and emulators. I'm using that particular product as the example, because it seems to make the most fantastic claims, but the application of this information is intended to be broader (and applied logically, where applicable, to any Mac emulators running on the PC).

I have not actually run the Gemulator, but I have seen some other emulators, so I'm doing this based on logic, reason and mathematics (and using the companies own numbers) -- and I am trying to do a little fact checking and counter-balance.

The info about the product (at Gem98Pro) makes some implications about performance. If you go to the benchmark page, you get the claims:

  • for Pentium processors, the rule of thumb is simple: take 1/2 the clock speed of your Pentium to get the approximate 68000 and 68030 emulation speed. So for example, a 233 MHz Pentium based computer will run about 3 to 4 times faster than a Mac IIci computer.
      
  • for Pentium II and Pentium III processors, which have the larger 512K cache and improved designed over standard Pentium processors, the rule of thumb increases to about 2/3 the clock speed. In other words, a 300 MHz Pentium II emulates the equivalent speed of about a 200 MHz 68030. A 400 MHz Pentium II has been benchmarked to run at about the speed of a 280 MHz 68030.

This is a pretty extreme claim, and one that I doubt would hold up in the real world. But then again, this guy says things like the emulator has ROM support for the "Atari Macintosh SE" -- and here I didn't think Atari ever made Macintosh SE ROMS. Even the implication of speed is sloppy, that it is between a "68000 and 68030 in speed" at the same clock rate -- which is quite a spread. That is like saying it is somewhere between a Ferrari and a Yugo in the 1/4 mile. Even the bar-graph link on the page goes to the wrong place (I found the proper link anyway at: http://www.emulators.com/images/w51count.gif). So I think the guy is more sloppy than malicious.

Methodology

The guys methodology for performance testing is very weak. He used one Application -- Microsoft Word 5.1, and did one command set (repagination and word count). For that very limited set he got results like:

  1. MacIIcx - 1:04 - (16 MHz 68030)
  2. Quadra 610 - :21 (25 MHz 68040)
  3. PentiumII/233 - :18
  4. PentiumII/400 - :11
  5. PentiumIII/550 - 0.08

    Now once again, the guy is sloppy. "0.08" seems to mean 8/100ths of a second, but I suspect the author means 0:08 seconds. His little typing error just accidentally implies a 100:1 error in his favor.

The real problem is that no single benchmark is valid -- especially Microsoft Word on the Mac! And I suspect that if we normalize the data (by sampling many different Word tests), we would see results far lower than 3:1 in performance between a IIcx and a Quadra (or Pentium II) -- which immediately brings up the suspicion of "cherry picking" and using an extreme example to mislead people (see dirty marketing). More important than that, Microsoft programs are infamous for being slow and inefficient programs on the Mac -- and the low speed of Word's performance has flagged some design problems with the code to begin with. So using one sample is bad enough -- but choosing a bad single sample is much worse. One of the most obvious indicators that something is wrong is just comparing a the Quadra to the MacIIcx -- a machine that is 50% faster in processor clock speed (and a bit more for FP functions and because of a cache) should not be over 3 times faster in the real world just doing a word search or repagination. That just doesn't happen normally, under regular circumstances and with equal amount of optimization or design. So we already see that the sample (Word 5.1 on a 030) is severely misrepresentative of the "real world" and most 68030 to 68040 differences won't be near the 3:1 that this example shows.

So this whole example, and the claims made based on it, seem to me to sound like, "A Yugo is as fast as a Ferrari in the 1/4 mile..." assuming the quarter mile is vertical and they are both dropped flat off a cliff. Probably not an untrue statement, but it doesn't exactly mean what many people will think it means.

More than that, when we start to do the math (the other way), we can see more realistic results. A 233 MHz Pentium II can emulate a 68040 series Mac just a little faster than 25 MHz. Though I believe that they strategically chose one of the few '040 models that didn't have a floating point unit built in for a reason. Either way, this is like a 9:1 ratio in clock adjustment (pentium to 68000) -- which means it takes roughly 9 (or more) Pentium instructions to emulate a single 68000 instruction.

Actually, it is probably quite a worse, since the cache, bus speed, and superscaler capabilities of the Pentium, mean it is probably executing more like 15-25 instructions per single 68000 instruction completed (when compared to a 68040). Which makes far more mathematical sense because of the richer registers and better instruction set of the 68000 (compared to an x86 Pentium).

So when you compare the authors "2/3rds the clock speed" claim you will be somewhat mislead. I see that it is more like a 1/9th the clock speed (sans FPU) -- or that he roughly overrated his claims by 6 times. In the real world, and under more serious tests, I doubt even that claim would be lived up to in all (or even most) cases. Of course, as I mentioned before, I think he was just using sloppy methodology.

The Sweet Spot!

Now in the real world, there is something else -- real world usability and what I call "the sweet spot". Let's say it is the threshold where most machines in use are running at (in performance). It is also where most software writers will target as their "low end machines" -- and is the minimum required performance that their newest software will need to still be usable at. So you will at least that class of emulator performance in order for the emulator to be really useful for new Apps.

  • For a PC this is probably a 120 - 133 MHz Pentium. DOS, Win31, Win16 Apps, and the huge legacy of market (and volume of machines) actually holds this number back, and keeps it from advancing quickly. Too many companies have mountains of older machines, and software companies are sensitive to that.
     
  • For a Mac lets put this at about 150 - 200 MHz 604. Apple has pushed theirs forward quite a bit because of the really high volumes of iMacs and the upsurge in sales, pushing for PPC support only, and so on. So many software writers are willing to push a little more. On top of that, Apple is dropping support for non-PPC machines (and even non-G3 machines) in the future -- which also helps push the sweet-spot up, and gets software companies (and Mac owners) thinking forward.

    If you only care about legacy apps (older programs) -- then you can go back further in performance for the sweet-spot. And if you really care about scroll and kill games (action games, not strategy or tactic ones, and especially 3D games) or graphics and desktop publishing App (like what you'd want to run Mac Apps for) then you need to go quite a bit forward (and towards faster machines).

Now, the problem is that the Gemulator (or most of the Mac Emulators on PCs) are only running at levels acceptable for older Legacy Apps -- and are well below the sweet spot! While the PC Emulators on the Mac are actually achieving or above the sweet spot, and are acceptable for many new Apps.

The performance demands of newer apps are likely to exclude these older Mac emulators -- making them much less valuable. In fact, many Apps (especially any games) are becoming PowerPC only, and all those are excluded from 68000 emulators for technical reasons as well as performance reasons. You can't even run the latest versions of the OS on those Mac-Emulators. You can at least get into the System8 realm, which isn't too bad -- yet even then, the sweet spot for the OS performance itself is well above the 25 MHz 68040 level -- so the OS feels bogged down on these older machines (and emulators). So there isn't that much compatibility and the performance isn't up to par for most people -- and you aren't very close to the sweet spot at all. This level of emulator has a very limited purpose, but it is no where near a replacement for a modern Mac.

On the other hand, compare this to the PC emulators that run on the Mac. I have a Pentium 200 (w/MMX), and VirtualPC, and I almost never have to boot my PC for anything. In fact, I haven't even had it hooked up to a monitor in 6 months (I alternate between 2 or 3 monitors on my main Mac, and only devote one to the PC when I have to). On my 366 MHz G3 (which is still a generation back from being a cutting edge machine), the Virtual PC and Physical PC are close enough in performance for most things (though the real PC is faster than the virtual one, especially for games). But in fact, the Virtual PC adds lots of functionality (and is probably MORE compatible) than the real one -- and easier to operate, easier to fix, faster to boot, and has many other little advantages that I like. It is well above (or at least at) the sweet spot for everything except scroll and kill games -- and the Mac has more than enough of those to keep me busy. While the Mac emulators on the PC can't approach the simplicity or feature set of a real Mac.

What about the PPC?

When you think about it, this performance comparison is somewhat embarrassing to the Pentium. The PowerPC emulator on an 8100/80 was faster than a 25 MHz 040's at 1/3 the clock speed of the PentiumII! And that was a few generations back in processor design! Ouch, that's gotta hurt. But, I don't suppose the Gemulator-guy will run the ad that implies, "3 times slower than the PPC is at the same task", eventhough it would probably be no less representative of the truth.

The PPC has an unfair advantage -- not only in more registers and a more modern design, but Apple optimized many OS routines for the PPC directly. So not only does the PPC do a better job of 680x0 emulation (and have a DR-Compiler), it also does a much better job of running Applications (because many of the most often used System calls are native).

Another way we can look at all this (as in the sweet spot and what emulators give you) is as a matter of time. How recent of a machine can it emulate? How far behind (in years) are you?

The 1994 PowerMac 8100/80 could probably emulate the 68000 apps as fast (or near to it) as what a 1998 based top of the line PC does with an emulator -- and may actually threaten a top of the line 1999 class PC. This gives the Mac like a 3 - 5 generation advantage, or 4-5 year advantage. Or in other words, what the Mac could do in 1994 the PC can finally do now. That isn't very impressive if you ask me.

In fact, the 68030 machines were first released in 1988 and the 68040's are from 1991. What these new Mac emulators give you is the ability to mimic circa 1991 style machines (a little faster in best case scenarios, but probably slower in worst case scenarios). This is a full 7 or 8 years late to the party. And even that isn't fair because the 1991 Quadra700 had an FPU (Floating Point Unit) which wasn't touched in the comparison (probably for reasons).

Now let's compare these timelines to the PC Emulators on the Mac! The PC emulators can easily able to emulate 1995 class machines, and arguably 1996 class machines (or even some 1997 low-end machines) on top end Macs. Which all means that the PC emulators on the Mac are many generations and many years closer to the leading edge -- and much more valuable, compatible, advanced, and useful!

Conclusion

The whole point of this article is not to bash the "Gemulator", or other Mac Emulators for the PC. In fact, if I wanted to give a modern PC the convenience of a legacy Mac (which they still haven't achieved on their own), then these emulators are probably a step in the right direction. But they are no where near the level of usability or convenience or performance of real legacy Mac -- not to mention a real modern Mac. The Gemulator still has most of the flaws of a PC (because it runs on a PC), and can't fix anything with that! And these emulators can require all sorts of ugly-hacky things like digging up old Mac ROMs and adding a card to get them to work (thus filling up one of your few slots that may be left open on a PC), and so on. It all hits me as a "non-elegant" solution, that works, but doesn't fill much of niche, and doesn't solve anything I want to do or make me more productive.

The Mac and PC emulators are in two different classes. The Mac Emulators (for the PC) are valuable only if you are running really old legacy apps, and you don't need modern compatibility or performance -- and all this is valuable only if you can't buy a used or new Mac. So the only advantage for the PC is if you have absolutely no choice to run a Mac at all. While the PC Emulators (for the Mac) allow you to run much more modern apps, at a much more acceptable level, with more compatibility and may actually add features and functions to the PC in the process. In fact they are so good that many people can forgo buying a PC and replace it with a virtual one, and decrease their maintenance cost and increase their productivity (even if they aren't running quite as fast, they may get more done).

  • So the Mac emulators (for PC) is nothing more than a Mac-Minus. They try to be as good as an older Mac, and don't quite cut the mustard (in performance or compatibility), but they are better than nothing (I suppose).
      
  • Compare this to PC emulators (for Macs), which are more like PC-Plus. They add functionality, can be more compatible and do more than a real PC, they hit the sweet-spot (or get closer), they perform much more adequately than Mac Emulators, and can actually replace a modern PC in the real world for many things.


Created: 07/04/99
Updated: 11/09/02


Top of page

Top of Section

Home