Emulation:  Right or Wrong?
aka "The EmuFAQ"

copyright (c) 1999 Sam Pettus (aka "the Scribe"), all rights reserved


Questions?  Comments?  Praise?  Flames?
Contact the Scribe!

Permission is hereby granted to reproduce this document subject to the following terms:

All copies must not be altered in any way, including but not limited to reformatting and conversion to alternate document formats, without the express consent of the author.  The sole exception is for necessary formatting changes that may be
required to adapt this document to suit your particular needs; however, the complete original text must be retained in as
close a layout to the original as possible.  For any questions in this regard, please contact the author.

No copy may be reproduced in whole or in part within a for-profit commercial publication or Internet site without the
express consent of the author.  The author recognizes the right of said vendors to reproduce limited portions of his work
under the  "fair use" clause of the appropriate sections of U.S. copyright law and the international
Berne Copyright Convention.

Any trademark to be found within this document is the exclusive property of its respective owner,
and is reproduced here merely for reference.


Module One:  The Emulator
Part 1 - The Basis for Emulation

INTRODUCTION

     I've been involved with the emulation community in one form or another since 1998.  I first became aware of the concept back in 1988 when I bought my beloved Amiga 2000 (R.I.P, old friend).  You see, there was this nifty accessory you could get from Commodore called the PC Bridgeboard - a combination of hardware and software that would allow you to run IBM PC software on a suitably equipped Amiga.  "Cool!" I thought, but I couldn't afford the price tag for either the XT or AT model at the time.
     I was bemoaning this fact to a fellow Amiga user one day, and he merely shook his head.  "You know," he said, Commodore used to sell a piece of software for the old A1000 that would let you run PC-XT software on an Amiga without the hardware."
     "No way!?" I said, hardly believing my ears.
     "Way," he replied, "and I've got it.  Come to my house this weekend and I'll give you a copy."
     That was my first step into the wonderful world of emulation.  The program that my friend gave me was called the PC Transformer, and it did indeed let you run PC-XT software on an Amiga without special hardware.   True, it was buggy as all out, only supported text-based software, and had no support at all for hard drives, but who wanted to play "Beemer" games on an Amiga anyway?  The business apps, such as WordPerfect 4.2 and Lotus 1-2-3, were what mattered, and those were handled ably by that creaky old software emulator.
     It was several months later, sometime in mid-1989, now having established myself as one of the Amiga gurus in my local area, that I paid a visit to a nearby Commodore dealer to check out the Shadow of the Beast demo yet again (helluva demo then, and still is now - even under emulation).  The owner of the place was quite excited.  "You've got to check this out!" he said, steering me and
my ol' Amiga hacking buddy Skerran to his display A2000.  "Have you heard of A-Max?"
     "No," I said, feigning ignorance.  Of course I had, but I didn't know of anyone who had gone to the trouble of buying it.
     "Then watch this," he said as he turned on his A2000, activated A-Max, and then inserted a MacOS System 6 disk for bootup.  Skerran almost fell over when he saw this, but I held my tongue and watched.  A short time later, we were looking at a blue-and-white MacOS screen displayed on the store's interlaced A1084S monitor.
     "Now it's a Macintosh," the store owner stated proudly.
     For those of you who might not remember, A-Max was a combination hardware and software product along the same lines as the PC Bridgeboard, except that it gave the Amiga the capability for near-perfect Macintosh emulation.  All you needed was the A-Max emulation software, the A-Max adapter, a MacOS boot disk, and a set of Mac BIOS chips.  Apple was at that time dead set against any type of cloning of their proprietary hardware, so the only way A-Max could remain legal was to force its buyers to go to a licensed Apple vendor and order a set of real Macintosh BIOS chips.  These plugged into the adaptor, and the A-Max software worked in conjunction with real Mac code to reconfigure an Amiga into a pretty decent Mac clone.  Yes, it was a bit of a specialty product, it was pricey, and it really wasn't worth the trouble if you were stuck with an interlaced monitor - but oh, was it ever so neat!
     Two months later I was in another state at a meeting of several software pirate groups to shop the latest warez offerings from the Amiga underground.  I was on good terms with one of the better groups in the area, and one of its members tossed me a white 3.5" disk.  "Have you heard of A-Max?" he said.
     "Yeah," I replied, "but it's no good without the Apple BIOS."
     "Here's a cracked copy," he said, "and you don't even need that f--kin' adaptor to run it."
     He was right.  After testing the disk with the latest release of Steve Tibbet's VirusX (we had to be careful even back then), I booted the thing up.  Sure enough, there was A-Max - running without the Mac BIOS!  "How did they do it?" I asked.
     "Easy," the hacker replied, "they just dumped the BIOS and hard-wired it into the emulator.  Now it can run all by itself."
     I thanked him for providing the copy, and a week later was back at the Commodore dealer.  I pointed to his dusty display A500 off to one side - he rarely used it anymore since his A2000s had arrived.  "I can make A-Max run on that," I said.
     "Not without the adaptor, and I'm not taking it off the A2000," he replied.
     "I don't need it," I answered.  "Watch and see."  And with that, out came the little white disk.
     About five minutes later, a glassy-eyed and slack-jawed Commodore dealer was staring at a MacOS screen on his A500.  "How in the world did you do that?" he asked.
     "This version doesn't need the adaptor," I answered.
     "Where did you get it?" he asked.
     "Same place your techs get their stuff," I shot back, winking as I did so.
     "I see," he replied with a grin.  "What do I need to copy it?"
     "Nothing special," I answered.  "Project D will work just fine."
     "Here's a disk and my copy of Project D," he said, shoving them into my hands.  "Go for it."

     Emulation has come a long way since those initial heady days on the Amiga (and the Atari ST and Mac - let's not forget their contributions, either), but the basic premises and questions remain the same.  The recent attempt by Nintendo to formulate an official company policy on emulation may have sparked a lot of ridicule, but was actually a good thing to happen at this time.  As emulation is now suffering from something of a bad reputation in the public eye, perhaps it is time to take a look back at where we've been, where we're going, and the legal ramifications that are involved.  The two stories above, which actually happened to me in my younger, wilder days, serve to illustrate all of the main questions concerning the so-called "legitimacy of emulation" and the various questions that it poses.
     I shall attempt in the ensuing series of discussions to try and lay to rest some of the myths and half-truths that shroud the emulation community within a grey legal haze.  Rather than just tossing out highly emotional statements as most users prefer to do (and of which I have also been guilty in the past), I will be citing specific examples from the history of the emulation community as well as related issues within the computer industry as a whole.  I will also cite specific provisions of various laws, statutes, and regulations where applicable; and I will also refer to several landmark court cases (i.e. "case law") regarding the computer industry that have a direct impact on the emulation issue.

THE PURPOSE OF EMULATION

     The first question one might ask is the most obvious one:  "Are emulators legal?"  It depends on how you ask the question - are you dealing with the concept of emulation as a whole, or are you referring to the creation of an emulator?  In order to resolve this dilemna, let's take a look at the purpose of an emulator.  We will save the legal question concerning the creation of an emulator for later.
     What is an emulator?  An emulator is a creation intended to allow the use of programs designed for one type of computer system on another system that is different in design from the original system.  Emulators can be pure hardware, pure software, or a combination of both.  In the two stories that I relate from my past, the PC-Transformer would be considered a pure software emulator, and both the PC-Bridgeboard and the unadulterated A-Max would be considered emulators that employ a hardware-software combination in their design.  An example of a pure hardware emulator would be the Sega Genesis/Megadrive's VDP mode 4 - this converts the console into a functional Sega Master System emulator running entirely on its internal hardware, and is activated via a special code received from the console's cartridge port.
     For those of you who are still new to the emulation scene and don't have any idea what I'm talking about, let me describe emulation another way.  Many of you are using IBM PC compatible computers running Microsoft Windows as its primary operating system.  Take a moment to look inside the Accessories folder.  You'll see about a dozen or so programs and directory entries, but the one I want you to look at is named Calculator.  Run it, and see what happens.  You should now have what looks like a little calculator on your screen - not all that different from the little credit card sized ones they sell on the J-hooks at your local grocery store.  If you've got one handy, go get it and set it beside your keyboard.  Now, I
want you to work a few math problems on Calculator; if you've got the real thing handy, then double-check your results with it.  Neat, eh?  That's because Calculator "emulates" a real calculator - it allows you to convienently work math problems without having to have a real calculator handy, and it serves just as well as the real thing anytime you're sitting
at your computer.  Since Calculator is a computer program that does not require any kind of extra hardware (other than the computer itself), it would be considered a pure software-based emulator.
     This brings us to the underlying idea behind an emulator - it is something designed to perform a task or series of tasks that you couldn't otherwise do because they weren't intended for your hardware.  That's the core concept.  You're not supposed to be able to play Atari 2600 games on an Atari 5200, but you can with the use of a special hardware-based adaptor that lets the 5200 support 2600 games.  You're not supposed to be able to run Windows software on a Macintosh, but SoftWindows makes it possible.  Speaking of my beloved old Amiga 2000, you're not supposed to be able to run Amiga software on an IBM PC, but WinUAE and a legally purchased copy of the Amiga Kickstart ROM image and AmigaDOS software makes that possible.  The concept is sound and has been employed by both vendors and users in various ways.  Emulation is a valid use for computer hardware regardless of who you are.

THE BIRTH OF EMULATION

     You may be surprised to learn that emulation has been part of the personal computer industry almost since the day it was started.  It arose from the desire of both hardware vendors and system users alike to run different kinds of computer software on only one kind of system.  Computers in those days were quite expensive, so anything that would save a user from having to go out and buy a whole new system was extremely desirable.
     Credit for the birth of microcomputer emulation must be grudgingly granted to those two favorite whipping boys of the industry - Bill Gates and Microsoft.  In 1980, Microsoft released its first hardware product - the Z80 SoftCard for the Apple II personal computer.  This US$350 accessory was comprised of a plug-in card and accompanying software that would allow Apple II users to run CP/M software on their machines.  Remember, these were the days before the arrival of the IBM PC and MS-DOS.  You couldn't do everything with software alone, because the available technology was quite limited.  CP/M, invented by Gary Kildall, was the dominant operating system for business computers prior to IBM's arrival on the scene, but it was incompatable with the Apple II's MC6502 CPU.  Microsoft's SoftCard had an on-board Zilog Z80 CPU, which is what CP/M was designed to work with.  The Microsoft Z80 SoftCard allowed the Apple II to greatly expand its software base and contributed to the success of that classic computer.  As for the SoftCard itself, it was the world's first hardware-software emulator.  CP/M would remain a viable operating system well into the late 1980s, and products similar to the SoftCard subsequently appeared for other personal computer systems of the day.  The presence of these various CP/M emulators meant that users didn't have to ditch their old software while learning how to use the new computers, and this gave rise to the notion of an emulator providing back-compatibility for older systems and software.
     In 1982, computer chipmaker Intel announced the release of the 80286 CPU.  This was one of the company's first true 16-bit processors intended for mass production and represented a quantum leap forward in personal computer processing capability.  All that was well and good, except that Intel had a problem - almost all of the software of the day was 8-bit in origin.  Fortunately, these were the early heady days for IBM, as its IBM 5150 (aka the IBM PC) had taken the business computer market by storm.  The IBM PC used the 16-bit 8086 as its CPU, but its system bus and software base were 8-bit in nature.  The PC clone makers, who were in the process of winning the legal battle over the right to use the Phoenix reverse-engineered BIOS, favored the compatable 8-bit 8088, which Intel had designed as a cheap alternative to the 8086.  With this in mind, Intel had devised a unique solution to ensure that existing 8086/8088 software would work with the 80286.  The Intel 80286 was designed to operate in either one of two modes:  standard mode, using a 16-bit data path and 16-bit memory addressing; and real mode, using an 8-bit data path and 8-bit memory addressing.  In doing this, Intel had unintentionally created the first pure hardware emulator, since the 80286's real mode almost perfectly emulated the 8086 processor.  Intel is another industry "bad boy" that must be given credit for the birth of computer emulation as we now know it, and 8086 "real mode" remains to this day part of every Intel processor released intended for the PC compatible market.
     Personal computer manufacturers weren't the only ones toying with the idea of cross-platform support during those days.  At the 1983 Summer Consumer Electronics Show (CES), a company named Video Technology demonstrated a home videogame console called the Laser 2001.  It would accept and play videogame cartridges designed for either the Atari 2600 or ColecoVision home videogame consoles.  Atari had sued Coleco the previous year for offering Atari 2600 support on their ColecoVision console, but the courts ruled in favor of Coleco.   The ColecoVision console was actually a scaled-down Japanese MSX computer in disguise, and its similar but more powerful hardware could easily support the simpler Atari games without any trouble.  Atari lost because its console technology was too generic and could not be shown as being unique in any way. Coleco could now legally market the first cross-platform videogame console, and thanked Atari for their generosity the following year by marketing the Gemini - a perfect clone (and perfectly legal) of the Atari 2600.  Atari later began implementing the same idea into its systems - the Atari 5200, successor to the Atari 2600, could play games for the older console by means of its own special adaptor.  Back to the subject, though - the Laser 2001 was the videogame industry's first independendly developed dual-system console, owing alliegance to neither Atari nor Coleco.  The idea that a user could do with videogame machines what was happening with personal computers proved to be a long-lived memory that never died.  Meanwhile, in another booth, the Happy Home Computer Company of Taiwan was eagerly demonstrating its MultiSystem microcomputer, which supported both Apple II and IBM PC software.  The seeds of computer emulation were beginning to bear fruit.
     It is perhaps fitting at this point to take a brief aside and look at the last and most powerful of the 8-bit personal computer systems, because it employed almost all of the concepts necessary for true emulation.  In 1985, Commodore Business Machines unveiled the prototype for the Commodore 128 (C128)- the successor to the venerable Commdore 64 (C64).  The C128 was intended to be the direct replacement for that hallowed machine (which sold more units than any other single design of personal computer to this day), and as such had to be fully compatable with the C64 software base.  In addition, C64 users had complained long and loud about the lack of applications software for their machines, and many simply could not afford Commodore's add-on CP/M kit.  With this in mind, the C128 was designed from the onset to have three different modes of operation:  C64 back-compatability mode, C128 native mode, and CP/M compatibility mode.  The user could reconfigure the machine for the desired mode by simply pressing a button or booting from the appropriate floppy disk.  The C128 and its cooler sibling, the C128D, were only on the market for two years, but they were eagerly snapped up by the Commodore user base.  As a former C128D owner, I can personally attest to the overall excellence of the machine, and its triple-mode nature led me to expect such capability with future systems that I considered for purchase in later years.  It may have been the last 8-bit computer, but it was the best - and it signaled that the time for true emulation had arrived.
     The threshold of modern emulation was crossed in 1986 thanks largely to the arrival of one particular personal computer - one that would forever change the industry in many ways.  We're still dealing with Commodore, but with an entirely different system - the legendary Amiga personal computer, generally regarded as the most powerful personal computer of its day and the world's first multimedia computer.  Like its precursors, the Apple Macintosh and the Atari ST, it sported a GUI-based operating system and support for 3.5" floppy drives.  Unlike them, however, it was designed from the start to be the ultimate hacker's and gamer's machine.  Its true multitasking operating system coupled with its 8 MHz Motorola 68000 and a powerful personalized chipset (remember Paula, Agnus, and Denise?) meant that it could run rings around any other personal computer then available, hands down.  In addition, it was unmatched with regards to its audiovisual capabilites - it could generate 4096 simultaneous colors on-screen and was the world's first personal computer with on-board digital stereo sound synthesis.  It was so powerful, in fact, that Commodore really didn't know what to do with it, but at least they had the good sense to realize that it needed to be IBM compatable in order to stay alive in a market dominated by PC clones.  One of the very first accessories offered for the Amiga was the PC Sidecar, a combination hardware/software emulator that worked in conjunction with a 5 1/4" floppy drive to provide full IBM compatability.  This didn't sit too well with Atari, Commodore's main competitor for the number two spot in the GUI-based PC wars (Apple was unquestionably number one with the Mac).  Its programmers devised a piece of software called PC-Ditto for the Atari ST that allowed it to use IBM software without any special hardware.  PC-Ditto was the world's first pure-software emulator, and Commodore promptly responded with PC-Transformer.   It also further enhanced its hardware/software emulator by redesigning it for its new Amiga 2000 model, and the various PC Bridgeboards (and their third-party clones) became some of the hottest-selling accessories made for that system.
     The concept of emulation was turned on its head in 1988 by a young man named Simon Douglas.  He developed the A-Max Macintosh emulator for the Amiga, which Readysoft demonstrated at the World of Commodore show in November of that year.  Like the PC-Bridgeboard, A-Max was combination hardware/software emulator that required an actual piece of the original system - in this case, a genuine Macintosh BIOS (two chips, as I recall).  The big difference between A-Max and the other emulators that preceeded it is that a proprietary system was being emulated for the first time.  There had never been a problem with CP/M support, due to its widespread acceptance and lenient usage terms.  There was no problem with PC compatable systems ever since IBM had lost the court battle over the Phoenix BIOS.  But the Mac?!  Everybody knew how jealous Apple was of its little black-and-white computer, going so far as to use every trick in the book (and then some) to ensure that the Mac would not be cloned.  Therefore, it did not surprise anybody when Apple sued Readysoft the following year for intellectual property infringement.  The case went to the courts, and everybody held their breath.  When the smoke cleared, it was Readysoft who emerged the victor.  The courts had ruled that A-Max was such a specialized product that it did not represent a viable threat to Apple's market share.  The word began to spread - among the Amiga user community, whisped around the PC clones in the businesses, and in front of the Macs at the local schools.  Emulation was now legal.  There was no more debating the matter.  And as we wondered what system would be emulated next, and as an indignant Apple flailed away at Microsoft in the courts over the release of Microsoft Windows, we knew something special had happened.  Though we couldn't put a label on it at the time, the Golden Age of Emulation had begun.

THE REASONS FOR EMULATION

     So why has the concept of emulation remained with us?  Four reasons.  First, convienence.  Remember the example of Calculator?  Beats digging in the ol' office desk for the one that your secretary borrowed last week and never returned.  Second, back-compatablity.  Assuming you have a need to keep using an older piece of software, it sure is nice to have some kind of setup that let you use the old stuff with newer hardware - that way you can junk the old hardware and free up some space.  Third, software development.  It's nice being able to develop for a custom system using one that you already know how to use.  Fourth, the old standby of cross-platform support.  It's a lot cheaper to buy just one multipurpose computer system and different kinds of software to use with it than buy different systems for different purposes and the software to match.  Emulation allows you to save your money by running software on the system you have that may have been intended for use with a system that you either do not have or cannot afford.
     Need some examples of emulation in action?  Well, we've already got Microsoft Windows' Calculator as an example of convienence.  There are plenty of examples for back-compatability, but I'll limit myself to three:  the PowerBase Converter for the Sega Genesis/MegaDrive; the "real 8086" mode of all Intel and Intel-derived 80286 processors and their descendants; and the famous "triple mode" operating system feature of the venerable Commodore 128.  As for software development, the best example I know is Sega's TeraDrive, which was a specially modified IBM PC-AT compatible with on-board Genesis/MegaDrive hardware produced and distributed exclusively to game developers and the like.  That also serves as a good example of cross-platform support, since it allowed the use of both IBM PC and Sega Genesis/MegaDrive software within the same box.
     With the various back-compatability and SDK issues whizzing about in the minds of computer programmers, it was inevitable that some bright young programmer would say to himself, "Screw the US$1000 or so for the SDK - I'm going to write my own."  On the other side of the fence, you have a passionate home console owner with a computer background and no spares to be found in local stores to replace his worn-out game carts due to the obsolesence of the console.  "Forget that," he says, "I'll just write an emulator and dump the cart ROMs instead."  Bounce over to the frustrated personal computer user who has just learned that the game he bought will not work on his new system because it was designed to run on an older, now-obsolete model that is no longer in production.  "No way," he says, "If the store won't give me my money back, then I'll find some way to run it anyway."  Along those lines, dare we forget the retrotechs - who just flat out love old computer stuff and will do almost anything to keep it alive?  "We're tired of hunting for out-of-production parts," they say.  "This neato
program will let me run this software on my newer systems."  Or what about the big computer game company who needs to find a way to make its old games work with its soon-to-be-released system in order not to lose a good-sized chunk of its customer base?  "What old hardware?" they say. "We'll just make a special chipset for our new console instead so it will play those old games."  Many faces, but the same set of dice.  Thus was the modern emulation community born.

INTROSPECTION

     So now we're back where we started.  "Are emulators legal?"  The answer is a resounding "YES!"  The concept of emulation is perfectly legal and one that has been exercised by vendors themselves for many years.  The big question is whether or not it is legal for just anyone to create an emulator, and it is that issue that we shall address next.

REVIEW QUESTIONS

1.   What is an emulator?

2.   What are the three different kinds of emulator?  Give examples of each from the text or provide ones on your own.

3.   What desire of the fledgling personal computer industry gave rise to the concept of emulation?

4.   Who was responsible for the first personal computer emulator?  What was the product?  What did it emulate?

5.   How did the development of the Intel 80286 processor contribute to the birth of emulation?

6.   In what ways did early did videogame consoles get involved with the birth of emulation?

7.   What legal battle can be said to have "primed the pump" for videogame emulation?  How was this important?  Why was
      such a thing possible with a mere videogame console?

8.   What was the last and most powerful of the 8-bit personal computers?  How did it contribute to emulation development?

9.   Which personal computer is responsible more than any other for the birth of emulation as it is generally accepted today?
      Give some examples of accessories developed for this machine that embodied the concept of emulation.

10. Who was responsible for the first pure software emulator?  What was the product?  What did it emulate?

11. What product changed the emulation industry forever?  Why was it so significant?  Why did the legal challenge mounted
      against it ultimately fail?

12. What are four reasons for creating an emulator?  Give examples of each from the text or provide ones on your own.

13. Why would one might want to develop or obtain an emulator?

QUESTIONS TO PONDER

1.   Can you describe some of the emulators that arose from the legitimization of emulation?  Who made them?  What
      systems do they emulate?  Are each of these considered legal products, as you understand them?

2.   How did IBM's failure to stop the PC clone vendors contribute to the eventual rise of the emulation community?

3.   Is emulation legal, at least from a vendor's perspective?

4.   What are your thoughts as to the legality of a noncommercial (i.e. unlicensed or freeware) emulator?


The EmuFAQ (c) 1999 Sam Pettus - section last revised 17 June 1999                                                    > BACK <