Tuesday, November 02, 2004

A Wrinkle In Time

February 13, 2005 -- Read the entire blog below for a helluva interesting tale of one man's journey into building his first functioning M.A.M.E. arcade cabinet. This project gave me the courage and confidence in embarking on something that I was completely unsure of the end results. It was an incredible experience, and now I feel far more capable to construct better and more complex arcade projects.

To this day, it still looks and functions exactly as you see the images below. This is because at this point I wanted to create a Christmas present for my friend, John, who served in both the first Gulf War and for a year in Iraq in 2003 and 2004. Please click on the title of this post to view my blog on that project.

Enjoy

A review of the project

I am currently working on building a "bartop" arcade cabinet. Essentially, it is a countertop-box shaped like an arcade machine. Inside will be a monitor, and in the front will be an actual arcade-game joystick and buttons on a panel. I will have logos and graphics around it. The guts of it will be an older PC which I have just sitting around collecting dust. I am in the process (about 85% done) of configuring this internal computer to playing (literally) hundreds of classic arcade games from the 70's to the 90's. Most of them are played with a software called "M.A.M.E." -- which stands for Multiple Arcade Machine Emulator. An emulator is a software that "tricks" on kind of computer to "think" it's another king of computer. Essentially, MAME takes the original arcade game data that was on the circuit board chips inside an old arcade machine, and then "tricks" that data into functioning and running on a PC exactly how it functioned and ran inside the arcade machine. This data is called a "ROM". For example, say that you have the data from an old Pacman machine, or also refered to as the "Pacman ROM" -- you run the MAME program and instruct it to take that Pacman ROM and run it -- next thing you know, your PC screen looks as though you've just turned on the original Pacman arcade machine -- the system goes through a check, then asks you to "Insert Coin." You press the "5" key on the keyboard to simulate inserting a coin, then the "1" key to simulate the "1 Player" button. The game starts, and you control Pacman with the arrow keys on your keyboard.

The most current version of MAME supports over 5000 games. No joke. And the program is free too! As for the ROM files....... it's a bit of a grey area as legal issues go. As far as I know, most game companies that created these old arcade games pretty much tolerate that their arcade ROMs are being used by MAME fans. The most important thing is that no one attempts to sell, or make money through the distrobution (or whatever) of ROMs.

There are dozens of emulation programs out on the internet -- most of them free. I discovered the whole emulation scene back in 1998, and became a huge fan of MAME shortly thereafter. I've been collecting ROMs of all kinds and experimenting with emulators for years. Now, finally, I've gotten to the point where I absolutely want (or need) to create my own arcade cabinet and dedicate an old PC running MAME to put inside it. I've been researching other hobbyists' designs, plans, equipment, setups for well over a year. I am finally doing it for myself now.

Luckily I am an expert with computer systems, operating systems, and MAME, so the guts of the system will pose the least amount of challenge for me -- but because I am merely a novice when it comes to woodworking and such, I've purposely decided to use a simpler "bartop" arcade cabinet plan -- about a foot-and-a-half wide, two feet deep, and two feet tall -- something simple that can sit on top of a table, desk, or countertop. It is only big enough for one set of controls -- one joystick and four buttons (aside from "Player 1" and "Player 2" buttons at the top, as well as two smaller buttons for "inserting coin" and "exiting the game").

So far I've built the frame of the box successfully. It's all out of 5/8" particle board, which I've constructed and secured and sanded down quite nicely. The panel is also done -- it is made out of 1/2" medium-density-fiberboard. I had to order arcade parts from England -- where, for some reason, this whole built your own arcade hobby has seemed to catch on more there than it has here in the states (at least in terms of percentages of demographic population). The joystick, buttons, and a special PC-interface chipset for connecting them, with shipping, came to $92.10. I've also bought plenty of various parts (such as smaller buttons, wiring, solder, crimp-on connectors, etc) at Radio Shack. All this will go together very soon. Yesterday I fastened the joystick onto the control panel. (Note: I screwed up a bit -- I started hollowing out the area where the joystick goes in, because I thought that its metal plate was supposed to be mounted on the top of the panel. I was 30% done when I realized my folly. So now my panel looks like someone has scraped their teeth all around the joystick area. Oh well.) Today, I was going to insert the buttons -- until I realized that the drilled the holes too small. Better than too big I guess. I first tried filing the holes down some more -- didn't work -- I needed at least another 1/4" in diameter on each. I got out a special side-cutting drill bit, and that did the job... clumsily. I got three buttons in there that way.


Guts of the system: Pentium 200 Pro, 64MB RAM, 2GB harddrive running FreeDOS. Ugly, isn't it? Posted by Hello

Monday, November 01, 2004


Frame of the bartop cabinet. Posted by Hello


Rear view of cabinet Posted by Hello


Finished frame plus rear hatch. Posted by Hello


Original wiring to the I-PAC Posted by Hello


Control panel with joystick and buttons in place Posted by Hello


Underside of panel: wiring half-way done Posted by Hello


Inside cabinet: note the "pinch clips" on either side Posted by Hello


Finished wiring for control panel. This is my original wiring design -- but it was too grand in scope, and reality gave me a firm kick in the crotch. After it failed to work reliably, I had to rip it all out and start over. Posted by Hello


The end result of my old wiring (and the housing cases for the speakers I used). Warning: do not use solid-copper wiring. Use stranded-copper wiring. Trust me. Posted by Hello


My new wiring: stranded copper -- nice, clean, flexible. Also, I mounted the I-PAC on the panel between the joystick and buttons. Posted by Hello


Closeup of I-PAC and wiring. Posted by Hello


Closeup of joystick and P1, P2 buttons. Posted by Hello


Closeup of action buttons wiring, plus smaller Coin and Exit buttons from Radio Shack. (I don't recommend using these types of small buttons -- I'm never going to use them again. I'll use regular concave arcade buttons for Coin, Pause, and Exit in the future.) Notice the latches on the left side of the picture. I yanked those highly ineffective "pinch clips" (you can still see the screw holes) and replaced them with simple brass latches to connect the panel to the cabinet. This turned out to be a bad idea too -- they were still too loose, and the panel would shimmy and wiggle when yanking the joystick around. I ended up having to scrap them and install steel L-brackets with thumb-screws instead. Posted by Hello


Rear view of cabinet with monitor in place and panel open. Posted by Hello


A look inside. Notice that I've reused the "pinch clips" -- I used them to mount the wood brace that holds and positions the monitor. You can see them on the bottom left of the brace, behind the yellow and black wires. They work great for this application. Posted by Hello


Front view of the "guts" of the machine. Everything fits in nice and snug. Posted by Hello


Top-down view: I mounted the speakers to the front of the panel (which I had previously drilled several "speaker" holes in). The black thing on the right is a part of the original plastic speaker casing -- jerry-rigged with electrical tape to position the speaker chipset with volume adjuster on the side of the cabinet. Posted by Hello


A better view of speaker chipset jerry-rigging. Posted by Hello


A better view of the speaker chipset's jerry-rigging. Posted by Hello


The little black knob is the volume control -- which is attached to the jerry-rigged speaker chipset inside. (Notice the brass hinges. I later removed them and installed steel L-brackets with thumb screws. It's a far more solid and playable solution that still allows the panel to be removed. Posted by Hello


Rear view again -- fans mounted to blow air out. I wired the speakers and fans into the system's power. They work great! Posted by Hello


All put together. Posted by Hello


Here's the power switch -- it's the LED lights, power, and reset switches from the original PC chassis. I've since wired this to large button which I mounted on the top of the cabinet. Much more convenient that way. Posted by Hello


Booting up with FreeDOS, then auto-loading GameLauncher. Posted by Hello