A ROM Emulator is really just a software program that runs on your PC and allows you to play games that were built for different devices such as PlayStation or Nintendo DS, for example. That is the simple definition.
In more complicated terms, the ROM emulator actually mimics another type of gaming device – a games console for example – and then you load an actual game from that console, in the form of a ROM image, into the emulator and it will play exactly as it would on the console. In fact, the game itself thinks it is playing on the console – because the software is emulating (or pretending to be) that console.
What are ROMs?
ROM is a computer term that stands for Read Only Memory. A good example of ROM is a CD – not one of the more modern CDs that you can write to multiple times, but the traditional CD disk that you could only write to once. After you had written data to this disk, it could not be changed, but rather it could only be read from. Hence the name; read only. The opposite to ROM media is RAM. An example of RAM is the memory that is stored in your computer and used to write temporary data to – this type of media can be written to and read from and the name RAM stands for Random Access Memory.
Console games are also written to ROM media whether that is a CD or a cassette. the console reads the game data from the media but cannot write to it. In fact, that’s why a lot of consoles come with memory sticks for saving game data – because they are writable.
In order to play the game on another device, we take a copy of this ROM, or the game data, and transport it to another storage medium – typically the computer hard drive. We save this ROM in the form of an ISO. Whilst we may keep it in a read only format for the emulator, we may also chose to edit the ROM image first of all, to make it compatible with the emulator – as once we have removed it from the ROM media (the games original CD for example) then technically speaking it is no longer read only, and we can edit it as required.
How does an emulator work?
Once we have a copy of the game on the computer, we can set the emulator to read that game. Clever people have reversed engineered all different types of games consoles in order to understand how they work, how they read the data from the games and how they translate that to the screen and the controllers for that console. Using that information they have essentially built their own version of that console from the ground up, but instead of building a physical device, they have done so in software form.
So the end result is a software version of each different type of games console. For this reason you tend to get different emulators that are dedicated to running games from a particular games console. For example, you get emulators made specifically to run Nintendo Switch console games.
You then plug in an actual game from that console, into the software – this is done in the form of a ROM or an ISO image of the original game. The emulator then loads that game into its memory in very much the same way as the original console would have done. It will then play the game just like the console. If we assumed the game had its own thought process, it would think it was being played on the console; it would not know any different.