February 20, 2006

MAME'd Millipede: Project Index

Category: MAME'd Millipede

Background

  • Introduction
    The background story on my first MAME box and being a child of the 80's.
  • MAME vs. Real
    Why a MAME box? A comparison between MAME and the real thing. A tad philosphical... :)
  • Skills Needed
    The various skills you'll need to build a MAME box.

Control Panel

  • Design
    The process of coming up with a CP design and mocking up the template.
  • Mounting
    Attaching the CP to the classic cabinet without harm.
  • Layout
    Determining the button layout and preparing the surface.
  • Surfacing
    Applying the laminate to the CP surface.
  • Wiring
    Zillions of feet of wires and connectors.
  • Final Touches
    T-molding and other details for the completed CP.

Electronics

  • The Computer
    Technical details behind the system driving the MAME'd Millipede.
  • Video - 15 kHz
    Driving the arcade monitor at 15 kHz from a modern PC.
  • Interfacing
    Devices used to interface the controls and their configuration.
  • Integration
    Bringing it all together into a working system.

Software

  • Linux OS
    Focusing on the use of Linux in the MAME'd Millipede.
  • AdvanceMAME
    The engine that drives the machine with various configuration details.
  • AdvanceMenu
    The interface to AdvanceMAME that binds it all together.
  • Video Config
    Details on the configuration of SVGALib and the software side of 15 kHz.
  • Daphne
    The emulation software for driving laser disc games - Dragon's Lair in this case.

Parts & Sources

  • Controls
    Controls used on the project and the vendors that provide them.
  • Video
    Wells-Garnder and the K7200.
  • Interfacing
    Interface devices and the vendors that provide them.
  • Cabinet Parts
    Miscellaneous parts including laminate and T-molding.

November 5, 2003

Scientific American & Discovery Channel

Category: MAME'd Millipede

I was quite startled to receive an e-mail a few weeks ago from a producer of Daily Planet, a tech show on Discovery Channel Canada. She had read the article in Scientific American and wanted to do a piece on my system for their show. (If you read that article, by the way, be sure to look closely at their fantastic mad scientist depiction of my cabinet.)

The camera crew arrived today and did an all day shoot both here at the house and in my office on the campus. I guess I'll not get to see it air here in the US, but I'll be glad to post the air dates for Canadian readers once they let me know. I'm hoping they put a streaming version on their website so anyone interested can catch it here in the states.

The shoot was a lot of fun and I've placed some still pictures I took during the setup today. Click on the thumbnails for larger, captioned versions.

Oh, and the final tally on the big Slashdot surge on October was 1.2 million raw hits in twelve hours. I did 48,000 hits for the entire previous month if that gives you a frame of reference. I feel honored to have been Slashdotted. :)

October 20, 2003

Slashdot Effect!

Category: MAME'd Millipede

Slashdot effect!

My apologies for the very slow load times and possible broken images... I've taken over 200,000 raw hits in two hours. Our outgoing T1s are maxed out, so it's going to be kinda pokey for a bit. Mirrors are starting to appear.

On another note, I'm back now from my wedding, honeymoon and nearly three incredible weeks in France. So you can substitute all those fiance' references in the site with... wife. ;)

I'll be posting updates soon including new shots of the Wico leaf stick I popped in place of the center stick. The authentic feel has just gone up another notch...

August 29, 2003

Hardware, Additions & Scientific American

Category: MAME'd Millipede

It seems the first real chance I've had to focus on a few site updates is during a power outage. The house is dark with the exception of candles and my TiBook... so this is a perfect time to do a few updates without all of the competing distractions of the last few months. We've had chronic thunderstorms all summer and some real whoppers these last two days... so keeping my digital, electron-driven life running smoothly has been a real challenge.

Hardware Issues...

A little over a month ago I encountered some really bizarre things with the motherboard of the system that has been driving my MAME box. All of the sudden, certain games that used especially low refresh rates would lock up the hardware. A handful of titles could be used in my testing to lock it up on demand. In the months prior to this development the same titles were perfectly stable and absolutely nothing was causing a crash or a lockup of any kind.

I tore my configuration to pieces looking for some minor software change I had possibly made and finally, after laboriously testing the heck out of everything, decided it had to be hardware. I had another identical system on hand and did a swapout. Problem solved. I even switched back and forth between the motherboards, swapped RAM, processors to try to zero in on a specific piece. Something in the motherboard of the original machine changed in a subtle way that introduced this problem while not changing the behavior of any other part of the system. If anybody has any insight on what to cause such a localized malfunction, I'd love to hear it.

Additions to the System & Site...

I also took some time to remove the primary guts of the computer from its case and mount them inside the Millipede cabinet. I've added the pictures and general description of the process to the Computer page.

Miscellaneous News...

W. Wayt Gibbs, Senior Writer for Scientific American magazine, contacted me in late June to see if I would be willing to do an interview about the process of building my MAME box for use in an upcoming column. He flew down on July 2nd and we had a fun few hours talking, disecting the machine and playing some great games. He did a side-by-side comparison with my real Pac-Mac machine to sample the authenticity and achieved a very respectable (and nearly identical score) on each machine. The article will be out in the October issue which, I believe, hits the newstands around the first week of September.

June 5, 2003

Introduction

Category: MAME'd Millipede

A few years ago I had this sudden desire to start collecting the arcade games I remember from my childhood in the 80's. I'm not completely certain why this notion suddenly took hold of me seemingly out of the blue. Maybe it was the nearly mint Pac-Man machine I kept walking by at the Bistro at Sweet Briar College where I work. It wasn't getting a lot of play there in the late nineties where it had lived a fairly sheltered existance for nearly 20 years.

Continue reading "Introduction" »

MAME vs. Real

Category: MAME'd Millipede

Back when I was collecting classic arcades I spent quite a bit of time playing with MAME. For the arcade collector MAME makes a superb reference tool. It can help check the behavior of a game you might be repairing. In more than one case it became the source for ROMS to use on my EPROM burner while repairing various games (BurgerTime springs to mind). It was also a great way to preview a game you were unsure about when the opportunity presented itself to purchase said mystery game.

Continue reading "MAME vs. Real" »

Skills Needed

Category: MAME'd Millipede

Building a MAME cabinet can cover a pretty wide array of necessary skills. Granted, the more pre-made components you have available the easier it can be.

Continue reading "Skills Needed" »

Design

Category: MAME'd Millipede

The control panel is fashioned almost entirely out of 1/2" plywood. It is basically a shaped box that attaches to the machine in a modular fashion. As stated before, I had no intention of modifying the Millipede cabinet itself, so fitting the new CP to the existing cabinet was the goal. This presented the challenge of determining how to make it fit, not look utterly stupid (that's for you to decide, but I'm happy with it), and attach in a sturdy enough manner that it doesn't bounce up and down when you are hammering your brains out on the fire button.

We started the design of the control panel by (obviously) removing the original one from the machine. We then notched a sheet of foamcore so that it fit around the side panels and rested where we wanted the new control panel to sit.


The attached foamcore prior to being used to sketch a template.
(click to enlarge)

Continue reading "Design" »

Mounting

Category: MAME'd Millipede

As I've stated many times in previous pages, the primary goal was to mate the new control panel to the cabinet in a manner that did not alter the Millipede cabinet itself. The original metal control panel fastened to the body using three large 1/4" diameter bolts along the bottom edge below the hinge. The top, like many arcade control panels, was locked in place by two latches mounted on the inside wall of the cabinet in the control panel opening. You opened the system by reaching in through the coin door and unlatching the control panel. It then hinged open to reveal the backside of the controls.

Continue reading "Mounting" »

Layout

Category: MAME'd Millipede

The joystick and trackball layout was determined back at the beginning of the process and played a role in deciding the overall shape of the control panel design. At this point the primary task was determining how many buttons and where to place them.

My overall design is based around three sticks, two of which are player one and therefore functionally identical. The reasoning here was that most games I will play are single player (or alternating multi-player) and should therefore be centered on the monitor much like any classic arcade game. For two player simultaneous games, though, you need to stand side by side necessitating more room. This is the purpose of the two outer sticks with player one on the left and player two on the right.

Continue reading "Layout" »

Final Touches

Category: MAME'd Millipede

By this point the control panel was designed, surfaced on the top, wired and sitting in place on the cabinet. There were still a few key things, though, that needed attention.


The functional control panel in place but with a few remaining details to be addressed.
(click to enlarge)

The previous section on surfacing discussed the facing pieces of the control panel for the sake of covering the entire topic of formica installation. The actual timeline, though, was such that the face pieces were not surfaced with formica until after the wiring had been done. I had the system functional for about a week before this could be addressed.

Continue reading "Final Touches" »

The Computer

Category: MAME'd Millipede

The computer I ended up using for this project was a several year old Dell OptiPlex I have had around for projects.

Here are the basic specifications:

Processor: 500 Mhz Pentium III
Memory: 256 MB
Storage: Western Digital WD400 - 40 GB
Graphics: ATI Technologies 3D Rage Pro AGP (rev 92)
Audio: Creative Sound Blaster 32 PnP
Network: 3Com 3c905B 100 Mbit Ethernet

Continue reading "The Computer" »

Video - 15 kHz

Category: MAME'd Millipede

This particular issue is basically the heart of the project for me. As I mentioned in Mame vs. Real, I had not really been interested in building a system like this in the past because the output to a PC monitor never looked anywhere near authentic. Arcade monitors in the 80's and much of the 90's ran at much lower resolutions and generally around 15.75 kHz. By comparison, modern PC's begin at 31.5 kHz and resolutions of 1280x1024 and higher are not uncommon. Because of these changes in the technology many cards do not generate scan rates and resolutions this low without some coaxing (or even at all in many cases).

Continue reading "Video - 15 kHz" »

Interfacing

Category: MAME'd Millipede

Beyond the issue of getting authentic video on a real arcade monitor comes the process of playing your games on real arcade controls. The bulk of the work on this aspect was, of course, the building and wiring of the control panel itself (detailed in previous sections). Once you have all of the controls mounted and wired, though, you need to attach them to something that will interface them with the computer running MAME.

Continue reading "Interfacing" »

Integration

Category: MAME'd Millipede

I've reserved this page for covering anything involving the integration of the emulation system with electronics of the original Millipede system.

At this point there are only a few items to mention. The cabinet is, for the most part, just a shell for holding the emulation system. The control panel is attached to the front but is wired entirely to the interface boards and the computer. The monitor is in the cabinet, of course, but is taking its signal entirely from the computer.

Continue reading "Integration" »

Linux OS

Category: MAME'd Millipede

My system is based on the Linux OS, an open-source UNIX-like operating system that is freely available.

Linux is pretty fantastic to put it lightly. It's tremendously powerful, quite efficient and runs on more hardware than you can imagine. It's also the operating system I use more than any other in my work as a network administrator and programmer for Sweet Briar College. I have a tremendous dedication to this OS, so it's a matter of both practicality and pride for me to use it in this project.

Continue reading "Linux OS" »

AdvanceMAME

Category: MAME'd Millipede

AdvanceMAME is the key to functionality of my system. It is a MAME-based project meaning it uses the core MAME source, adds a few patches and hooks on its various extensions. The primary focus is to gain low-level control over the video hardware in your system in an attempt to produce authentic classic arcade resolutions. These mostly exist in the neighborhood of a 15.75 kHz horizontal scan rate. By comparison, most PCs run at much higher resolutions and start around 31.5 kHz which is double the rate needed to drive an arcade monitor.

The AdvanceMAME project is open-source and entirely maintained by volunteers. It is constantly changing as new features are added, bugs are stomped and sometimes new bugs are introduced. I started with the 0.67 version, moved to 0.68 during the course of the project and have not yet moved to 0.69 (which also arrived during the few weeks I've been working on this system).

Continue reading "AdvanceMAME" »

AdvanceMENU

Category: MAME'd Millipede

AdvanceMenu provides the interface for the player to choose games, see previews and a host of other functions. It is designed as a companion to AdvanceMAME and is incredibly flexible.

Continue reading "AdvanceMENU" »

Video Config

Category: MAME'd Millipede

I have discussed video issues in previous Electronics and Software sections of this website. For the sake of completeness, though, I thought it made sense to cover the overall procedure in one place under its own heading.

Continue reading "Video Config" »

Daphne

Category: MAME'd Millipede

I stumbled upon Daphne after I had already gotten my MAME system functional. One thing I never accomplished when I was collecting classic machines was to obtain a Dragon's Lair. I came fairly close in a number of circumstances including a near perfect marquee and control panel... but never a complete system.

Continue reading "Daphne" »

Controls

Category: MAME'd Millipede

I used the following controls and control accessories on this project:

Continue reading "Controls" »

Video

Category: MAME'd Millipede

I made my own VGA to arcade monitor cable, so the only part I had to obtain for the video portion of the project was a new monitor:

Continue reading "Video" »

Interfacing

Category: MAME'd Millipede

My interfacing needs were met by two very well designed products:

Continue reading "Interfacing" »

Cabinet Parts

Category: MAME'd Millipede

Much of the cabinet stuff is fairly straightforward and not worth detailing (plywood, wire, screws, bolts, etc). The parts, though, might be of some interest to some:

Continue reading "Cabinet Parts" »