06 December 2004

A trip to Vulcan

[Originally posted to the Homewood High School class of 1989 Yahoo! Group.]

Two weeks before Thanksgiving, I took my two boys on a solo trip to Birmingham. This gave my wife a much needed break, as she's home-schooling and therefore gets almost no time away from them. My parents had some errands to do, so what to do with a 6- and 3-year-old in B'ham? Take 'em to the restored Vulcan!

I probably haven't been to Vulcan since college. For those unaware, they took Vulcan down for restoration a few years ago. The park has had a big overhaul as well, returning it to something closer to its 1938 roots. Gone is the enclosed viewing platform underneath him. Now it's a simple, open platform. There is still a glass elevator, but it now faces the south side (Homewood) instead of the west. You're free to take the stairs, as well. The first couple of flights are covered in marble, but above it's more utilitarian. The kids had a good time, although the 3-year-old didn't care for the platform. I hope I haven't given him acrophobia for life.

Oh, and Vulcan's spearhead is revealed once again. No longer does he carry a torch signifying when there's been a traffic fatality. There's also a museum and picnic area. Furthermore, you only have to pay for the museum and going to the top of Vulcan, so if you're short on dough you can still go up and take a look around the park.

05 April 2004

CVG 101: Em-yoo-lay-shun? (originally for Classic Gamer Magazine)

[Classic Gamer Magazine introduction. This article was originally published in CGM volume 2, #1 (April 2004). This is the article as I submitted it and does not exactly match what was published.]

If you’re a classic gamer and are on the Internet, odds are you've at least heard of emulation and emulators. You may even have a hard drive full of ROMs and a computer desktop full of emulator icons at home. If that’s the case, you might as well go read this issue's “MAMExposed” by Scott Marriott. If you're the one saying, “what's a ROM?” (Yes, you! The one in the back!), keep reading.

An emulator is simply a program that lets one computer imitate a different computer. When I say “computer,” I mean it in almost the most generic sense. In this case, an electronic device that uses microprocessors to, er, compute. For example, there are emulators that let your Apple Macintosh act like a PC, your PC pretend it's a Sony PlayStation, and your PlayStation think it's an Intellivision. (And for some real fun, try running the Intellivision emulator on your PlayStation emulator on your PC emulator on your Mac.) Sounds simple enough, right? “So,” you ask, “how do they work?” I wish you hadn't asked that.

Creating an emulator is not a simple task. It takes a lot of technical know-how and programming skills. It's really more complicated that I can explain in this limited space, but let's see if I can cover the basics. Since this is Classic Gamer Magazine, we’ll limit our discussion to home video game consoles and coin-operated arcade video games. For all video games, there are four primary areas to consider: video, audio, controls, and central processing unit(s). These are collectively known as the hardware.

The CPU emulation is really the heart of an emulator. It's the CPU that runs the program that is the game, whether the game is contained in a chip on a cartridge (as in home consoles) or on several chips soldered to a printed circuit board (PCB) (as in arcade games). In order for an emulator to run a game, you have to make your computer processor run as if it were the console's or coin-op's CPU.

In addition to the CPU, there are probably other processors that handle the video, audio, and controls. When the emulator programmer creates these components, he must not only have them imitate the original hardware, but translate their input or output to the emulator's host system. For example, you can't hook up your Atari 2600 directly to your PC monitor. They simply aren't compatible. Similarly, your sound card isn't a TV speaker and there's nowhere to plug in the joystick. So the emulator has to convert what was once a TV (or arcade monitor) signal into something your video and sound cards can understand. Likewise, it has to convert certain presses of the keyboard into something that appears to the emulated CPU like pressing the joystick and buttons.

So, to reiterate, an emulator is a computer program that imitates the hardware of another computer. Now, when it comes to computers, where there's hardware, software usually isn't too far behind. In the case of video games, it's the game itself that is the software. When you plug a cartridge into your ColecoVision, you're actually connecting a Read Only Memory (ROM) chip to the CPU. When you turn the console on, the CPU then executes (runs) the code found in the ROM chip (or just ROM for short). Similarly, when you turn on an arcade game, the CPU reads the software in the ROM chips connected to it.

Now, most people don't have the hardware to connect a cartridge to their computer. This is where ROM images (or, again, just ROMs for short) come in. It is possible to buy or even make the proper cables and/or hardware to connect a cartridge or arcade game ROM chip to a computer. Then you can use special software to copy the software contained in the ROM to a file on your computer. This file is called a ROM image. The ROM image (or, say it with me, ROM for short) is identical to the code that the console or arcade game runs. Thus, when used in conjunction with a good emulator, you can get an experience that's almost just like playing the actual console or arcade game.

You might be wondering why you didn't hear about emulation until recently. [Author’s note: “recent” is a relative term here. This article was originally written for the non-existent seventh issue of CGM back in 2001.] This time, I’m glad you asked. The primary reason is that computer processors have only recently gotten fast enough to handle emulating other systems. There's a lot of overhead in getting one computer processor to emulate another. It wasn't until the mid-1990s that personal computers had the power to emulate a 1MHz CPU! And then programming an emulator generally required using assembly language. Assembly language is a very low-level language for directly programming a computer. It's basically only a couple steps removed from the actual zeroes and ones your computer uses. The advantage is, because you're practically talking the language of the computer, programs written in assembly are (generally) very fast. But because it's so rudimentary, few people take the time to learn it. Thus, there were few people that had both the interest and the ability to write emulators.

By the late 1990s, computers were powerful enough to handle emulators written in higher-level languages like C. A program written in a language like C is converted down to assembly language by what's called a compiler. But even the best compiler isn't going to create an assembly language program as efficient as that written by hand. (At least that written by the hand of an experienced assembly language programmer.) Thus, such programs run slower. This has been made up for in processor speed.

To give some early history, Digital Eclipse released their Williams Digital Arcade series for the Macintosh in 1994. The games of the series were Defender, Joust, and Robotron: 2084. These were the world's first commercially released arcade game emulators. The following year, Activision published their first Atari 2600 Action Pack, which was an Atari 2600 emulator accompanied by 15 games. This was the first commercially released home video game console emulator. These two programs, along with several independent efforts that happened to be taking place about the same time, started the emulator revolution. At the same time, the Internet was starting to really take off. This allowed programmers to better share their works and communicate with each other to compare notes.

It also made it easier for those few with the ability to make ROM images to share them with others. This brings us to a legal technicality. While there is (generally), nothing illegal about creating or using an emulator, most of the games they run are still the property of the companies and individuals who created them. Their copyrights won't expire for many years yet, and some companies are intent on defending them, as is their right under the law. Thus I feel I must point out that it is illegal to download ROMs from the Internet, particularly if you don't own the actual game.

The laws regarding “backing up” software muddy the issue some. Technically, the owner is supposed to back up his own software. However, since all copies are identical, once you've downloaded a copy, how could anyone tell that you hadn't done it yourself? Second, there are some questions as to whether laws allowing the backing up of software apply to software distributed on a robust medium like a cartridge. As best I know, these particular issues have not been tried in court because the companies that own the games don't generally go after the emulator users; they target those that distribute the ROMs on a large scale. Beyond the legal issues are the ethical ones, which I don't have nearly the space to go into here. Suffice it to say, you'll have to sort out for yourself whether breaking these laws is actually harming anyone or not. It's not an easy question to answer.

Regardless of your answer, today you can find an emulator for practically any home console or computer that was popular in its day. And even some that weren't so popular. You can also find emulators for thousands of arcade games. By far, the most popular is the Multiple Arcade Machine Emulator or MAME (www.mame.net), which currently emulates over 2600 unique games. Can you imagine an arcade with 2600 different games??? Well, thanks to emulation, you don't have to imagine it. You can have it in your home, filling up your computer's hard drive.

Postscript (12 June 2013)

This article was originally written for Classic Gamer Magazine volume 1, #7 in 2001. Yes, the one time I managed to get an article written on time — or was it even ahead of time? — the magazine folded. Unfortunately, CGM wasn't the only one.  Syzygy and GameGo also disappeared about the same time. At first, CGM publisher Cav planned to publish the seventh issue on CD-ROM, but four months later, he realized that even that was to expensive a venture. So he planned to use our articles on the Classic Gamer web site to maintain interest until he could figure out what to do. Finally, in 2004, CGM was re-launched with volume 2 as a PDF document and this article saw "print." By then, however, I had other commitments and didn't write any further articles.  (See the "Remembering CVG 101 and Classic Gamer Magazine" entry for more information on the magazine.)

That note about the article being written in 2001 was not included and that part was re-written, possibly not by me. Also, Scott Marriott's column was renamed to MAMEusements and my article edited to reflect that.

07 January 2004

Re: Ever picked up a cart out of pity?

[Originally posted to rec.games.video.classic as a response to the quoted (>) post.]

In article <20040106165616.01786.00001429@mb-m20.aol.com>,
Bass Guitar God wrote:
>Now here's the question: Have you ever "rescued" such a cart, purchased it,
>taken it home, cleaned it up, and add it to the stack of copies you already
>owned just out of respect for the game?

>And you cannot stand to see it like this, and figure that it would be much
>better in your care, until the time comes when you can at least give it to
>someone who could use it. Can anybody relate to this? I can!

Yes, and that's my problem! 8) I'm currently agonizing over that Pong clone I mentioned Monday. I went back and they wanted $15 for it! ($10 after I showed the lady the battery leakage.) I can't afford to pay $10 for the privilege of seeing if I can resuscitate it.

Today I went do a different thrift and found a Mattel D&D Computer Labyrinth game for $2! It was missing some pieces, of course, but in the (beat up) box. I went up to the counter and asked about opening it to check it out. I also made sure there wasn't an old battery in it and related my experience to the cashier. She said there were some thrift stores in town (didn't mention names) that price things based on how nice you're dressed. I figure that's what's happening to me, because I have to go on lunch hour from work. I also figure she was referring to that very store because I think all the rest in town put price tags on everything.

And before you suggest dressing down and going on the weekend or something, I've been making regular trips there so long they know my face. My only hope is to catch a time when a different lady is at the register. (I've never been fond of the one I had to deal with, and this is why.)