Beginner's guide to emulation

by David Sharp

Introduction

Computer emulation is where one computer is made to behave like or emulate another computer. In this way software for the emulated computer can be tested, used and developed without ever being used on the actual computer. This is a great help in developing software, particularly for video game consoles, but it also has its uses in the home.

People dislike having to continually upgrade there hardware, as although it gives the advantage of more speed, memory, storage, software etc. there is often problems when it comes to running older software. This can be a problem if for example you upgrade the computer with a like make, but is even more of a problem when the computer is a completely different system. This is where emulation steps in, to allow people to use software from other computers on the computer they own.

Commercial emulators for micro computers (home computers) tend to be developed for now outdated (and often far less powerful) systems, in order to allow the user to operate there old software, or play their old games. An example of this was the Acorn PC emulator that emulates an 8086 IBM PC compatible computer. This was an entirely software-based emulator that was very slow in comparison to PCs of the day. It would however run Word Perfect 5.0. Some of these emulators later became hardware based, as it was realised that a coprocessor of some kind would be needed to emulate the PC at a reasonable speed. This however upped the price by several hundred pounds.

A trend has grown up in recent years (and indeed months) for enthusiasts to write there own emulators. Veering away from the popular older systems such as the Spectrum and the BBC B which had already been well emulated by commercial markets, they turned to the game console. With no real operating system to speak of other than a bootstrap sequence, and an entirely single tasking system, these 'computers' were relatively easy to emulate as opposed to a Graphical user interface like Windows or RISC OS.

Information about these systems tended to be a little sketchy, the Japanese corporate giants Sega and Nintendo were more than reluctant to relinquish details of the Instruction set to enthusiasts. This would, after all, result in the generation of a large and freely available piracy market, that up till now had been very limited, with the Read Only Memory chips (ROMs) being expensive to duplicate. Nevertheless the information became available through limited manuals, and programmers began emulating the more simple consoles such as the Nintendo Entertainment System (NES), the Nintendo Gameboy with its simple and (reasonably) well documented Z80 chip, and the Sega Master System and Game Gear. These emulators were all for the 8 bit systems, that by the mid 1990s were become rather outdated. By this stage the home PCs with the new Intel Pentium chip were also powerful enough to consider emulating these simpler systems satisfactorily.

The problem was that for the home user to attain the software to run on these emulators, he would have to build himself a cartridge copier. This meant getting hold of the game cartridge (ROM) and building some sort of link up between his PC and the cartridge, and then writing the software to copy the cartridge. This was generally beyond all but the most>


Transfer interrupted!

as a large sticking point in the spread of console emulation, that is, until the World Wide Web.

With the exponential growth of the internet, all it takes is for a few people to be able to build a cartridge copier, and the resulting files can be placed on the web and spread around the world in a matter of hours. As other people catch on, the bug spreads and the ROM images become accessible everywhere.

In the last year or so, we have seen home PC emulation at near full speed of some 16 bit systems such as the Sega Megadrive (Genesis) and the Super Nintendo Entertainment System (SNES). The highly portable C language that many of the 8 bit emulators were written in has allowed them to be ported (transferred from one type of computer to another) easily to the Acorn, resulting in the emulators that are now available to us.

Things you should know

It is illegal to distribute or possess ROM images of software that you do not own the original cartridge for. I will therefore NOT supply anyone with ROM images, as I only retain the ones that I own the cartridge for, on my Master System, Game gear and Gameboy.

There is not and will not in the near future be a SNES or Megadrive emulator for the Acorn (though I would love to see one). Neither will there be a Sony Playstation emulator (actually I've heard one is in early stages of development!), Sega Saturn, nor Nintendo64 emulator for the Acorn or even PC. Most current Acorn emulators (with the exception of the gameboy) require a Risc PC, preferably with Strong Arm to run the emulators at an acceptable speed.

At the moment, there is a far better range of console emulators available for the PC, including the 16 bit systems already mentioned. If you have access to a PC I suggest you get hold of them as well.

These emulators are not perfect, some ROM images will not work, even if they are perfect copies of the original ROM. Some Cartridges will never be copied, as a result of unique chips stored inside the cartridge that cannot be copied with the rest of the image.

Battery backed memory that is used in some ROM cartridges may be supported by some emulators, but not all. I suggest that you read the documentation supplied with the emulator as I can provide no decent technical assistance.

Don't moan to me that you can't find any ROM images, you can use a search engine can't you?!?!

DO NOT ASK ME FOR ROM IMAGES AS I WILL SEND YOUR EMAIL ADDRESS WITHOUT 
REPLY TO A COPYRIGHT INFRINGEMENT AGENCY.

Terminology

Emulator - a piece of software (or hardware) that allows one computer to act like and run the same software as another.

ROM or ROM image - the name given to a file that is an exact copy or image of all the information on a console cartridge. This is then interpreted by the emulator and run, just as if on the console.

Porting/Ported - where a piece of software is transferred from one computer make to another eg. from a PC to an Acorn, and made to run on that new system as if it were written for it in the first place (ie. not under emulation).

Instruction set - the instructions that a computer chip understands and that must be understood by the emulator if it is to run the software of that computer chips system.

Back to the Acorn Emulation Page