This article was written by Daniel Boris
One of the questions I find my self answering a lot on message boards is "why hasn't Pong been emulatedyet." For those who do not know, the reason for this is that Pong doesn't have a microprocessor or codeROMs like most games do. Pong is completely built from discrete electronic components which worktogether to create the behavior of the game. There were a good number of games from the 70's besidesPong that worked in this fashion. Since there is no processor we cannot "emulate" Pong in the traditionalway, but there are ways of reproducing the behavior of Pong:
1. At one extreme a program could sit down in front of a real Pong machine and write a program thatsimulates it's behavior by just observing the game play. Pong is a simple enough game that you couldprobably write a program that simulated Pong accurately enough that it would be indistinguishablefrom the real thing. There are two problems with this technique. First, you must have access to the realmachine to do this which might not be easy for these older games. Second, there is a high chance ofmissing little things in the game and coming up with an inaccurate conversion.
2. At the other extreme would be circuit simulation. In this approach the programmer would write ageneric electronic circuit simulation program. He would then input into the simulator the spec of eachcomponent in the circuit as well as how they are interconnected and the program would simulate theoperation of the circuit in real time and display the results on the computer's screen. The first problemwith this is that writing accurate circuit simulation software is a very complex task, and secondlysimulating a circuit in real time would require a lot of processing power even for a game as simple asPong. The positive side to this method is that you don't need access to a real working machine, andthere is a lot smaller chance of making simulation errors since you aren't relying on observation to getthe game's behavior correct.
3. Another option would be to something a little less extreme then option 2. The circuit could be takenand broken down into a series of functional blocks. A routine would be written that would simulate thefunctioning of each of block, then these code blocks would be combined together to simulate theoperation of the whole system. This has the advantages of speed like 1, and the advantage of notneeding the original hardware like 2. The downside is that there is a large chance of making accuracyerrors then with method 2. Another difference between option 2 and this one, is that once the simulatoris written for option 2, adding more games becomes fairly easy. With this method each driver wouldrequire considerable effort.
So that is a summary of a few options for "emulating" Pong, and there are probably others.
The final part to answering the question of "why hasn't Pong been emulated yet", is a question ofsemantics. How exactly do we define emulation? An emulator reproduces the behavior of a specific pieceof hardware. For example for a game like Pac-man we write code that simulates the processor, the videohardware, sound hardware, etc. This code then runs the original programs that ran on the Pac-man machine.No matter how much hardware we have to simulate in code we still call it emulation. So if we theneliminate the processor can we still call it emulation, or does it become simulation? I'll leave that to othersto answer :)
One Article Up: PacDeluxe '99 Debuts!
One Article Down: Be a part of the next Retro Radio!