June 10, 2000
By

Ryan M. Suenaga

It may be hard for many to imagine, but the first supersuccessful personal computer from Apple Computer, Inc. wasn’t the Macintosh.

In 1977, Apple Computer, Inc. introduced the first personal computer that would change the world. It was known as the Apple II. With an 8-bit microprocessor running at a now-glacial 1 MHz and up to 64k (kilobytes, not megabytes) of RAM, the Apple II was a phenomenal success, spawning a whole line of successors in the II Plus, IIe, IIc, IIc Plus, and, in 1986, the 16-bit IIGS. With color, sound, and the ability to be hooked up to a television set, the Apple II was ahead of the game in 1977; so much so that even today it has a community of diehard loyalists and supporters. The IIGS maintained compatibility with the 8-bit IIs while providing color graphics and sound that outpaced what even the latest Macs of the day could do. It was, in fact, the dream machine many wanted in the mid-80’s—a machine that used the GUI interface of the first generation Macintosh, adding color and high quality sound, yet maintaining backward compatibility with what was then the largest existing base of software.

But even the best designs are eventually outpaced by the new, and amid a dearth of support from Apple Computer, Inc., the last Apple IIs rolled off Apple’s assembly lines in 1993, 16 years after they first changed the world. At long last, the Apple II was dead.

Or was it?

As computers have advanced, one of the more popular uses of them has been emulation—one computer imitating another. There is a long history of emulation on the Macintosh, including titles which allowed your Mac to act like an Intel based personal computer, such as SoftPC, the predecessor to the popular SoftWindows. Emulation of this sort dates back to when a high end Mac was based on the 68030. In fact, one of the selling points of the Mac LC was its optional Apple IIe Card, which allowed it to act like an Apple IIe, and several software packages providing emulation of the 8-bit Apple II were developed. But with its higher quality graphics and sound, no one developed a way to emulate the Apple IIGS on the Macintosh.

Power Mac ][ The Rescue?

With the release of the Power Macintosh in 1994, using the powerful PowerPC processor, software based emulation got a shot in the arm. Version 1 of SoftWindows was released, delivering performance that approached a real (albeit slow) Intel machine, and Virtual PC followed

Meanwhile, Apple II enthusiasts looked at SoftWindows and Virtual PC and wondered—if the Power Macintosh could emulate an Intel-based computer, why couldn’t it emulate the Apple IIGS? While the IIGS has sound and graphic capabilities light years beyond what was achievable with an 8-bit Apple II, most Windows systems have comparable sound and superior graphics to the IIGS, so technologically it seemed possible. It wouldn’t be easy, nor would it be as financially rewarding as an Intel emulator, so it really was no surprise that no one was known to be working on one.

It turned out that didn’t mean they weren’t working on one.

Giving Birth To A Pup

A group of Swiss programmers who produced several exciting Apple IIGS software packages got their hands on some of those first generation Power Macintosh computers. Being the hackers they are, Henrik Gudat, Urs Hochstrasser, and Andre Horstmann worked on various little programs to test out the abilities of their new toys, including Horstmann’s project of simulating a 65C816 microprocessor, the 16-bit processor used in the Apple IIGS. That project was completed in fairly short time, then laid to rest, only to be revived more than a year later.

In early 1996, Gudat, Hochstrasser, and Horstmann got together for pizza and took stock of Horstmann’s 65C816 emulator. One week later, a phone call was made, and the trio worked out a plan. They would work on an Apple IIGS equivalent of SoftWindows, bringing the past and the future together—they would emulate the Apple IIGS on the Power Macintosh.

This was a daunting task indeed. Simulating a 16-bit microprocessor, while not trivial, is a completely different story from emulating an entire 16-bit computer with color graphics, text screens, disk access, and many other features. There were other challenges as well, such as how to access the 5.25 inch floppy disks that much Apple II software was released on, and copyright issues with the ROM included with the Apple IIGS. They divided the work between them—Horstmann took the challenging memory, central processing unit, and video components, Gudat handled storage and sound, and Hochstrasser ended up with debugging.

The trio who would become F.E. Systems forged ahead, and, remarkably, before the year was out, they were searching for Power Macintosh users who also used an Apple IIGS. These IIGS users who were also early adopters of the Power Macintosh would become alpha testers for what was then known as “NostalgiGS”. “Would become”, because NostalgiGS had not yet reached the point where it was even capable of being tested.

While at least two other efforts to emulate the Apple IIGS on the Macintosh were under way—one a spare time project by several Apple employees—the F.E. Systems team hacked away. Things got tense in July of 1996—Apple itself was rumored to be ready to release “Gus” (the above-mentioned spare time project of Apple employees), and the trio considered terminating NostalgiGS. Nothing came of the Gus rumors, and after endless hours of work with almost no visible milestones of achievement, a disk booted. Fittingly, it was the disk for The Gate, an Apple IIGS game programmed by Gudat.

More successes followed in short order, with ProDOS 8, the last operating system for the 8-bit Apple II produced by Apple Computer, Inc., booting about a month later, and GS/OS, the 16-bit Apple IIGSspecific operating system, booting shortly after that.

Success, however sweet, was limited. Just because disks were booting didn’t mean the programs on the disk were running without problems. Emulating the core of the central processing unit and the floppy disk controller were the most difficult tasks in getting the early versions of the emulator out the door, and serial port support, which none of the other Apple IIGS emulators had attempted, was not even being considered—yet. Sound support, which had given fits to the other Apple IIGS emulation efforts, went surprisingly smoothly. The NostalgiGS project had built momentum, and on August 21, 1996, the first alpha build of the newly renamed “Fast Eddie” was completed, capable of running several games as well as ProDOS 8 (Gudat and Horstmann changed the name of the program to honor Formula One racer Eddie Irvine, as the two of them were always watching Formula One racing while programming). Unfortunately, the testers gave little feedback about the program, leading to the replacement of all but one member of the team. Nothing, however, would slow F.E. Systems.

They continued their breakneck pace and three days before Christmas 1996, they shipped a shareware beta version of Fast Eddie. More versions followed, as did a name change: due to another product using the Fast Eddie name, the program was rechristened “Bernie II The Rescue” (this time the program was allegedly named after the St. Bernards who patrolled the snowy Swiss Alps, although it is rumored there is still some link to Formula One racing with the Bernie name). Finally, in September of 1997, version 1.0 of Bernie was released.

But the Bernie Boys weren’t done. They continued to work toward perfecting their long project. Among the list of targeted features were increased software compatibility, increased speed, and serial port support. Title after title joined the list of programs that were tested for Bernie compatibility. They were helped toward their goal of increased speed by natural progress: as Apple Computer, Inc. produced faster and faster Macs, Bernie itself ran faster and faster—today, some G3 Power Macs run Apple II software 50 times faster than a stock Apple II.

In May of 1998, Apple II emulation was taken to new heights. Bernie did what no other Apple IIGS emulator could do: it provided access to the serial ports on a Macintosh, allowing the user to use printers and modems. This may not sound like a major accomplishment, but it truly is remarkable—it is the one feature no other Apple IIGS emulator has. Now, Apple II fanatics who use PowerBooks can at last take an Apple IIGS on the road—Apple had never offered a truly portable II.

Software Compatibility

The true test of any emulator is software compatibility. F.E. Systems maintains a list of compatible Apple II software, and takes an aggressive approach to ensuring compatibility. They not only have access to a large library of older Apple II software which they have tested extensively, they maintain contact with the remaining developers of Apple II software and even make changes to Bernie to assure compatibility with the latest software. For example, when the Apple IIGS version of Wolfenstein 3D was released, Eric Shepherd, one of Wolf’s programmers, and Gudat determined what needed to be done to get Bernie to run Wolf. Gudat, Hochstrasser, and Horstmann modified the way Bernie emulates the IIGS’ Apple Desktop Bus interface so that Wolf would function properly. The end result was a smashing success—Wolf 3D for the IIGS runs faster under Bernie than the Mac version on the same machine!

Similarly, when Bernie’s serial port emulation was first being worked on, Gudat consulted with Richard Bennett and Ewen Wannop, two active Apple IIGS developers who have the Spectrum telecommunications program and the Marinetti TCP/IP implementation on their resume. When users run into some kind of incompatibility with a particular piece of software, Gudat often consults with Apple II veterans on the Delphi online service to gather more information. Finally, the Bernie beta test group is composed primarily of Macintosh users who also happen to be diehard Apple II fanatics with technical expertise, spread throughout the world, giving F.E. Systems access to a truly international collection of Apple II resources.

Emulating Metal. . . And Beyond

F.E. Systems set a goal of perfect emulation for the Bernie project. With this goal came a multitude of challenges.

The most obvious challenge in the creation of Bernie was dealing with copyright issues around the Apple IIGS ROM. Not only is the ROM itself copyrighted by Apple Computer, Inc., Applesoft BASIC, the programming language built into nearly every Apple II, is a Microsoft product licensed by Apple.

In 1996, before the program had even reached the alpha stage, Gudat contacted representatives from Apple, trying to get permission to include the Apple IIGS ROM with their still developing emulator. Despite some promising conversations, nothing came of the talks. As such, Bernie users need to provide their own copy of the Apple IIGSROM image, meaning they must have access to a real Apple IIGS(detailed instructions on preparing the image are included in the Bernie documentation). The Bernie handlers were actually able to turn this shortcoming into a strength—if you have access to the two major ROM revisions of the IIGS, the ROM 01 and ROM 3, you can create images corresponding to both revisions and switch between them at will (you must restart your virtual IIGS, however).

While Bernie will recognize ProDOS formatted 3.5 inch diskettes placed into your Mac’s floppy drive, it also makes heavy use of disk images, particularly those in DiskCopy format. It also supports other formats, including several for 5.25 inch floppy disks, which were the primary disk format used with the older Apple IIs. While you cannot hook a 5.25 inch floppy to your Bernie-running Mac, you can use your Apple II to make disk images of your 5.25 inch floppies, then transfer the images to the Mac.

A large variety of hardware was available for the Apple IIGS for which there is not always a direct Macintosh equivalent—for instance, the IIGShas a dedicated joystick port in addition to ADB, while most Macintosh joysticks are ADB devices. The Bernie preferences allow you to emulate IIGS joysticks using the Mac mouse, keypad, or a number of Mac joysticks. Other similarly clever emulation solutions exist for command- and option- key combinations and sound support.

While Bernie primarily emulates the Apple IIGS at the firmware level, for those programs that access the IIGS hardware directly (what old timers call “on the metal”), Bernie also offers low-level emulation of several Apple IIGS features, including the floppy disk drive and mouse.

With the release of Bernie 1.3 and its included serial port support, it would have been easy for F.E. Systems to rest on their laurels. Instead, they worked to not only perfect Apple IIGS emulation, but to extend it. In addition to speed beyond anything achievable with a real IIGS, it nearly doubled the IIGS memory limit of 8 megabytes, pushing it to 14 megs. Further extensions are currently being discussed, although Gudat has made it clear that pursuing a more perfect emulation takes precedence over adding features.

Online Support

Like nearly any other Macintosh product, you can find support for Bernie online. F.E. Systems maintain a World Wide Web page at http://www.magnet.ch/emutech/, where you can download Bernie. Several features, including serial port support, are disabled until the shareware fee is paid. Following registration (through Kagi Software), you will be given a registration code which will unlock the full potential of your virtual Apple II.

Additionally, there is an electronic mailing list of Bernie users where anyone with access to Internet email can receive Bernie support. An archive of Bernie email as well as instructions on how to join the list can be found at http://www.design.ncisc.org/~bernie/current/index.html. F.E. Systems also offers traditional email support—simply send your questions to emutech@magnet.ch.

Finally, Gudat regularly scans the message boards and drops in on conferences in the Apple II areas of the Delphi online service, which is the center of the Apple II online universe. See http://www.delphi.com/apple2/ for more details.

The Future

While Bernie II The Rescue is as full-fledged an Apple IIGS emulator as exists, there is still work to be done. For instance, AppleShare volumes are not yet recognized, and while the IIGS serial ports are emulated for modems and non-LocalTalk printers, LocalTalk is beyond the scope of what Bernie currently does. And there is the occasional software package that is not Bernie-friendly. The team of Gudat, Hochstrasser, and Horstmann continue to refine and perfect Bernie, as well as considering new features to add to the Apple IIGS.

In the meantime, F.E. Systems is keeping the promise that Apple Computer, Inc. made in the 1980s. Within every Power Macintosh beats the heart of an Apple IIGS. More than 20 years after it was the personal computer that changed the world, the Apple II lives.

Apple II Forever!