Sunday, September 17, 2006

I'd like to bring up one of my favorite topics; emulators.

What it is

In computer terms, an emulator is a program that mimics or emulates something else, usually some kind of computer hardware. If you've ever ran any really old computer programs on a computer running Windows NT4, 2000 or XP, you probably used an emulator without even realizing it. That's because 2000 and XP are 32-bit operating systems and many older programs are 16-bit. 16-bit programs cannot run on a 32-bit operating system, but Microsoft wanted to provide a way for users to be able to use most of their older programs on the newer, 32-bit platforms to encourage them to upgrade (give your $$$ to The Corporation). So Microsoft came up with two programs known as NTVDM (New Technologies Virtual DOS Machine) and WoW (Windows on Windows). NTVDM is an emulator that reads in code created for the old DOS environment and converts it in real-time to instructions that a 32-bit environment can understand. WoW is another emulator that works with the NTVDM that does the same for older 16-bit Windows programs (Windows 3.1 was a 16-bit Windows environment that ran on top of MS DOS). There is now 64-bit versions of Windows that have a 32-bit WoW emulator to run regular 32-bit programs, but no 16-bit support. There are many other emulators as well.

More PC examples

VMWare is a prime example of an PC emulator. It allows you to run a computer emulation from within Windows or Linux. You can load an operating system onto it just like you can any computer and even play games or surf the net from it. You can even run more than one emulation at the same time and network the emulated computers together. VMWare sells server software designed to take one physical computer and, using emulation, break it into multiple virtual servers each running their own operating system and software. Microsoft carries a competing pair of programs called Virtual PC 2004 and Virtual Server. There are also a few free PC emulators out there such as DOSBOX and QEMM. Some of these are ideal for people (like me) that have a lot of old DOS games that just won't run an a Windows XP system because the emulation in NTVDM and WoW isn't good enough to run most graphic and sound intensive programs because these programs want to access the computer hardware directly, but this isn't allowed in Windows NT, 2000 and XP and NTVDM do not actually emulate video and sound devices while the PC emulators usually do.

Other examples

When I first discovered the world of emulation, it was emulation of older computers and video game consoles. It was with great pleasure to learn that I could relive the days of the Commodore 64(which mine long ago stopped working) and Amiga without having to aquire and connect any actual hardware. Not only that, but there were emulators for GameBoy, Nintendo, and Super Nintendo. I actually had a device I bought over in Hong Kong that copies Super Nintendo game cartridges onto floppy disks (cost me $300, but it was worth it). Then I could transfer the games onto the computer and run them on an emulator. Don't bother asking me for games, I'm not about to risk giving them to anyone. Eventually Nintendo-64 and Playstation emulators came along amoung many others.

MAME

I think the grand-daddy of all game emulators is called MAME(Multiple Machine Arcade Emulator). It is actually a collection of emulators to emulate the hardware of original arcade games. The emulator is totally free, but the games are not. For the most part getting the games (known as ROMs - for the Read Only Memory chips they usually reside on) means either buying joystick a package that includes an emulator with some games, getting the original circuitboard from an actual arcade machine and using specialize equipment to extract the game data or obtaining the games via illegal channels (don't ask me from where, I'm not going to help you). At this time, MAME is capable of emulating thousands of arcade games, but not all of them are fully functional.

Other Emulators

There are many other emulators out there. There are emulators that emulate a Texas Instruments calculator. There are also emulators that run on other platforms such as GameBoy emulators that run on PDAs.

The drawbacks

Depending on what you're running the emulator on and what kind of system you are emulating, emulators can be slow. As an example, some games in MAME (generally the newer ones with 3D graphics) have an estimated system requirement well above what is currently on the market (I think I saw something like 5GHz processor requirement once). In order to legally run emulations, it normally requires that you own the original equipment and/or the original software or ROM. For instance, the TI calculator emulators need a BIOS ROM from the original calculator to work. The only legal way to get it is to extract it from the calculator (which the emulator is able to do). In most cases, getting ROMs for game consoles or arcade machines requires special equipment that most people do not have easy access to leaving most emulation fans resorting to locating the illegal channels I referred to earlier.

My plans

In the future, whenever XP becomes obsolete, I want to abandon Microsoft and switch over to Linux. I plan to use PC emulators to run any older stuff that I want to continue using. It's not that I don't like Windows, it just that I don't like Microsoft and their desire to control everything that happens on your computer.