Emulators: Ya think?
by Sean Kelly
Well, well, well.....lemme slip off my shoes (and pants but you don't need to know that) and test the feel of DP on the Web! I dunno about you but it doesn't quite feel the same. It's an interesting media and the page here looks great, but I still long for the day when the paper version returns. I did chat with out fearless leader on the phone the other day and he has assured me that DP on paper will return within a couple of months. So if this doesn't happen let's all go to Jersey and throw rocks at his house for about 3 1/2 hours OK?
Being here on the web has brought a topic to mind that has surfaced due to the popularity of the internet. I mean let's face it. The days of local BBS's and Fidonet and the like are history forever. I think most people that were involved in email and message base networks before the internet had to be pretty die-hard computer fanatics such as myself. I remember back when the net was starting to show up on various local BBS's and thinking it was probably just a new form of message echoing system - was I ever mistaken.
The internet has taken the planet by storm and it's estimated that over 50 million people access it in one way or another every day. That's a hell of a lot of folks! One of the major advantages of the internet is the quick and easy exchange of virtually any type of information from any other internet user in the world. As a direct result of this, we now are in contact with some seriously talented programmers who have taken their talents and applied it to classic videogames and released a slew of emulators.
Let's take emulation down to it's most basic premise and we'll use the Atari 2600 in this example even though there are emulators for pretty much all classic game systems now. Inside an Atari 2600 cartridge is a chip. This chip contains a series of commands in hexadecimal (long word - doesn't matter if you understand what it means) form that instruct the 2600 as to what exactly you want it to do. An example of a hexadecimal instruction would be 'A9'. This code is translated by whatever system that's reading it into a series of electrical pulses. A series of these pulses is a program and the program can instruct the systems Central Processor Unit (CPU) to perform various actions such as draw something on the screen or make a sound or play Adventure on the 2600 if it's fed enough of these instructions.
A common question that has plagued videogame players throughout the ages is why can't you play system X's carts on system Y? What I have explained above is exactly why you can't. While there are other physical reasons such as cartridge size differences, even if you were able to extract the data from system Y's cartridges and put it into a cartridge made for system X, you would get nothing but garbage on your screen if even that. Our example 'A9' instruction could mean something completely different to say Intellivision than it does to Atari. Perhaps 'A9' on Intellivision instructs the systems CPU to shoot peanut butter out the cartridge port? The point is that it varies from CPU to CPU. Even in the case of the Atari 5200 which is really nothing more than a stripped-down Atari 400 computer, there are subtle differences that would not allow you to simply feed Atari computer data into a 5200 and expect the game to play.
Enter stage right - emulators! The job of an emulator is very simple: grab all the instructions from "that other system's games" and convert them into what they were intended to do BUT in a language THIS system's CPU will understand. Let's say in a 2600 game our 'A9' instruction is encountered in the game's data. Well, we know that if we simply feed this instruction to an IBM compatible's CPU, God only knows what will happen. So the emulator catches this instruction, analyzes what it's supposed to do based on the Atari 2600's specifications that have been programmed into the emulator, and converts it into the proper instruction for the CPU the emulator is running on.
The only reason this is possible is because of how fast modern computers have become. A 200mhz Pentium runs at what you might think - 200 mhz. An Atari 2600 runs at 1mhz. What this gives an emulator programmer is a whole lot of time to work with in converting a 2600 game's instruction to something that makes sense to a Pentium AND fast enough so that the 2600 game will run on the emulator without the user even knowing what's going on. Many Atari 8-bit devotees may remember Atari 5200 games released by hackers for play via disk on their computers. This is not emulation. These hackers went into the 5200 game's data and edited the commands they knew were not compatible with the computer to command that was compatible. Since the differences between the 5200 and the 8-bit computers are so subtle, this is possible. Even so, if a programmer was talented enough and speed wasn't at issue, an actual emulator could be programmed on the 8-bit Atari computer to play Atari 2600 games. The exact same process would be taking place. The program interprets the Atari 2600 game's instructions into an instruction that would generate the desired effect on the computer. The big difference is speed. We don't have all these extra "mhz's" to play with on the Atari 8-bit so things would run EXTREMELY slow. So slow in fact that it might take 45 seconds or so just for the castle door to open in 2600 Adventure. So slow that it would be unbearable, but the point is that what an emulator has to do could be accomplished on pretty much any platform given the speed to work with.
There were various adapters released for many of the classic systems to allow you to play system Y's games on system X - not emulation. Let's use the Atari 5200 for this example. When Atari came out with the 5200 they feared masses of pissed off 2600 users that would not upgrade to the 5200 because they had already dumped piles of money into a respectable 2600 cartridge library. The Atari 2600 adapter for the 5200 was born. Now you may think based on what we've been talking about here, that inside this adapter a program is stored to convert all the instructions into instructions that make sense to the 5200 but this is not the case. While it is possible, hardware designers would have both speed and cost considerations to take into account. I mean why design an entirely new piece of hardware when something that will do the job of playing Atari 2600 games already exists - the 2600 system itself!
The adapters for the Atari 5200, Intellivision, and ColecoVision are not doing any translation whatsoever. They simply consist of a 2600 system that plays 2600 games as it was designed to but instead of sending the audio and video signals out the little cord that goes to the TV/Game switch like a real 2600 does, these adapters send the audio & video into their respective host systems. In our Atari 2600 adapter for the 5200 example, the audio and video is fed into the 5200 and simply sent out IT'S cable that goes to your TV. There is no interaction with the 5200's CPU whatsoever therefore this type of adapter is not emulation.
Emulated arcade games on modern home systems are the hot thing nowadays. Digital Eclipse has released the Williams Arcade Classics and Atari Classics for the Sony Playstation and is emulating the arcade systems. Same process here. The arcade games instructions are translated into instructions that make sense on the Playstation and you are playing EXACT copies of the games as they were in the arcades.
Titles such as Microsoft's "Classics" for the PC are not emulated however. The original arcade game's data is not used at all. Instead programmers simply look, or even remember in some cases, at how the game looked in the arcade and do their best to program instructions that will create something similar on the PC.
Whew! That was alot of emulation jabbering! Well we need to get into the ROMpage aspect of all this now don't we? The question I have here is what do we all think of all this emulation that's going on? Like many of you, I have a fair selection of emulators that let me play everything from Atari 2600 games to Vectrex games on my PC. My opinions are mixed on them however.
Many times the first thing that comes to mind when I snag a new emulator is "Cool!!" and I go install the sucker to check it out. PC Atari by John Dullea for example is very well-done and plays just about any 2600 ROM image you feed it without any slowdown whatsoever on a respectable PC. John has PC joysticks supported so you don't have to use your keyboard arrows like you do in many other emulators and the sound in most games works fine. But something doesn't really "feel" right to me.
The thing that pretty much all the emulators DO accomplish is they allow you to play many of the classic games on your PC (provided you can find the ROM images you want) but they don't fill the nostalgic void like the real things do. Not only that, but for some reason it's just not the same sitting in front of your PC playing 2600 games in a window as it is sitting on the floor in front of your TV like it used to be "in the old days". A feeling is difficult to put into words but locating a new ROM image on the net just doesn't do the same thing for me as picking up a new cartridge I'd saved up for months as a kid and jamming it into the console. I'd sit there all night long and play the game until my damn hands wouldn't work anymore. A new ROM image shows up and it's more like "Wow...cool" and it get's stored with the rest of them.
Like I said, it's difficult to put a finger on what causes the difference. I mean I could certainly play the game on the emulator all night long if I wanted to but for some reason the desire isn't there that way. I will say that I believe it has something to do with the excitement in hunting for the originals - something I've talked about here many times. Digging through a pile of 2600 carts at a flea market and pulling out a Tooth Protectors and slamming down your buck is almost like a high! You giggle all the way back to your car knowing how hard this is to find and how little the person you just "stole" it from knows. You get home, add it to your list with pride and try and find someone, ANYONE, you can tell about it so they can be either as psyched about it as you are or green with envy.
Now maybe later on that day or even a couple days later you might play the game. "This game SUCKS" you say with a smile in many cases after you've found a very rare 2600 game. Hell it may even be a good game and you sit and play it for hours on end. You don't care though. You're now a member of an elite group that actually has this cartridge and you RULE!
This isn't to take anything away from the emulator authors as I do believe they serve an important purpose and many of their programmers have done an excellent job on them. The emulators are a perfect opportunity to give game PLAYERS a taste of the game. Game collectors will have little use for emulators other than a quick and easy way to check out what the game looks like and even give them a chance to play a few games of something or another should the desire arise without having to dig their original cartridges out of the vault. Not such a bad thing if you ask me!
Emulators also provide an excellent means for obtaining quality screen shots of games. How else are you going to get a picture of a Vectrex title? Have you ever tried to photograph a Vectrex screen? A good photographer may be able to do it, but I know I can't. I can certainly fire up DVE (the Vectrex emulator) and do a screen capture on the PC though. Even for other systems such as the Atari 2600. You can probably take a picture of a TV screen and get an acceptable shot of a game, but it's not going to compare to a screen you've captured from PC Atari on your PC.
I would be the first one to admit that I'm more of a collector than I am a player of most systems, but as a kid I had an Intellivision and a bunch of games for it and I do enjoy playing Intellivision when I have someone to play against. Although I never had a Vectrex system as a kid, I do enjoy playing some of the Vectrex games from time to time also. I have both a Vectrex system with a multi-cart with every Vectrex game on it and a PC with the Vectrex emulator installed and all the game ROMs on the very same desk. Given the same setup, which system are you going to look to when you want to see how far you can get in Minestorm?
Return to Digital Press Home
Last updated Tuesday, February 13, 2007 06:01 PM