Resurrected Entertainment

Emulation Strain

June 28, 2007

A friend of mine wrote an article a few days ago suggesting that emulation may meet its end in the not-so-distant future because the computing power necessary to emulate the new hardware used by today’s consoles would be too vast. I agree with him completely, but I still have reservations about this statement for a couple of reasons.

First, until recently, consoles were always lagging behind computers in terms of pure processing power. Programmers and hardware engineers have always been able to do more with less on static systems like the Nintendo 64 or Turbo Grafx 16. The consoles had specialized hardware in them which could accelerate common operations used by games. Thus, the console stayed with exactly the same hardware during the lifetime of the product but often continued to look good in the eyes of the consumer because of these extra hardware features. Computer hardware, on the other hand, continued to get better but because of complex operating systems like Microsoft Windows, the computer games often had to play catch-up. For example, during the late 1980’s and and 1990’s, a side-by-side comparison would have been difficult at the best of times because the consoles often ran completely different games from the kind played by computer enthusiasts. Not to mention, the computer often had to contend with many more software layers than a barebones console. It was and still is today, impossible for a computer to run a game without some overhead from the operating system, hardware drivers, other applications, etc. In stark contrast, consoles usually had a bare metal operating system with a spartan software architecture; essentially nothing more than a boot loader and perhaps a small firmware BIOS.

In a bizarre twist of evolutionary electronics, consoles are becoming more and more like computers, complete with powerful operating systems (albeit dumbed down and with minimal functionality exposed). Admittedly, these machines do have powerful hardware, but then again, so do modern computers. Another twist is that the software running on these consoles (ie: the games) is becoming more and more compatible with the software used by modern day computers. With multi-core processors, hyper-complex acclerator cards, and virtualized hardware environments, computers running emulation software could map a number of hardware features used by today’s consoles more easily than ever before.

So what’s stopping emulation from taking off? There are a few big, perhaps insurmountable, issues to contend with before we start playing Xbox 360 games on a Mac. First, the games are so much larger, and the software needed to make them work is equally large, which means if you want to run those games on systems which weren’t designed to run them in the first place, you’ll need to handle the hardware issues as well as the software requirements. For example, on an Xbox 360 there are Microsoft libraries which handle such mundane things like drawing menus and windows, handling kernel events, DirectX libraries for input control and graphics acceleration, etc., will all need to be available on the target platform. So, you had better start coding now, and maybe with a bit of luck, you’ll finish before you’re dead. The second big issue is security. It’s complex. It’s big. And depending on the system, it could be distributed throughout the software and hardware in a tangled mess designed to keep people like you from writing software like ZSNES.

Bottom line: if you want to play PS3 or Xbox 360 games while you can still hold the controller, then you had better fork out the cash for a new or used system because those clever teenagers who wrote the early generation of emulation software, won’t be able to make a dent in the new console market.

No Responses to “Emulation Strain”

Care to comment?