Main

ARCADE CONTROLLER EXTREME

QUICK START GUIDE

I've been accused before of including TOO MUCH content on my pages and this page is worse than most of mine.  If you came here from one of the other cabinet example sites or just want to know if this is a page that interests you, or you are familiar with arcade cabinets, the easiest place to start is with the overview and usage section.  If this sounds interesting, you might want to download the plans and wiring and then come back to the rest of the site.

PURPOSE

This site details my attempt to create a low-cost (relatively) controller for use with over 90% of all MAME (or other) arcade games.

I don't by any means intend to imply that this is the only way, or necessarily even the best way to do this.  However, I have been researching this for over two years and have taken a lot of ideas from other people's sites and incorporated what I consider the best solutions.

Unfortunately, many of the proposed items are in the planning stages or not available yet, however, I have provided workarounds in the FAQ section.  Basically, with the exception of the Discs-of-Tron spinner, I felt that the concept was far enough along, that anyone that really wanted to could build this now, so I wanted to make the information available now.

The ideas work for me and I am satisfied with the results.   Feel free to use any of my ideas for your own controller; or feel free to modify anything that you don't like.  Please send any constructive suggestions to me.

This page can be used in many ways:  If you just want to build a low-cost controller, then I include step-by-step instructions for my project (down to the level of drill-bit sizes).  If you want to learn how to plan your own controller, I cover that as well.   If you already know what kind of controller you want, you might at least check the FAQ'S, as I cover a lot of items there that aren't very widely known.

BTW, prices shown are in U.S. dollars and should be accurate for the Southeastern U.S. as of Fall 2002, Your Mileage May Vary, YMMV.  All documents were created in Word '97 and believed to be accurate in Word 2000.  If you need a Word Viewer/Printer, one is available here (4M).  This site was designed at 1024x768 resolution and might not look right otherwise.

STATUS

I decided to add a paragraph here on status of the project.   People considering this with families might do well to heed this paragraph.

As best I can tell, I first started designing this concept at the start of May 2000.  It is now start of October 2002.  I have built a very crude serial mouse hack for the arcade steering wheel, and nothing else.  The plans have gone through several complete revamps, the most recent being completed a couple months ago.  It is much easier to redesign things when no money has been committed yet, so in the end, this was a good thing.  Basically, the design is now static, except for the following four issues:

DISCS-OF-TRON SPINNER - As mentioned above, this is not fleshed out yet.  This is one of the later projects for me, so I will worry more about it as the time comes.

ROTARY JOYSTICKS - I am planning to go with a design formulated by Joey Holman from BYOAC.  Joey had the design worked out but we couldn't get it to work with the current MAME software coding.  Mc-Escher later came up with a software patch that allowed the original design to work, but by then the original sticks had already been cannibalized.  He is rebuilding the sticks (and improving them) but they aren't completed yet.  I can go with any of the other rotary joystick options if I have to, though.

YOKE - I originally planned to just hack an original Star Wars yoke.  Then I figured out a way to modify the Twisty-Grip design to make it look more like a Star Wars yoke.  I will probably end up building the Twisty design, but it really comes down to whether any good deals on yokes turn up on E-bay between now and the project start.  I will post both sets of plans in either case, though.

TRACKBALL INTERFACE - I was planning to hack USB mice to connect the trackballs to the PC, but Andy Warne just announced a USB optipac, which will cost me about $10 more, but will eliminate soldering.  I am waiting to see how the test results come out to decide which way I want to go.  I also am considering another option, but can't discuss it yet, as it might never materialize.

OBJECTIVES

I started with the following objectives:

I wanted a minimum number of controls that would allow me to play 90-95% of MAME games as faithfully as possible to the original arcade controls.

I needed a design which would take up a minimum of desktop space.  I don't have an arcade cabinet and the MAME machine has to also be used to write letters and track my limited finances.

I wanted a design which would be under $750 total.  I also wanted something which I could build in stages, so I can play some games with the initial controller, and add additional functionality as my wallet allows (see the limited finances statement above).

I needed a design which was simple to build as I am challenged both in access to quality tools and skill in using the ones that I do have access to.  Also, I don't solder, so the amount of soldering involved had to be kept to a bare minimum.  (Only the hacks for the trackballs-mouse and the yoke to Sidewinder Dual Strike require soldering.  If you used an Opti-Pac instead, you wouldn't have to solder at all).

Here's the tricky part:  I wanted a design that would allow me to still use the keyboard to play games when I don't feel like dragging the controller out (yes, yes, I know I'm lazy!!!) This seems simple, but consider the following example:

For 1942, I use the following controls (Joystick button 1 is used for fire and is mapped to L Ctrl):

tn_1942.png (20227 bytes)

For Asteroids, I use the following controls (Joystick button 1 is used for Rotate Right and is mapped to the right arrow key.)

tn_asteroid.png (23393 bytes)

With a normal controller, in Asteroids in MAME, I could assign L Ctrl to Rotate Right and Space to Rotate Left, but I would never know how to play the game again on the keyboard.  (See above, I'm lazy, remember).  Here's where the programmable keyboard encoder comes in.  I have a default.cfg file which programs the encoder for my most common key assignments.  For Asteroids, I run a batch file that loads an alternate key assignment to the encoder, starts MAME, and then loads the default key assignment back on exit.  Using this method, I am able to use any button on the control panel, without changing the default key mapping in MAME.

THE CONCEPT

Basically, the idea is to have a modular solution to allow maximum flexibility and minimum desk space.  For example, for single joystick games, a panel with one joystick and six buttons is plugged into the computer.  For two joystick games, a second joystick panel is plugged in.  For spinner and joystick games, a spinner is plugged into the USB port along with the joystick panel.

This section provides a basic overview of the components involved.  Refer to Overview and Usage for a description how the panels are used in actual games and to Download files-Hints for what panels to use with a specific game.

The components can be built in any order, and all components do not have to be built before you can use the panels.  For example, Star Wars is designed to use a flight yoke, but you can play the game very enjoyably using a trigger fire joystick, or even the Primary joystick panel and arcade buttons.

Components

I have divided the components into Encoder Based, USB Based, and Optional.  There are five panels that plug into the Keyboard Encoder and seven panels that are USB and basically plug-and-play and five optional panels.  A description of each panel follows:

KEYBOARD ENCODER BASED COMPONENTS

The following components rely on the keyboard encoder controller for use.

switchbox.jpg (35648 bytes)Encoder Enclosure - The Keyboard Encoder itself is mounted in a Radio Shack project box and four DB25 plugs are used to connect the panels to the encoder.  The design is similar to the auto-switch shown at left, except that the box will be black, there are two more DB25 ports and there aren't any ports on the side.  This should give you the idea, though.

primarymockup.png (12689 bytes)Primary Panel - (line art is rough idea of final concept).  The Primary Panel incorporates a Happ Competition Joystick, OSCAR restrictor plates, and six Happs Arcade play buttons.  There is a button in the front of the panel for pausing gameplay and buttons above the play area for coin input and one and two player start.  LED's are mounted above the one player and two player start buttons.

 

secondarymockup.png (2410 bytes)Secondary Panel - The Secondary Panel incorporates a Happ Competition Joystick and six Happs Arcade play buttons.  There is a button in the front of the panel for pausing gameplay and buttons above the play area for coin input and two player start.  (A one player start button is not included as this panel will never be used independently of the Primary Panel).

 

sfmockup.png (3436 bytes)Street Fighter (SF) Panel - The Street Fighter Panel incorporates two Joey Holman-designed rotary joysticks and twelve Happs Arcade play pushbuttons.  There is a button in the front of the panel for pausing gameplay and buttons above the play area for coin input and one and two player start.  The rotary joysticks use the same encoder inputs as buttons 4 and 6 of this panel.  A pair of DPDT (Dual-Pole, Dual Throw) rocker switches on the back of the panel enable or disable the rotary joysticks so you can play six-button games.  Two flipper buttons are included on each side for use with pinball games.  (As an option, a second SF panel could be used with the  I-PAC/4 or MK64 encoder for four player Street Fighter or Six Player 2-button games.)

assaultmockup.png (2530 bytes)Assault Panel - The Assault Panel incorporates two Joey Holman-designed Trigger-Fire joysticks and two Happs Arcade play pushbuttons.   There is a button in the front of the panel for pausing gameplay and buttons above the play area for coin input and one and two player start along with LED's.  This Panel is used for Assault and Battlezone style games, along with trigger-fire games such as Tron and Zaxxon.

 

sargemockup.png (2527 bytes)Sarge Panel - The Sarge Panel is a 2nd-player version of the Assault panel.  It is used for games that require dual 2-way controls, such as Sarge and Vindicators.

 

USB BASED COMPONENTS

The following components plug into the USB port or gameport and do not require the Keyboard Encoder:

oscar_box2.jpg (40989 bytes)Spinner - The spinner consists of an OSCAR spinner in a Radio Shack project box with three Happ pushbuttons.  The buttons are mapped to Mouse buttons 1, 2, and 3.  The design is a hybrid of cheep technologies cheep spinner concept with OSCAR's spinner mechanics.  The buttons are mapped to the mouse buttons. The design is similar to this picture, but with three buttons instead of the two shown:

oscar_box2.jpg (40989 bytes)Discs Of Tron DOT Spinner - The Discs Of Tron Spinner is not available yet.  When it is, it will be similar to the standard spinner above, except with no pushbuttons and with the spinner centered in the box.  The up and down switches will be mapped to mouse buttons 1 and 2.

 

hacklg.jpg (7048 bytes)Hackball -  The hackball is based on the design shown at Cheep Technologies and pictured here.  It consists of a WICO 2-1/4-inch trackball mounted in a Radio Shack project box.  Two trackballs are required for many MAME games such as two player Marble Madness, etc. and I plan to build two of the units.

 

indyheatwheel.jpg (44585 bytes)Steering Wheel - The steering wheel came from an Indy Heat steering wheel, similar to the one pictured.  I managed to modify the wheel so it would sit on my desk in the original housing.  The current version just uses a serial mouse positioned to "read" the original arcade encoder wheel, but I plan to convert it to USB for the final version, using either the USB opti-pac, or a mouse hack.

pedals.jpg (7046 bytes)Pedals - The pedals came with an InterAct V3 racing wheel set.  I think Mad Katz makes a wheel with similar, if not identical pedas.  I will convert the pedals to connect directly to the gameport and modify the wiring for either single or dual-axis operation, using the circuit shown here.  I may eventually convert a second pedal set so one of the additional pedals may be used as a clutch, for games that require it, or for two-player driving games.

 

arcadeyokemockup.png (2948 bytes)twistyyokemockup.png (2206 bytes)Yoke Panel - The Yoke panel will use 1-Up's dual strike hack with either the original Star Wars Yoke (left), or a modification of the TwistyGrip design (right).  I provide plans for either version.  The only differences are cost (Twisty Grip is less), ease of assembly (arcade is easier), color and shape of handles and switches, solidarity (arcade is sturdier), and availability of parts (arcade yokes are getting rare).

OPTIONAL COMPONENTS

I also include plans for some panels that basically were earlier designs that I abandoned for one reason or another.

tronpanelmockup.png (2567 bytes)Tron Panel (Optional) - The original concept was this panel would be used singly for games like Tron and Zaxxon, and in place of the Secondary panel for games like BattleZone.  The idea was scrapped when I had to find a way to support games that require two trigger-sticks, like Vindicators.

 

mkpanelmockup.png (3850 bytes)Mortal Kombat (MK) Panel (Optional) - I don't plan to build this panel.  I will add plans for it.  If Mortal Kombat is important to you and SF isn't, you could optionally build the SF panel in a Mortal Kombat button layout.  If you want to play both SF and Mortal Kombat, a panel with the same dimensions as the SF Panel, two Happ Competition joysticks, and a Mortal Kombat button layout could be added for approximately $50.

vindicatorsmockup.png (3484 bytes)Vindicators Panel (Optional) - The Vindicators Panel is basically both the Assault and Sarge panels on one panel.  I split it into two panels to save desk space.  It could be useful if you have more desk space and want fewer panels, or it would be a better size for an alternate panel on a full-size arcade cabinet.

ikaripanelmockup.png (2889 bytes)Ikari Panel (Optional) - I originally designed a smaller SF panel with only three buttons per player.  Basically, I would not build this panel unless desk space was at a premium, you don't ever plan to play any of the Street Fighter style games, and you really like the Ikari style games (or if you want your rotary joysticks on a dedicated panel so they don't get abused playing .

battlezonemockup.png (2589 bytes)BattleZone Panel (Optional) - This was originally going to be used in place of the Secondary Panel.   The button layout was designed so that you could use the buttons to play BattleZone, similar to the way the keyboard is used in MAME.  I decided that this wouldn't be used that much and there would be too many arguments about how the different button layout gave one player the advantage.

 

OVERVIEW AND USAGE

This section is designed to give you a feel for how the panels are used in the actual arcade games.

To see the original game layouts and how these panels work in a variety of games, see this page.

For a text and picture discription of how all the panels are used together, including the keyboard encoder assignments produced by the buttons, see this page.   A Word Version of this page is available here if you want to view the page in Word or print it out.

PLANNING

Planning a project such as this is often overlooked in the rush to get the thing built and start playing games.  This is done at your own risk, however.  I have probably saved over $300 in total cost of this project by changing ideas as the project matured.  In this section, I will cover some things to watch for during planning (with examples from my experience), and then give some tips on how to plan your own controller.  Click here for planning tips. 

TOOLS

I think it's a guy think to like to collect tools that will hardly ever be used.  I bought a socket set when I was in 10th grade.  Even though I do a fair amount of my own automotive work, some of those sockets have still not been used ever in the twenty years that I've owned them.  Someday I'll find something that needs a 7mm socket, though :-).

If collecting tools is your thing, you will probably find something to enhance your collection in this section.  OTOH, if you don't own ANY tools and don't enjoy using them, you might want to consider a pre-built controller or having someone else build this for you.  Another option, if you have friends that want to build a similar project is to split the tool purchases up among each other.   (One person buys a router and multi-meter and someone else buys the bench saw and everyone gets to use each other's items.)

NOTE:  I do not recommend tool rental as generally the rental price is about 1/3 of the cost of buying the tool outright, and I would rather spend the extra money one time and have the tool if I ever need it again.  OTOH, tools rarely break (my jig saw is approaching thirty years old and still going strong), so if you find one of the recommended tools for a good price at a yard sale or flea market, it's probably worth picking up.

I would estimate the tool cost for this project at $50-$100 dollars if you already have most of the common tools (screwdrivers, power drills, etc) and well over $200 if you are starting from scratch.  Click here for tool recommendations.

PARTS

Believe it or not, this was the hardest part of the site to write!  Here are the two primary reasons:

First, I originally intended to set this up so that each panel was pro-rated costed and you could see exactly what each individual panel would cost.  This ended up being a nightmare and was quickly scrapped.  Here's why (using averaged numbers).  Panel One requires 25 quick disconnects out of the 150 disconnects total; however, it is cheaper to buy dicconnects in packs of 100.  Does Panel One account for 25/150 (17% of the total disconnect price), or 25/200, (12.5% of the total disconnect price).  How do I pro-rate the shipping, per item, per vendor total, etc.?

Second, the design is constantly evolving.  I have the basic concept pretty well down, and I don't expect any more major re-works, but it's hard to forecast how many wood screws will be required for a design which is just barely laid out on paper.

What I have done is make up charts showing the parts required and the approximate cost.  I also have this broken out into two charts.   The Vendor Chart basically groups items by type of component and vendor.  The Individual Purchases Chart breaks the items out in the order that they will likely be purchased.  Before we get to the charts, here are some things to consider:

Cost - The total cost of this project is almost $900 and over $1000 with shipping costs figured in.  Before that figure totally scares you away, keep in mind that the project can be built in stages and my second chart highlights this approach.

Computer - I don't include the cost of the computer for this project.  I do include some suggested computer requirements on the FAQ page.  Actually, I was shopping for upgrades today and you could put together a killer MAME system for $550 complete today and prices will only get cheaper:  Here's some examples as of October 2002 (And in six months, you'll be saying "it cost THAT MUCH!!!")  (Most prices are from Newegg, but you can also find deals on PriceWatch.com

Motherboard - $63, Biostar M7VIP, VIA KT333
Processor - $52, AMD XP 1600, 1.4 Ghz,  (you could get by with a Duron for $10 less, but why)
CPU Fan - $15 Thermaltake Volcano 7 (there are many cheaper fans, but this one is supposed to be quiet)
Memory - $38 Kingston 128M DDR, PC2100, CAS 2.5 (There are about 6 brands all the same price, More memory would be better, but I am trying to keep this reasonable.  You can always add down the line.)
Video Card - $38 Sapphire ATI 7000, 64M DDR, with TV out, so you could play MAME on the big screen if you wanted to.
Harddrive - $64 Western Digital 20Gb 7200 RPM, Plenty of storage for MAME ROMS and MAME and OS.
Speakers - $2 EP-691, basic but all you need for an arcade game system
Keyboard - $3.50 Keyboard-2000 107-key
Mouse - $1 Keyboard 2000 PS/2 style
CD-ROM drive - $19 Cyberdrive 56x
Monitor - $200 CRT, 19-inch recommend going with a 19-inch and buying locally to save shipping.
Case - $40, recommend buying locally to save shipping.

Not included - Floppy drive $8 (not required), Modem $10 (not required), Sound Card $34 SBLive (try the on-board sound first), OS $90 (98 SE, ME, or XP Home)

Shipping - I almost didn't include shipping costs, but they are a large part of the total cost.  Also, many sites have fixed shipping costs based on price, so I could safely include them without having to acount for variances based on distance.  In some cases, I have just estimated shipping costs.  Here are two things to consider as far as shipping cost:

In many cases, it is better to buy from as few vendors as possible.  Consider the electronics portion of the project.  In some cases, it may be $1 or $2 cheaper to buy from Vendor A than Vendor B on a particular item, even though Vendor B is cheaper on everything else.  But if Vendor A charges $5 mininum shipping and it wouldn't add any shipping to get the item from Vendor B, you are money ahead paying the additional and ordering everything from Vendor B.  In the charts, I generally specify which vendor I plan to go with and include alternates in case the given vendor is inconvenient for you.

In many cases, it is better to make one large order than several smaller ones.  Consider the DB25 cables.  They are $2 each, but the shipping cost is approximately $12 for six cable.  Obviously, it is cheaper to order an extra cable with the initial order rather than ordering one later separately.

Pricing - Prices should be accurate as of August 2002.  Sometimes these items are on sale (and some are on perpetual sale, basically), but I have not accounted for that. Also, prices my not agree between the Vendor Chart and the Individual Purchases Chart.  The Vendor Chart should be more accurate.

Mice - The mice that I mention are the ones that Cheep Technology used for the Cheep Spinner and Hackball.  I was going to use them for the trackballs and steering wheels, but I very likely have another solution which won't require soldering.  However, I can't discuss this other option, as it is not available yet and may never be produced.  The anticipated price is somewhere in the neighborhood of the Opti-Pac ($40).

Cables - If you decide to go with an opti-pac controller, I recommend buying at least four M-F DB9 extension cables, and more if you have more optical devices.  This way one cable can go to each port of the Opti-Pac and your optical devices can be easily connected and removed.  I will cover this in a alternative section of the Trackball wiring section.

LED's - +5V LED's are the easiest to work with and are what I use for my panels.  However, Radio Shack has discontinued them and my local store had to order them in for me from 150 miles away.  Digi-Key carries them, but it's silly to pay $8 shipping for a $2 order.  There is another solution, though.  You can use a 2.1V (standard) LED with a 220-Ohm resistor mounted in series.   The easiest solution is to solder the resistor to the LED, but if this is a problem I will provide another solution when I discuss wiring up the LED's.  The second solution requres one more terminal per LED on the terminal blocks, which brings me to . . .

Terminal Blocks - I have listed the number of terminals required for each panel; however, it is difficult to list an exact amount of terminal blocks required.  Some vendors charge the same amount for 12-pin as 9-pin blocks, so it makes sense to order the 12-pin ones.  Unused blocks don't hurt anything, and it doesn't hurt to have a few spare blocks either.  The style of blocks I picked out are very reasonable, but I picked them out for space savings when I was mounting the keyboard encoder in the first panel and a DB25 cable connection also.  With the current setup, the terminal blocks that Radio Shack carries in store would be adequate, though they are larger and more expensive.

Rotary Joysticks - The rotary joysticks I am using are custom built by Joey Holman, but are not available for purchase at this time.   However, I include provisions for rotary joysticks using either SNK rotaries (original IKARI sticks), Happ Opto Rotaries, or Happ Mechanical Rotaries.  The cost ranges from $70 for two SNK's and Druin's interface, to $130 for the Happ Mechanicals and Druin's interface, with the Opto-Rotaries and interface priced somewhere in between the two.

Trigger-Fire Joysticks - Again, I use a custom built stick by Joey Holman, which is not available for purchase at this time.   The stick is based on the Gravis Destroyer Joystick and the Happ Super Joystick.   I include these items in the parts list, but not the shafts and centering stops which would be required, but these should be minimal cost items.

DOT Spinner - This is not available yet, although 1-Up has a hack to build one on his page.  I have estimated the cost of this at $100, which should be more than adequate.

Yoke - There are two option to go here, hacking an original yoke, or building a modified Twisty-Grip yoke.  I estimated the original yoke at $75, which is a good, but reasonable price for one on E-bay.  The Modified Twisty Grip will cost in the neighborhood of $50 but I don't include the actual parts required, b/c they come straight out of the plans which are available for purchase from Twisty-Grip.  In any case, I haven't included the cost of the enclosure because it is still too preliminary.  Enclosure cost should be under $20 in any case.

Steering Wheel Enclosure - I don't include the cost of this, because it is not really required and because I haven't estimated it out exactly.  Total cost should be under $20 in any case, just like the yoke.

CONSTRUCTION
    General
    Primary Panel
    Secondary Panel
    Tron Panel
    Ikari Panel
    Yoke Panel
    Spinner
    DOT Spinner
    Hackball
    Steering Wheel
    Pedals

WIRING
    Button Assignments
    Encoder Configuration
    General

SOFTWARE
    MAME Related
    Encoder Programming
    Front-Ends
    Batch Files