I accept payment through PayPal!, the #1 online payment service!

What is emulation anyway?


   What is emulation I hear everybody asking.  Well, it depends what you are referring it to.  To emulate something is to "pretend" to be that thing being emulated.

    Let's say for instance, we have a Volks Wagon Beetle, but what we really want is a Porshe 911.  Well, you could strip the Beetle down to a bare chassis, buy a fiber glass body kit, shaped in the mould of a Porshe 911, by the 911 rims, make the interior similar to that found in a 911, make a few other modifications, put it all together, and what do you have?  You have a nice VW Beetle, that SEEMS to be a Porshe.  This is a very broad use of the term, but I guess this could be called emulation, because you are making the VW Beetle seem to be something it is not, a Porshe 911.

    So how does this translate to the computer?  Well, lets use an IBM clone type of PC.  This PC has a 300 MHz CPU, 128 Mb of RAM, a 9 gig hard drive, etc, etc.....  Let's just say it is no slouch.  Ok, we have all this power at our disposal, but we are sick of playing all these new, over priced, under expectations, PC games, and want to go back to our younger lives, and play a Super Nintendo game, say, Street Fighter 2.

    Now you come across your first problem.  There is nowhere for you to plug in your cartridge, so how are you going to play your SNES game on your PC?  Well, you need to take the information from the cartridge, and put it on a medium that the PC can use, say a floppy disk.  Using some sort of copying device, we transfer our SNES game over to a floppy disk.

    Well, now we have SF2 on a floppy disk, but now what, the PC won't run it.  Why not?  Because the PC does not understand the instructions that the game is giving it, and the game does not recognize any of the hardware it is running on.  So what do you do now?

    This is where the emulation comes in.  For you to play your SNES game on your PC, you are going to have to make the PC act like a SNES, but how?   Using software, you need to make an exact duplicate of every piece of computing hardware found in a SNES, (and this is no easy task.)

    After some painstaking programming, you have written all your software, that is pretending to be the piece of hardware.  You are now "emulating" that piece of hardware, because you are making your PC pretend to be a SNES.  Now your SF2 games doesn't know the difference, and is more than happy to run for you, as long as the emulated hardware is present.

    This was a rather quick explanation of what an emulator is and does, but I think you get the drift.  You may now be thinking, hey, well let's emulate something else, our computer can be told to do anything.  This may be true, but it would also depend on a few other factors.

    1) Do you have the resources available for a decent emulator?  Although the system you want to emulate might only run at 15 MHz or so, to emulate those machines could take a massive amount of speed, to accomplish perfectly in software.  When you think about it, the PC usually has one dedicated CPU that processes just about everything, while newer game consoles have dedicated CPUs for just about everything, from graphics, to sound, to pure math, 3D engines, etc.

    2) Do you have the time?   Even if hardware is not a limitation, it could take many years to write a bug free emulation of just a simple chip.  When you think how long one chip could take, then remember there are probably 4 or 5, quite complex and intricate chips inside the system you would like to emulate, then the time it would take to write such an emulator could be out of the question.

    3) Would it be cheaper and easier to just use the original system?  If it is going to cost you $2000 in upgrades to your PC to use an emulator of a system that only costs $200 to buy, then why would you bother?

 

With all this said, you now have a reasonable platform to base your emulation project on. If time, money, and resources are not a problem, then good luck, go out and emulate your chosen system.

            ChiPPy


home.gif (412 bytes)