Software Emulation: ==================== For those unfamiliar with Software Emulation, This is will give a basic description as to how it works. This information is solely inference and is not necessarily fact. For any piece of hardware (say the SNES) there are chips on the control board of the unit that give instructions on what to do with specific types of data. This data can be interpreted as video, audio, mathmatical equations or any other type of data that the system can recognize. The hardware of a SNES can interpret the information stored in the cartridges of games as useable information that makes up the game itself. It also interprets the data recieved from the controlers to perform some other tasks that require user input. This is where emulators come in. A multi-function computer can not simply interpret these cartridges by itself. Well, It can't do ANYTHING by itself. It requires software to run certain commands that are integrated on the hardware. To access this, turn that on, or something like that. The emulators can be either software-based (meaning they run off of whatever medium that program is stored in) or hardware-based. (meaning it is a separate device that attaches to a multi-function computer to give commands directly to the other hardware) A software-based emulator works off of the hardware in a system, as does any type of software. However, some pieces of hardware have different sets of commands to get it to do something. It is literaly a different language between commands for two different brands of, say, sound cards. This is why there are so many different styles of emulators. Each programmer tries to come up with a better set of commands to the hardware to get the emulator to more closely match the environment that the emulated hardware would produce. However, due to the flexibility of hardware combinations, sometimes multiple libraries of commands are required to accommidate multiple system configurations. This is why most software must select the type of hardware and why hardware drivers must be installed onto the operating system. Back to software emulation. As previously stated, the SNES has hardware to interpret the data that it recieves. But the hardware itself contains software to tell it what to do with the data when it is recieved by a certain part of the hardware. (meaning the video part or the calculation part, etc.) The software-based emulators try to match what the hardware does by examining the hardware and attempting to reproduce the commands processed by the different parts of the hardware. The more accurate the commands, the better the software simulates the environment created by the hardware. Some parts of the hardware may remain a mystery for one reason or another. This is why certain aspects of the environment cannot be reproduced by software alone. Such as the C4 or DSP chips for SNES. Those chips are only inside the cartridges and provide another sort of processor for the interpretation of commands to make them comprehensible to the SNES. So far, these chips have eluded emulator programmers and aggrivated uninformed users.