Power Mac Musings, Part 2

Going Native

Note: This review originally appeared in the December 1994 issue of the Southern Maine Apple Users Group (SMAUG) Newsletter. It has been modified slightly from the original version, but no effort has been made to update information that has become out-of-date since the original publication.

This article is the second in a series of three about the PowerPC and Power Macintosh. Last month, I filled a couple pages with a discussion of the PowerPC microprocessor and the meaning of “RISC.” This month, I’m going to talk a little about how I’ve fared these past eight months with a Power Mac. And next month, I’ll give you my thoughts on the future of the Power Macintosh and the PowerPC in general. I’ll get started the same way I did last month:

March 14, 1994, Apple introduced its long-anticipated computers based on the new PowerPC microprocessor. Two days later, I attended Apple’s New England “unveiling” in Boston. On my way home, I stopped at Computer Town and bought one: my very own Power Macintosh 7100/66. Ah, I could almost smell the power! I rushed home, set it up, and connected it to all my existing peripherals. I held my breath as I pressed the power-on key. But instead of that familiar startup chime, I heard…

Well, I heard something different. As with the introduction of the Quadras a few years ago, Apple once again changed the startup sound with the introduction of the Power Macs. For those interested in Macintosh trivia, the new sound is a short snippet of jazz guitarist Stanley Jordan recorded by Apple for just this purpose. The new startup sound is less bold and striking than the old Quadra sound.

After the startup sound, the machine continued the startup process as any other Macintosh would, displaying a row of extension icons along the bottom of the screen, followed by the familiar desktop and Finder menus. One of the points Apple has tried to hammer home about the Power Macs was clearly true: “It’s a Macintosh.” Although the shift from CISC to RISC was dramatic behind the scenes, on the surface, the Power Macs look and work like any other Mac (only faster).

My next step was to restore all my applications and extensions from backups. A few minutes later was the real test: restarting with all of my usual extensions and control panels installed. It worked flawlessly. Almost two rows of startup icons on my 16” monitor, and not one failed to load. Extensions that use 68000-series code to muck about with the internals of a 68K based system worked great on this PowerPC 601 machine. Amazing! To test things further, I ran a few applications. Each ran uneventfully, though considerably faster than on my old IIvx. Here I was, running on a totally new processor, as different from the 68030 in my IIvx as the 80486 in an Intel machine running Windows. Yet everything worked flawlessly.

Just how did Apple manage this feat? With an emulator built into the ROMs of the Power Mac. An emulator is a program that runs on one type of microprocessor and makes it act like another type of processor to other programs. But this emulator is different than most. Typically, an emulator runs on top of the operating system, as an application. An example of this type of emulator is the SoftPC/SoftWindows programs from Insignia. To invoke the emulator, you must run the program. Apple’s 68K emulator, however, operates below the operating system, invisible to the user. Double-click an older application written for the 68000-based Macs, and the emulator automatically kicks in to allow the application to run. Magic! Of course, running this emulator takes its toll in speed and overall performance. But the extraordinary speed of the PowerPC processor allows emulation to give performance better than all but the fastest Quadras.

In addition, because the emulator is at such a low level in the system, parts of the operating system itself can run emulated. This saved Apple a great deal of time in converting the System to run on the PowerPC. By re-writing only time-critical parts of the system in native PowerPC code, and allowing the rest to run emulated, Apple managed to get the Power Macs to market in a remarkably short period of time. As the system is updated and improved, the emulated parts of the system will gradually be converted to native PowerPC code, giving an extra boost in speed.

Of course, nothing is perfect. Although I experienced very few compatibility problems with the Power Macintosh, there were a few. In general, however, software that runs without problems on the Quadras, and in particular the AV Quadras, runs fine in emulation on the Power Mac. Since I upgraded from a IIvx, I had a few programs that needed updates for compatibility. In addition, some programs that make assumptions about the inner workings of the Mac’s memory management may not work with the updated, or “Modern,” memory manager in the Power Macs. Fortunately, there is an option in the Power Mac’s Memory control panel that allows you to disable the new memory manager (at a sacrifice in speed). I only came across one program with this problem.

On the whole, I found the switch from the IIvx to the Power Mac to be less problematic than the switch from System 6 to System 7. Several early Quadra buyers have told me that the switch to the Quadra caused more problems than the switch to the Power Macintosh. One potential problem that did not effect me was the lack of support for an emulated floating point co-processor. Although the PowerPC processor has tremendous floating-point performance, applications that rely on the existence of a 68000-series co-processor fail to run on the Power Mac. Fortunately, many of these programs were the first to be converted to native versions.

As I mentioned earlier, running programs in emulation takes its toll in performance. To get the most out of a Power Mac machine, you need programs specially written for the PowerPC. These “native” programs have been re-compiled into native PowerPC code for optimal performance. Back in March, on introduction day, there were only a handful of native programs available. I started my Power Mac experience with only one: a C/C++ compiler (That’s not entirely true. Apple is kind enough to include a great example of the Power Mac’s potential with every Power Mac in the form of a program called “Graphing Calculator,” a sort of mini-Mathematica.) Since then, the trickle of native programs has turned into a torrent.

New versions of most major applications are now available in PowerPC-native versions. Even Microsoft has finally joined the Power Mac party with native versions of Word and Excel. With a few exceptions, my experiences with native programs have been great. One of the first to wow me was the native version of the shareware compression program Compact Pro. Archives that previously took minutes to compress (or decompress) are done in just a few seconds! Dantz Development’s backup program Retrospect also impressed me. The combination of a reasonably fast hard drive and backup device, SCSI Manager 4.3, and native code make it possible for Retrospect to complete a compressed backup in considerably less time than my previous backup program took to backup without compression.

Perhaps the most impressive program I’ve come across is a small and relatively useless freeware application called “TextureMap.” Written to demonstrate the Power Macs fast floating-point and graphics capabilities, TextureMap is a QuickTime movie player with a difference. Rather than simply playing a movie in a static window, it plays the movie on each of the faces of a cube, then sets the cube rotating randomly. The sight of a rotating cube with movies playing on its faces in real-time is pretty dazzling. Useless, but dazzling.

Memory-related issues are considerably different on the Power Macintosh than previous Macs. In the process of upgrading from a 12MB IIvx to a 16MB 7100, I noticed little difference in the effective amount of memory available to me. As I discussed in last month’s article, it generally requires more RISC code to accomplish a task than it would CISC code. As a result, native programs are typically larger on disk and require more memory in which to run. Even emulated programs may require more memory on a Power Mac due to overhead introduced by the emulator, among other things. Also, many developers ship their native software as “fat binaries.” These applications contain both 68K and PowerPC code in a single file. Although this is convenient for folks that need to run the same program on multiple Macs (such the case of shared applications on a central server), it adds to the disk space requirements of the program. Thankfully, fat binaries don’t require more memory, however.

Virtual memory on the Power Mac is a reasonable option to help overcome this memory loss. Unlike on 680x0 machines, where turning on virtual memory slows many programs to a crawl, on a Power Mac, the effect is often small enough to go un-noticed. In addition, enabling virtual memory changes the way the system handles native applications in memory. When virtual memory is turned on, the code for native applications is loaded in memory separate from the rest of the memory the application needs, shrinking the memory partition required to run the program. The exact amount of memory saved is displayed by the Finder in the program’s “Get Info” window. Nothing is that simple, though, is it? As with 680x0 Macs, some programs don’t get along too well with the Power Mac’s virtual memory, slowing down unbearably or working improperly.

So what’s the bottom line? Would I recommend a Power Macintosh? Absolutely! Unless you’re currently using a high-end Quadra, all of your current programs will run as fast, if not faster, than they do now. Native versions of most mainstream applications are available, and upgrades are generally fairly inexpensive. Apple has made it clear that the PowerPC is the future of the Macintosh. I wouldn’t be too surprised if Apple never introduces another 680x0-based desktop machine. But once again, I’m getting ahead of myself. Next month, I’ll write about the future of the PowerPC, the Power Macintosh, and the Macintosh in general. Stay tuned.

[Go to Part 1] [Go to Part 3]