eli5: Why do we need emulators to play old games? why can’t we just make the games work without the emulator?

734 views

eli5: Why do we need emulators to play old games? why can’t we just make the games work without the emulator?

In: 409

33 Answers

Anonymous 0 Comments

Imagine it like a standard card game. The game is just the instructions for how to play, the emulator is the deck of cards.

You *can* package the emulator together with the game, and sometimes it gets sold like that. But it’s a ton more work.

Anonymous 0 Comments

We can, that’s called a “port” and sometimes it basically means rewriting the entire game from scratch to work in a different computing environment. Sometimes it’s just easier to create a program the emulates its native computing environment – an emulator – and run it using that.

Anonymous 0 Comments

The issue is that the games code wants to use some functions that the old Operating System provided, but a new one doesn’t.

You could make it work by changing the code of the game completely, but especially for older games that’s not necessarily easy (and often illegal) and simply booting up a virtual old OS running inside the new OS (the emulator) is just easier.

Anonymous 0 Comments

We can, and it has been done. However, doing this means rewriting every game to work on new hardware. On the other hand, an emulator only needs to be written once and then it’ll work will all games made for the emulated system.

Emulation often requires more computing power, but since that has increased exponentially in the time since the games were made, its usually no problem.

Anonymous 0 Comments

They work perfectly fine without the emulator, granted they’re on the original medium and used with original hardware. But yeah, the computer wasn’t built to run like an NES, so I need to tell the computer to build an environment that tries to run like an NES did, so the game can function in that environment.

Anonymous 0 Comments

Old games are designed to run on old hardware or old operating system that does not exist anymore. While it is possible to get the source code of an old game and recompile it for a new hardware and new operating system, it will take a lot of effort. Instead, we can create an emulation software to emulate the old hardware or old operating system to run the old games – not only one old game, but many old games.

Another problem with old games is that some of them were developed based on the speed of computer in that era, like, 33 Mhz CPU, or even slower. Even if you are able to get the source code and port it to the current CPU, running 2 Ghz CPU, you will see the old games run so fast that it is not playable. So, it will require not only to port it to the current CPU, but also need to change the logic of the game so that it does not rely on the CPU speed. It is a lot of work.

Anonymous 0 Comments

In the beginning, video games pre-dated the availability of home computers. What computers were available were all very different at a hardware level. It wasn’t until IBM released their personal computer that standards began to be developed. The games themselves, whether arcade or on a cartridge for a home system, like the Atari 2600 or NES, are stored on ROM (Read Only Memory) chips and were written to expect the specific hardware of that machine.

Emulators are necessary to “trick” the game into thinking the original hardware it expects is actually present, even though it is not. Some emulator projects, like MAME (Modern Arcade Machine Emulator) are very serious about faithfully modeling the original hardware of these machines. For example, early arcade machines sometimes used some strange tricks and side-effects to coax the machines to produce the sounds for the game, as opposed to having snippets of pre-recorded audio. This is often very difficult to emulate as they sometimes relied on things like electronic interference that was present on the original hardware to achieve their effect. MAME, rather than “fake” it with re-created audio, will often choose to leave the audio emulation in a non-working or semi-functional state in the hopes that someone may figure out how to emulate it properly in the future.

TLDR: Software is tied the the hardware it’s expected to run on, and for games, that hardware often was very different than a modern PC. Therefore emulators are needed to trick the game into running.

Anonymous 0 Comments

One option is the old game without an emulator you need the original hardware and software configuration it was made for. All hardware and software do not work the same way and the game requires what is was made of to work. You could make new compatible hardware too, but it will be expensive and every player needs to purchase the hardware. So quite an impractical and expensive option in most cases

Another option with no emulator is to make a variant of the old game for the current platform, which requires a lot of work and can be made to be identical. You need to repeat the conversion for another game you will run.

Those are impractical and time-consuming alternatives. Instead of making new hardware or changing the code of the game why not create software that can emulate the hardware and software functionality of an old platform?

That way a single emulator can when it is completely run all games from a platform, you only need an emulator per platform not per game. You can write an emulator that works on multiple platforms that can be modified in the future when the system changes. That is more flexible than converting individual games.

There is also a legal reason. If you make a variant of a game for a new platform you will run into a copyright problem if you reuse old graphics and other stuff. You need a license from the copyright owner, how it is possible to get it or if it is needed if the original company no longer exist is not obvious.

An emulator of hardware on the other hand is legal. So you can have an open source project that developed an emulator publicly and people can cooperate freely. The a lot murkier part, getting the old game part can be separated. You can get old games’ legacy for example by purchasing the old game and loading them into your device yourself. A lot of people will get the game in a way where the legality might be questionable but the emulator project can keep away from that

So you do not need an emulator it is just a quite practical way to do it compared to compatible hardware or a new variant of the game.

Anonymous 0 Comments

Imagine Sonic the Hedgehog, that was written for the Mega Drive, the code expects the cartridge to be over here, the sound chip interface over there, and the video RAM over there, so you can only run it on a Mega Drive.

Modern machines though are fast, stupidly fast compared to the Mega Drive. So an emulator looks at the code and goes “It was going to write over here, which was the sound chip, which would make the sound chip do XYZ, so I can spend a little time making that sound (which is hard for me, I’m not a sound chip). Okay we have that, what was the next instruction?” and it can do all that fast enough to be playable.

The other option is a port, the version of Sonic 1 inside Sonic Jam for the Saturn is a port. A port is making what is effectively a brand new game that looks, sounds, and plays like the original.

Anonymous 0 Comments

Chess and Checkers both use the same board.

You can imagine then that the games themselves consist of the 64 chess pieces, or 64 checkers pieces (plus the rules for playing with them) and that the “platform” for the game is the 8×8 two-coloured board you play on. Different games in the same space.

So you dig out the game from your loft, but you only have the pieces, because it was designed for the common chess/checkers board platform, which of course you already had.. painted onto a table which has since been trashed or gifted to your older brother.

You need a board to play on, it doesn’t work without one. So you could spend 20 minutes with a ruler and a sheet of cardboard and a bunch of markers drawing a grid..

But it’s the future, so to make your board, you tap a couple keys in your smart-table and it brings up a fancy two-colour 8×8 grid to play on. Much easier.
That’s a simple example of an emulator in action.