Why Emulation?

M.I.K.e on Wednesday, 06 January 2010. Posted in Opinion

Today I wanted to explore why emulation techniques were devised and what makes this hobby so fascinating. I list and explain the most obvious reasons, but this topic surely is very personal and thus the reasons for it quite subjective. Feel free to mention your reasons for the interest in emulation in the comments.

code

Migration

 

In 1964 IBM designed the first so-called computer architecture with the System/360. Prior to that every new computer was totally incompatible to older ones. Even before the IBM 360 emulation has been used to let old applications run on newer computers, but with a computer architecture that was defined to be compatible in the future, trying to run all applications on it became all the more interesting.

Thus in the beginning emulation was mainly a means of getting customers to switch to newer machines without them having to abandon or to rewrite their software. When applications are supplied by a third party that does not intend to port them to a new architecture or is not providing support anymore this becomes a necessity, if you do not want to keep an old computer running for a few specific applications only.

Not just IBM, also Apple tries to make migration to a newer computer architecture easier for the user by utilizing emulation techniques. But that is a topic for another article. In recent times this reason has become weaker and weaker due to the fact that most of the new computers are IBM PC compatible anyway (even the latest Apple computers are)...

Compatibility

Which brings us to our next emulation reason. This might have been included in the migration one, but I feel that it is so specific that I wanted to put it separate.

Due to the possibility to build clones the IBM PC became a quasi-standard. This made "IBM compatibility" a feature that was sought after. Almost every other computer system had some form of PC emulation. To name just a few:

  • For the Atari ST there was a software PC emulator (PC-DITTO) and several emulators that came with hardware accelerators (PC-Speed/AT-Speed, Supercharger) consisting mainly of a 8086 compatible CPU (often the cheaper NEC V30).
  • For its Archimedes Acorn provided a PC emulator and for the RiscPC a vastly improved version in combination with a 486 card.
  • SoftWindows was a popular emulator to run Windows software on Apple PowerMacs, until it was overtaken by the full-blown PC emulation of Virtual PC. While there were several other PC emulators, none really came close to the quality or speed of Virtual PC.

Even today, with Intel Macs having the option to install Windows parallel to Mac OS, a lot of people are using virtual machines like VMware Fusion or Parallels Desktop to be able to run Windows software without having to reboot.

Unfortunately all those PC emulations have one thing in common: They are not fit to run the latest (in some cases any) games. Full software emulation obviously is too slow for anything but simple applications or computations when you are not in a hurry. Virtual machines or emulators supported by processor cards are quite comparable to a real PC when it comes to number crunching, but graphics and sound hardware still have to be emulated in software, which also renders them too slow for newer games or other taxing multi-media applications.

Nevertheless PC emulation helped a lot of people to be IBM PC compatible despite them enjoying a different computer system.

Preservation

The Rosetta Stone containing the same text in classical Greek and Egyptian hieroglyphics was created in 196 BC. Why is that important apart from the fact that Apple's PowerPC emulation technique for the Intel Macs is named after it?

It helped a lot to understand hieroglyphics roughly 2000 years after its creation because the information hammered into the stone was still readable. No one really knows how long the media used today can hold data in a readable form, because they are simply too young to make any predictions for the future. But I can almost guarantee that it will not be 2000 years. Tapes and floppy disks become demagnetized, CD-ROMs degrade, and we are starting to see what happens to Flash media after several years.

But the fact that the media type might not be able to hold data for as long as we wish is not the only problem. One of the main problems is that the current media type is changing way too fast. Early home computers came with tape drives (like the Commodore Datasette), then 5.25" floppy drives were cool (1978), just to be replaced by 3.5" drives not too much later (1984). Apple tried to supply Zip drives instead for a short while, but made CD burners and later DVD burners the standard drive for external media. But nowadays it is so much easier to use an USB stick instead, isn't it?

Due to my work I came across the fact that floppy emulators are more and more sought after. Only 3.5" HD floppy disks are still produced. If you need any other floppy disk, you are basically out of luck or have to try to find some spare ones. This is not a big problem for the home user as they kept changing their media type anyway. But production facilities often have very old machines that cost tens of thousands of dollars. If well maintained these machines still do their job quite well, but they often rely on floppy disks to load new production programs. Disks demagnetize and floppy drives tend to fail every now and then due to the dirt that is often present during production. But getting replacements is getting more and more difficult.

This is where emulation comes in. A piece of hardware that replicates the Shugart floppy interface together with a firmware in a micro-controller are capable of emulating a floppy drive, but instead store the data on a Flash medium instead. No more moveable parts means less problem with dirt and you are able to use current media again. Problem solved, although the emulation of a floppy drive is by far not as easy as it may sound here. In comparison it is much easier to extract an old aracde game from ROMs, because these typically have a well-defined interface and you are able to read bytes or words directly. With mangnetic media there is a lot of decoding involved to deduce the data from a serial data stream.

You might have noticed that this is the exact opposite of the first emulation use I mentioned. There emulation helped to migrate to a new machine, while here it helps to keep working with the old machine.

I did not intend this section to become this long, but I hope that I made you more aware of a problem that not everyone of you might have thought of.

But there is a lesson in it for all of us: Modern media can fail, as well as the drives you need to read them, and due to fast changes in the computer world replacements are often hard to get. Also formats can be quite problematic; try reading an Amiga floppy disk on a PC, for example. If old data and applications are not preserved in a form easy to transfer to the newest medium (e.g. as disk images) that data might be lost forever someday. In the case of some video games that might represent the loss of actual digital art, although not all people will see it that way.

Nostalgia

The moment all (or at least most) of you have been waiting for. This is probably the main reason to emulate for most of us. In this case emulation helps us to revive an old system that either died or we are too lazy to set up again.

Nostalgia is a curious thing, it transports us back to the carefree days of our childhood and makes the graphics and sound of a game seem much better than they actually are. Sometimes, especially in the case of so-called classics, it is also reliving the well-tuned game-play that has never been replicated in newer games.

timeline

Sometimes it really works and the old game is great again, but for other titles it might fail and you are suddenly wondering what you liked so much about the game. Especially games that just had great graphics and put up a lot of show, but did not have exceptional game-play often tend to disappoint when revisited after several years.

I don't know about you, but in my case nostalgia typically only works for games that I actually experienced back in the day in some way. I like a lot of Commodore 64 games, but games on most other 8-bit systems seem just weird to me. Especially the Atari 2600 graphics are way too blocky for my taste. Sure it was a technical revolution back then, but I never played to real thing, so nostalgia simply doesn't work here for me.

Curiosity

Sometimes it is not nostalgia that lets one check out the emulator for an older system. Maybe the system simply was not well known enough or was just rejected (Anyone remember the Atari ST vs Amiga or Nintendo vs Sega fights?). Now, older and wiser, one might want to see if the grass was also green on the other side of the fence or check out what interesting systems one might have missed. It can be pretty rewarding to find your way around a computer system that you have never used before, or a lot of fun to play a video game you never were able to play before because the title was exclusive to "the other" hardware.

tmnt

Another kind of curiosity is to find out if a specific emulation is even possible or if oneself is able to write an emulator. The vast amount of NES emulators are most likely due to the latter factor. The most prominent example of the former one would probably be UltraHLE. When this N64 emulator suddenly appeared without any previous announcement, it was one of the most impressive things in emulation history. It showed that with a lot of tricks (especially high-level emulation, thus the HLE in the name, i.e. emulating as few hardware as possible and intercepting library calls instead) it was possible to emulate an N64 game at full speed while the hardware itself was still an active system.

"Free" Games

Unfortunately UtraHLE, MAME (the possibility to play hundreds of arcade games with just one emulator is obviously very tempting) and similar emulators seem to have spoilt some emulator users and also attracted a new kind of user. These so-called Lamers are just in it for free games.

The typical argument when it comes to games that are not abandonware (i.e. games where no one owns the rights anymore or the publisher released the game for free) is that publishers do not lose any money when 8- and 16-bit titles are copied or can be downloaded, because these titles cannot be bought anymore. Lamers do not really care if a title is still sold or not, they are just in it for the "free" games...

Commercial Interest

It is not sure if publishers intended to undermine the argument that older titles are not sold anymore or if they just noticed a new market for these titles. With one of the biggest libraries of game titles Nintendo started to adapt NES games to the Gameboy and later brought SNES games to the GBA.

Also every current console manufacturer now has an online service where you can buy and download games (Xbox Live Arcade, Virtual Console, Playstation Store). While this is not limited to classic games, a large portion are. Some games have been refurbished to look and sound better, but there are also pure emulations of the original titles.

On one hand this helps to interest people in the old games who otherwise might not have bothered with an emulator. On the other hand this puts some emulation enthusiasts in a difficult legal position. Especially Nintendo have been know to shut down lots of internet sites that provided downloads of their old games. Now that they actually have the possibility of making money with these old titles again, they have much better arguments for such actions.

Owning images of non-abandonware titles has always been a legal gray area at best. But now it has become pretty problematic again. Also since it is not known which franchise might be revived next, trying to decide which titles you should try to preserve and for which you might be accused of illegally copying feels like navigating a minefield.

There Is More

Overall the topic of emulation is very fascinating and reasons for being interested in it can vary quite a bit. Feel free to express your own view in a comment.

Comments (0)

Leave a comment

Please login to leave a comment.

500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.