Welcome to the Emulation Section.

What? Why? How?

Emulation is defined as the act of replicating one thing with another. In computer terms, this means creating a fully functional simulation of another computer. As an example, a program that allows you to play NES games on your computer is an emulator (the actual thing that is providing the compatibility to run the NES game programming on your computer is called an emulator.)

Emulators are available for nearly every single programmable device. Calculators, pocket computers, cell phones, and printers are just a few of the every day items that use emulation of some form or another.

Calculators- Most graphing calculators support software upload. Emulators for GameBoy are currently nearing 80% compatibility. This means they are not quite ready for normal use; random crashes occur frequently.

Pocket Computers- On the Palm device, numerous emulators are available for various game machines (NES, GameBoy, Sega, etc.) In contrast, on the Windows Mobile side it is possible to even emulate the entire Palm device in real time. This means a Windows Mobile device can run Palm running an NES emulator! Why do this? Because you *can*. Emulators exist for Commodore computer emulation, Apple computer emulation, various Atari machine emulators, Nintendo NES, SNES, GameBoy(Color/Advance/DS), Sega Master/Genesis, Sony PlayStation, and more- all in your pocket! Many emulators run at full speed on a 520mhz powered Windows Mobile device.

Cell Phones- Many people are familiar with the 'arcade classics' available for purchase on their cell phones. Did you know the actual file(s) downloaded are an emulator and an image file- the image file is an image of the original game code taken from an actual machine (usually)!

Printers- Most printers have a 'compatibility mode'. This is actually an emulation layer that emulates the most common HP command set- regardless of printer manufacturer!

So now you may be wondering how is this even possible? It is easier to understand if you remove all knowledge of how a given computer/machine works. Now it is no different than magic to you. A magic box that you do something to, with the expectations of getting a specific outcome from the magic box. If it truly is magic, then you could paint the box any color you want. If you can paint it, why not make it smaller or larger? Why not make it a pyramid instead of a box? Or a ball? As long as you do the same actions and get the same results, what does the box actually have to do with it? The box is simply a place for the actions to take place. Now that you see this train of thought, you should be lead to how it actually works.
Some emulators work based on expectations; regardless of *how* the original accomplishes a task, it is understood what the results should be. These types of emulators work on guessing what results are expected, and emulating those known functions. While these emulators include the fastest, smoothest emulation possible, they also have the lowest compatibility ratings because of the emulation of *only* known functions.

Other emulators work based on literally recreating entire chipsets and hardware, within the software confines of the actual machine. These emulators are generally the most true to life simulators available- if the actual machine is of high enough caliber to overcome potentially slow hardware emulation.