the great wave MAME box

Now that I’ve escaped from Berkeley, I have free time again. Evenings, weekends–they exist. Almost organically, my desire to do things has been recovering. So I hatched a new project: a MAME box. MAME stands for ‘multiple arcade machine emulator,’ and it’s a project to resurrect classic (and modern) arcade games by meticulously emulating the original hardware that they ran on. It can run everything from Galaga to Street Fighter. At first, I planned to do the whole shebang: a full-size arcade cabinet with a classic arcade monitor. I was inspired by Doug’s MAME cabinet that he built in college.

I couldn’t get over one serious drawback of the full cabinet: it is immobile. Done properly, it’s about 6 and a half feet tall and weighs a couple of hundred pounds. So wherever I built it would be where it stayed. Instead, I decided to build just the control panel of the cabinet, with a computer running MAME inside the control panel enclosure. The finished product would fit easily in a car, and connect via HDMI to existing A/V setups. I batted the idea around until Doug and George surprised me with a set of computer-cut wood pieces to make the box out of. From there, it all came together pretty rapidly. The finished product:

finished mame box

I decided to call it “The Great Wave” because I used Hokusai’s famous woodcut The Great Wave off Kanagawa as the artwork for the top surface. Here’s a description of how we (Doug, George and I) built it over about six weekends at the beginning of the year.

First, the box design and woodworking. Doug and George went to an arcade to measure the control panels of a stock Street Fighter cabinet, just to make sure the spacing of the buttons and the joysticks was legit. He transferred the measurements into a Corel Draw design for the top of the board. Here’s what it looks like:

control panel layout

Each player gets six buttons, which is enough for pretty much any game from an arcade or classic console. The two buttons above each player’s layout are for player one/player two start and coin insert. The three at the top are dedicated to navigating through the emulator menus.

The other five sides of the box were considerably simpler, but Doug did put a nice subtle tilt in from back to front for comfort. Designs in hand, Doug and George headed to the Sawdust Shop, a treasure trove of woodworking equipment that you can rent time in by the hour, to actually do the cutting. The precision cutting on the top was done by a computer-controlled CNC router. The material was medium-density fiberboard (MDF for short), a particle board with good strength that is cheap and easy to work with. Here’s the design loaded into the CNC computer software:

cnc computer with design

Here’s a shot of the machine starting to do the cutting:

cnc machine starts cutting

After all the pieces were cut, Doug and George presented me with them. The intent was to then hassle me until I got off my ass and finished the rest of the project. Hardly any hassling was necessary, it turned out.

Along with the MDF cutout of the control panel, they had a piece of plexiglass (acrylic) cut to lay on top for a nice, plastic finish. Trouble was, the acrylic chipped when the CNC router bit (made for wood) tried to cut it, leaving a rough edge all around. You can buy router bits made to cut acrylic, but for the price of the bit alone (about $40), I had a new acrylic overlay custom laser-cut by Pololu custom laser cutting. These guys were great. Even with the time to look over the design and give me a quote, I had the finished piece in my hands within a week.

With all the pieces of the box in hand, it was time to think about the controls. I bought my pushbuttons and joysticks directly from Suzo-Happ, manufacturers of American-style arcade equipment. These are the controls you remember from your youth, if you ever visited arcades in the US–big, beefy joysticks capped with bat-shapped plastic handles a clicky, indestructible-feeling buttons.

happ_joystick

happ_pushbuttons

Despite some quite lengthy arguments that Japanese-style arcade controls are superior to American parts, I find that the Japanese parts feel flimsy and don’t offer the same satisfying feedback. Also, I intended the control panel to withstand pounding on from drunk and/or infuriated players, so the delicate precision of the Japanese controls seemed like a bad way to go.

The buttons themselves use small microswitches (the white things with the prongs attached to the bottom) to close an electric circuit when you press them. To use them to control the MAME software, you have to translate the opening and closing of the circuit into a keyboard button press. Building MAME cabinets is common enough that a company, Ultimarc, has sprung up specifically to provide circuit boards that translate arcade control signals into keyboard button presses. In particular, I used their IPAC VE board to connect all my controls via USB to the computer running MAME.

OLYMPUS DIGITAL CAMERA

The last big piece to consider was the computer that would fit inside the box and run MAME. I didn’t have a lot of space to work with, so I was restricted to looking for very small-form-factor boards. I ended up going with Intel’s DG45FC, a mini-ITX board about 8 inches to a side that had integrated video with HDMI out. To keep power consumption low and noise down (and to save money), I paired it with a low-end but still speedy 45nm Pentium 5200 dual-core chip. I got an ITX power supply to mount elsewhere in the box (more on that later).

With the parts decided, Doug and I headed back to the wood shop for another day of construction. The control panel is cut out of 3/4″ MDF, which is pretty thick, and I thought it made the joysticks sit too low. So, we started out by routing out half the thickness of the board around the joystick mounts. It was my first experience using a router, which seems to be the solution to pretty much every wood working problem. Not pictured is the trickiest routing task we faced that day: cutting a 1/16″ slot all around the edge of the control panel to install T-molding for a nice finish to the edge. Doug had to handle that one.

bryan routes

Next, we drilled holes in the bottom of the box to mount the motherboard. Here’s a test of the fit–the fan gives away how tiny the board is:

After cutting holes in the rear panel for the power supply and cords, we loosely assembled the box to prepare to glue it all together.

glue prep

We covered all the mating pieces with standard wood glue, squared them up and clamped them. One of the nice things about renting time in a big wood shop is access to an unlimited supply of clamps. We may have taken things too far.

We let the box set up while we got dinner, then picked it up and drove back to Oakland. We got in at 9pm, but we had too much momentum not to start working on the electronics of the control panel immediately. We sandwiched a print of The Great Wave between the MDF and the laser-cut acrylic. We tacked it in place with two buttons, then trimmed away the excess from around the edge and each button hole.

button install

Next, we bolted on the rest of the buttons and the joysticks and drilled holes to mount the keyboard encoder.

Fueled by mexican beer, we dove into stripping, crimping and soldering the signal wires for all the controls. Doug brought his Metcal soldering iron, which made the whole thing a breeze.

By the time we went to bed, all the wiring was complete.

wiring done

Over the next week as the last parts arrived, I painted the box, installed the hinge to hold the control panel on, and added the T-molding around the edge. Here’s a picture of the interior of the final, assembled box:

final interior

The one cable you see leaving on the left is the HDMI cord that carries audio and video to the TV. I rigged up an extra green button for the power switch of the computer. Here’s one more shot of the box, from the back. You can see the cutout for the power supply, which also provides hot air exhaust for the enclosure.

rear

the end of the crate

From the moment we got her, Sous was confined to her crate whenever we weren’t at home to watch her. All the new-age dog lit claims it’s not a prison but a safe space, a housebreaking aid, and a way to keep your puppy (and your stuff) safe from harm while they’re still young and learning what is and isn’t a chew toy. She slept every night in her crate.

sous in crate

When we moved to the new place in Oakland, we started leaving her free to roam the house when we were gone. An hour, then two hours, then three hours. Then, we set her free at night to sleep where she chose (anywhere, of course, except our bed). When I started work, we arranged to have her walked in the middle of the day. After a while, we started leaving her free in the mornings before the walk, but she’d still return to her crate to wait the 4-5 hours between the end of her walk until we got home.

Yesterday, we eliminated the crate all together. She’s free to roam the house whenever she’s home, and so far there hasn’t been a bit of destruction. As always when I compare her to my previous dogs, her behaviour is a revelation. In high school, dogs alone in my room for any extended period meant destroyed books, exploded chewed-up pens, and the occasional urine stain. In comparison, Sous was at home today with her treat bag full of food at nose level as well as most of a bag of toffee sitting on the coffee table–both left untouched.

I mostly attribute her good behavior to exhaustion–again, the hippie school of dog care traces most misbehavior to lack of exercise–and I’m relieved to find that what we pay in time and money on her exertion is indeed sufficient. Still, it’s another little miracle to me to have a dog I can trust free in our house all day. Thank you, Sous!

vacation!

I’m currently sitting in my parents’ condo in Tabernash, Colorado. We got here via train–crazy, right? Yesterday we were on the slopes in Winter Park, and today we’re busy researching the best way to construct snow sculptures. My life has been a haze of relaxed euphoria since I filed my dissertation. It turns out just working a full-time job is much easier than being a grad student–and they send me paychecks every now and then.

Anyway, Leslie just got done posting pictures of our holiday adventures so far. You can find them in the usual place:

winter park

teach your kids math. not too much, though…

Driving yesterday I heard a PSA about helping to bring math into everyday life for kids. I’ll paraphrase:

“Encourage your kids to make change when you buy things at the store. Teach them to hunt for the best deals on the shelf. Make math a part of every day life and you’ll ensure they grow up smart enough to make the right financial decisions for themselves. This message brought to you by the California State Lottery

Yes, you read that right! Teach your kids to add and multiply, but be sure not to teach them probability, because then they might realize what an insane, regressive, predatory tax the lottery is. This reminds me of the ad my dad once heard on spanish-language AM radio in Austin where one guy advises another to save the money he’s spending on night school to learn English and spend it on lottery tickets instead. At least the message there is consistent…

we moved

It’s been a busy month. On top of Jeff getting married, trying to find a job, and finishing my dissertation, we also moved to an awesome two bedroom house in Rockridge (North Oakland). As part of this transition we finally obtained the quintessential piece of IKEA furniture, the Poang chair. What’s more, we purchased this chair like-new at one third the retail price from craigslist, which makes this like the ultimate example of bay-area 20-something home furnishing. Too bad we don’t get to sit in it much:

sous in poang chair

braid

 When I broke down and got a fancy new TV, I decided to get the Xbox 360 instead of the PS3 because of the sizeable selection of games you can download for a fee directly from the couch. This includes old arcade classics as well as new stuff. A couple of days ago, a game called “Braid” was released, which is a sort of puzzle game done up like a painting. It started blowing my mind about 5 minutes after I started playing it, and hasn’t quit. Since. Here’s what it looks like:

braid screenshot

The music fits in perfectly with the look of the game. Here’s a little YouTube action so you can get the full aesthetic:

[youtube]http://www.youtube.com/watch?v=br3Oo1g9nZQ[/youtube]

I usually get frustrated in puzzle games pretty quickly, when the difficulty ramp is too steep, or bored, if it’s too easy. Braid is perfect, right in the middle. I’ve solved 3/5 of the worlds, and haven’t been once tempted to reach for a walkthrough. What’s more, Braid doesn’t have any complicated rules–you learn everything by observation, and so the overall experience is very satisfying. It was $15 and has already paid for itself.