I'd discussed building arcade machines with a few people recently
and as well as instiling the bug into them I also got to thinking
how I could improve my machine. The kids still use the existing machine
but it's starting to show some damage and it could do with some new
ideas. I quite like the dimensions of the existing machine but thought
I could make it stronger and flashier etc if I started again and added :
- stronged construction to cope with my kids friends
- use car paint and curved corners for long term finish
- an acrylic top to give it a professional look and make
it beer proof (for my mates)
- Light up the buttons for a real arcade effect
- Install a huge slow turning fan in the front front for the look
- Have an on/off switch and volume knob on the front
- Have games autostart when turn on and make it start up quicker
- Add a jukebox and fill the machine with 80s hits
- Make the control buttons easier to use
- Add more games - of course. I recently found a game called
Bomb Jack that my next door neighbour at college used to play all time,
at least until he got put away for murder! It turned out to
be quite a good game.
- If I put the ROM and SNAP dir on a USB stick then I should be
able to just pull it out and add more games without having to go to the
Not one but two arcade machines
I'm building two machines this time, both similar to my
old machine. I'm going to split the work
with a friend of mine - I'll do all the computer stuff and wiring
and he'll do the wood work and painting etc. The two machines will look very
similar but my one will have all the additions above.
A confused PC
My old PC started life as a windows 98 machine, I tried to install XP on it
but it ran like a dog so after putting up with this for a week or two I
converted the machine to a Linux box. It worked quite well and the interface
wasn't bad but I do all my dev work on external servers so I had little need
for a Linux machine at home. Eventually the machine got forgotten until I
decided to turn it into an arcade machine - I loaded up XP first of all
and then remembered why I went to Linux - so I've now changed it back to
The front end on Diccons machine will be powermame as it's easier to set up.
While I'm going to need something different to run the jukebox and lighting
on my version. I tried using Mala and it seemed to have all the neccessary
features but I found it difficult to set up and then had problems installing
on a windows 98 system. I'm now looking at using AtomicFE which seems to work
well but I still have a few issues:
I have found that when playing and learning using any of these front
ends that it's very easy to upset everything by putting the wrong items
into the wrong fields during the set up. What normally happens is you get
everything nearlly right and then get stuck trying to add some feature -
you try doing all sorts of things in desperation and then suddenly the
whole front end just goes wierd on you.
- Can't get jukebox to just add song to play list as it
just starts playing a song the moment it's selected.
- Can't get game autoplay to start - it always goes to the
inital menu where I select arcade and then have to pick
- Seems to require using a return key to confirm you want to
quit a game. This would mean adding an extra button or
getting the user to remember another wierd key sequence.
- Haven't tried running on windows 98 yet.
- Game history information would be nice to see.
- A few games don't play and I expect I need some unknown BIOS
The stages to go through
To build an arcade machine you need to go through a number of clearly
- First you have to download MAME, a front end and a bunch of ROMs
and just check that you still like playing these games.
- Decide if you have you enough space for one and remember that
your spouse may not share the same ideal of having a full size
arcade machine in the front lounge as you do.
- Find out what games you're most interested in then decide what
controls you'll need. Buttons are easy, joysticks a bit more difficult
and then there is everything else. Plan your control panel (CP) layout
and make sure it works for the games you want. Obviously no one panel
will be perfect for everything but it's fine to comprimise.
- Spend some money and order the controls - probably around 100
pounds. You'll want something like an I-PAC to change those button
presses into keyboard characters that can be sent to the PC.
- You might want to use an old unwanted PC rather than a new one.
You'll need a screen and set of speakers - 2.1 with wired remote
are probably best.
- Play each game and make sure it works - press F12 while playing to
put a picture (snap) into the picture directory.
- Now the fun begins - Wire up a test rig for your CP and check
things work as you expected.
- When you're happy it's time to start putting all the bits into a
box. I prefer cocktail cabinets as they take up less space but
you could build almost anything really.
- When the cabinet is ready just put all the bits into the box
and off you go. I prefer putting each part into the box one at a time
and then testing that the front end still works. It takes longer but
at least you know what's gone wrong. It may be necessary to pull the
PC apart to fit everything into the box - I personally like to see
circuit boards when I open the box up. I'm hoping with the new design
I'll see the circuit boards through the front fan.
- Invite all your mates over for a 1980's party
Working with mates
It took me about 2 weeks to get the first PC up and running with all the
right software - it will take you far less time if you don't have a wife
and kids. I finally asked my mate to knock up a test rig so I can try out
all the buttons etc. It's really just a bit of wood with holes in for me
to attach the buttons to. It took a week of pestering him (he's married
with kids too) when it finally turns up. It turned out the holes were too
large and the buttons dropped through, 3 of the holes were missing and the
wood was cracked in the middle. I'm hoping these are just teething troubles
but it's not a good sign :(. He did put legs on the stand though so I can
actually use it properly as a CP.
To make the arcade machine appear just like an arcade machine rather than a home PC that happens to be running a MAME emulater we get put the PC in a fancy box and replace the key board and mouse with buttons and joysticks. The controls obviously have to work the games you want to play but they also have to be able to control the front end and perhaps the jukebox. It's well worth having a good think at this stage.
You do have a lot of advantages with something like an I-PAC controller as you can get a certain button to act as a shift key and a button so this means the other buttons can double up for other functions. Each button consists of a the plastic button, a spring, a microswitch, a ground wire and a live wire. In reality all the ground wires are daisy chained together and the other wire allways leads to the microcontroller.
A bit of spring cleaning on your PC
You usually use an old PC in an arcade machine so it's a good idea to
get rid of all the unused programs that are sitting on the machine. Remove
any virus checkers. Clear the desktop otherwise you'll get some pop up window
asking you if you'd like to remove program X - this will always happen
when you're showing off your system to someone for the first time. Get rid
of the screen saver - it's an arcade machine now. Change the desktop to one
of the game images so it at least looks correct during boot up. Remove all
system sounds - we don't want the starting windows sound while our arcade machine is starting.
Finally when you're confident that the system is ready then you can
consider booting up using the front end rather than windows. It may well
be worth backing up your system before doing this. In windows 98 there
is a file called C:\windows\system.ini and get the shell variable to point
at the full path name of your front end program. Remember to cross your
The atomicFE front end has an easy to use jukebox but I haven't yet worked
out how to add tracks to the playlist rather than just immediately playing
whatever track has been selected (found out it's the fire button to select a bunch
of track and the the play button to play). It is easy to switch back and forth
between the jukebox and the arcade machine so I'm quite happy.
In Mala it looked like there was a way to jump to an external program so
I could download a dedicated jukebox. I found a great looking one that did
everything but I just couldn't get Mala to easily switch to it. I wanted to
just press a key and end up in the jukebox - then later press the key again
and go back to the arcade.
Those blinking lights
My machine will have buttons that light up to show you which controls to use
for each game. The buttons will also go through an "attract mode" which means
they just go a little wild when nobody is playing with the machine.
I ordered all my bits at the same time but the LEDwiz from the states took 3
weeks to arrive. I also forgot to order the LED lights from ultrimarc and
found I had to complete another order and pay another 8 pounds postage for
just a few LEDs (even though I spent over 200 pounds on my first order) -
Ouch! I finally got a note from the postman to say they'd arrived (and that I had 12 pounds customs duty to pay) - I went down to the post office to find they'd gone on strike for the week! Something tells me the lights are going to be a pain.
I now have to work out how to use them .....
Planning the box
I'm planning on putting everything into a 2 foot cubed box (same size
as my last one). I like the idea of using the 19" LCD monitor my son has
on his PC but may have an issue nicking it off him. I'm also not sure about
the view angle on LCDs so I'll have to test this. As an LCD is lighter and
smaller it should make it easier to arrange the inards of the cabinet.
The new box will be 4 sided with a door at the back so it will need some
ventilation to keep things cool. I'm planning on putting a huge 250mm fan
on the front that will be lit by blue LEDs. I have a few problems sourcing
these fans and I'll also want to slow the fan right down for better effect.
Hopefully I'll be able to control the LEDs on the fan using the LEDwiz unit
and then light the main circuit board with a red LED right behind the fan
so it looks ultra techno! The CP will be more difficult as not only will
it have to do the normal controls, it will also light them using yet another
micro controller and then link to the fan LEDs and the motherboard LED.
I'll put some holes in the sides near the top/front to make it easy to man
handle and put wheels at back rather than legs. The holes will also help
with the ventiolation and let the sound out from the 2.1 speakers. The speaker
volume control will then be taken apart and wired into the front of the unit
allong with an on/off switch.
The acrylic being bought is thinner than I'd hoped so I'll probably fix my
CP into wood but with the acrylic on top. I'll then bolt the hole thing into
the frame from ontop which might look quite industrial. I'm also considering
having a small gap under the wood separating it from the box and then
lighting that are with neon - this may be OTT though.
Wood work 101
I'm not good at woodwork and my wifes father, who's a carpenter, laughs at all my attempts but here's my advice ... You need a strong cabinet otherwise when you're on that last screen and the little green bastards are comming at you from all angles you'll find the whole thing might collapse. You can build the strength into your cabinet through the boards and how you join them or you can do it the old fashioned way and build it with a strong frame encased in strong boards.
My father in law suggested all sorts of technical joints but I ended up just butting the wood together and using a bit of doweling to fix the things in place (and a lot of glue). If you can do mortice and tenon joints then I'm sure they'd be better.
I used a picture framing tool that grips four corners and pulls them together tightly. You can also just use string and twist a bit of wood round and round to do the same thing. You can also use those funny clamps to make sure the corners are square.
The sides are made from MDF and the guys down at homebase cut them perfectly to size - I guess that saves me having to saw away breathing in all that posioness dust :) I'll still have to cut holes for ventilation etc and then prime the boards so I can paint them properly. I managed to cut the base sheet this evening so it fit's nicely around the frame and there's also a simple hole in the middle to let the main wire out. My initention was to simply staple the board to the frame but it appears that MDF is stronger than my stapler. I also tried putting in a mock up of the LCD screen and it should work well - the LCD screens have simple edges that allow you to fix them solidly in place and, because the arcade is at table height, you are actually looking down onto the screen which means I don't have to mount the screen at a crazy angle. This in turn means I have more space for the CP. The CP won't be made out of MDF as I don't think I can fix the joysticks to it properly so I'll use plywood and then place the acrylic over that.
Wood work - next steps
I put a base plate into the unit so it would hold things square and allow me to easily mount all the internal stuff. I put a hole in the middle as I thought it would look better having a power lead comming from here rather than the back - it's more adaptable anyway. The corners of the plate needed cutting so it would fit inside and then I just nailed the board onto the frame.
I was quite lucky to find some 5mm ply in the garage so I cut it to size, measure the monitor and cut a viewing area. The top piece is in two parts - the CP and the rest which should make it easier to wire and test the CP. The LCD monitor is quite easy to mount and, because the playing position means you look down on the screen, it means I don't have to mount the screen at an angle. I just simply put in some internal bracing and will simply lay the screen on top of this with a few small blocks to stop it from sliding.
I better note down a few things I've learnt :
- Use doweling all the butted joints
- If you're drilling the button holes then clamp the CP to another piece of wood before drilling so the wood doesn't split on the underside and also use pilot holes before drilling the main holes.
- Remember to file all the edges, even if they're not going to be seen, as it saves you getting splinters later.
- Over cut the sides by 1mm and later file down as this saves you having gaps around the place.
I managed to creep into my sons study and steal his monitor - I'm hoping he won't notice I've swapped the 19" for a 15" but heh - we all to make sacrifices! The LCD has a larger screen but is far easier to mount than a CRT - it weighs nothing as well which saves having to build heavy internal bracing.
The only issue now is how to fill all that internal space - should I put in some huge speakers to really make those old games come to life or will the wife just put her foot down (I suspect she would). I have put in a little extra bracing around the corners of the frame just to make things stronger while I'm continually lifting the thing between my loft for wiring and my garage for sawing
An unusual side effect of having a larger screen is that there is now less space to mount all the CP hardware. I also have 2 microcontrollers (the I-PAC and the LEDwizz) to attach. I'm not keen on separating all the wiring stuff as I want it all to come out in one piece when I remove the CP - obviously it will be attached via the keyboard cable and the USB for the lighting unit but I don't want the microcontrollers attached to the frame etc. I still haven't wired up the CP yet - I'm not sure how to attach the joysticks firmly to the 5mm plywood and I'll also have to work out how to channel the wiring neetly around the CP so it doesn't resemble a rats nest.
It tuns out that the 5mm ply for the CP is too thin to reliably attach the joysticks. The buttons clamp around the ply and will litteraly fix to allmost anything but the joysticks need to be attached from one side and there isn't enough grip to hold them. I briefly thought about using bolts, going completely through the ply, but they would interfer with the sheet of acrylic that's planned to lay on top. I now figure I'll have to buy some 10mm ply and try that - it will be easier to fix to though it will be harder to cut.
In the end I bought some 1cm thick MDF and used that - it seems to work fine. I'm not sure about the effects of dust of cutting up MDF but if I go down with some strange diseas with a 3 letter acronym then I'll add a post script. I've also wired up the CP and it works fine (it's not too difficult as long as you do it bit at a time) though I've noticed I need a 2 player button to fully use the AtomicFE FE but I'll just use the shift key to get it.
I also managed to get the LEDs delivered (did I mention the 8 pounds delivery fee!!!!). I even managed to coax my 10 year old into cutting and stripping the wirring to fit - I think he quite enjoyed doing it and he may even forgive me for taking his 19" monitor. Must admit I love the lit up buttons - I was going to just have only the buttons for each game light up but it looks so much better when they're all on. I have also written a few animation sequences for the FE but I'm having issues geting it to understand when to run them and when to either turn them all on or all off.
I still can't find an easy to get 250mm case fan so I'll either have to buy an expensive case and just rip it out or give up and go for a 120mm fan. I also need to get some speakers and the inteliplug but I'm also thinking of just ripping them out of the old machine. I also need to work out whether I can turn the PC off using the button on the front - if I do it at the moment I just end up getting a disk check on boot up. The angle of the LCD provides an ok(ish) view if I sit but you really need to be standing up and looking down to get the full effect - perhaps I should of tested this a bit better - oddly the view angle is marginally better from the top rather than the bottom and best from the sides.
What's left to do
Things have been going reasonably well.
The speakers arrived a few days back so I had great fun putting them inside and doing a bunch of testing
of the games I've currently got loaded - particularly VS Battle City and 1941 but I must get
round to actually finishing the project off rather than just playing on it. A few games are causing problems
with missing ROMs etc and my son kindly tested every game on the machine and wrote down all the issues.
I've finally found a source for a big case fan to go on the front. It's 200mm rather than 250mm but
available through amazon uk rather than various small outfits in the states. When it arrives I'll need
to cut a big hole in the front which I'm not looking forward to making. After that I'll have no excuse
not to prime and paint everything. The only small issue is the British postal service which don't seem to be
delivering anything at the moment.
I still have to work out how to get the on button on the PC to also turn the PC off - then I'll just wire it to
a big button on the front above the fan. I'll also need to take the new speakers apart and replace the volume control
with another big dial on the front of the box. As I'm now putting a fan on the front then this means I'll need to dissassemble the PC and place the board in front of the fan while lighting it up with super bright LEDs - this is just to make the whole thing look good.
I've pretty much accepted that my mate isn't going to be able to cut the acrylic to match the holes so I'll just place the acrylic over the majority of the surface but leave the controls bare which I think will be ok. I also need to order an inteliplug and get some primer and paint to cover the MDF.
Current tasks are
- Get an inteliplug so the whole unit will power down properly when the computer turns off - ie no speakers humming etc.
- Get the computer on/off switch working - I think it needs some tweaks somewhere (XP, BIOS, motherboard?) to get it to turn off.
- Fix the screen in position so it can't move then cover the sides in black masking tape so it can't be seen.
- More music - I actually quite like listening to the 80's music but I'm not sure how the sound will be affected when it all gets completely boxed in?
- Cut holes in sides for fan, ventilation and handling, mouse
- Fit fan to the box - I'd hoped to have a cover plate and bolt it to the front but that seems impossible so it looks like I'll just glue it. I was thinking of slowing the fan right down using a resistor but I might look at that later. The other odd thing about the fan is it sucks air out the box rather than blows it in which I just find strange - I suppose at least it will stop accidents with cloathing being sucked into the fan - I'm not sure whether it will stop small kids from trying to see what happens when they poke their fingers into the thing but at least they'll only do it once.
- I was also going to have a volume knob on the front but I think it will be easier to use the existing remote on the speakers and just fix it in place on the inside so it can be adjusted through the vent holes.
- Light up the circuit boards (the motherboard) so it can be seen through the fan.
- Prime and paint everything - I liked the blue sides and black top and legs of my first cab so I'll stick with that.
- While the buttons are off - I'll try and tie the wiring up a little better and refit the joysticks so the lever that turns then from 4 way to 8 way can be reached through the vent holes.
- Cut the acrlic, bevel it and put in fixing holes.
- Hold a 1980's party with the two arcade machines in action?
A bit further by making holes everywhere
I finally cut the hole for the fan - I just used the big 28mm drill bit to give me access with the jigsaw and it was quite easy after that. I couldn't fix the fan to the front using bolts or screws as the design is a little bit odd but it was quite easy to simply glue to the back of the MDF. I will need to adjust the fan speed using different types of resistors to see what works but it's far too fast at the moment. I'm also going to put a dim red bulb inside the box to make the insides glow - I tried an LED light but this had no effect what so ever unless the room was dark. I now realise I'm going to have to make a hole at the back to store the mouse for emergancies. I've already put some holes in the side which coincide with the internal frame and allow:
- people to easily lift the box around
- any hot air to escape
- easy access to the volume control
- easy access to the joysticks to switch them from 4-way to 8-way motion
Making it look a bit better
Perhaps shouldn't of glued fan to the sides as I think I could of made the hole a bit more circular. I'm also now planning on spray painting the whole thing so it's going to be more difficult with the fan in place. I bought some primer for the MDF which cost 10 GBP! and even then they weren't sure that would be enough. While there I saw some metalic copper spray paint and thought - what the hell.
I also found the super bright LED I wired up to the 5 volt line on the motherboard doesn't exactly make the inards of the thing shine through the fan. I'm now using a 240v 1w multi LED bulb in red and this is easier to wire in and produces a much better affect. It would also be nice if I could slow the fan down but it looks more difficult than just wiring in a resistor so I may give up and just let it spin.
Things I could improve
Things I still want to do
Things I'd like to do but can't
- measure and get acrylic (beveled and drilled)
- extra screws in top sides and front
- spray legs black
- spray vent + top front copper
- extra music
- slow fan
- move volume to back
- clear wiring around js switches
- put js 4-8 in manual
- alter windows boot up image to invaders image
- Use cross head screws everywhere
- voice clip on start up game
- Back board internally to fix speakers on etc
- single piece CP
- Use dowel joints on every joint
- Measure twice cut once
- screen better at a slight angle rather than flat
- better for me if an inch taller but then wouldn't fit under work bench
- auto start on game when turn on
Control Panel (buttons and joysticks etc)|
Just short for cabinet - the box your arcade machine sits in, it could be a traditional upright
or a table sized cocktail cabinet|
Central Processing Unit - the bit that does the
thinking in your PC and it can
get quite hot so remember to ventilate your box.|
Front End (powermame, mala etc)|
This Reads all the buttons etc and sends back keyboard
characters to your PC - pushing a button might cause a
space character to be sent to the screen.|
Liquid Crystal Display - your probably looking at one
Light Emitting Diodes - a small bright light|
Multiple Arcade Machine Emulator - this is a program that
reads your ROMS and prentends to be the original arcade box
allowing you to run the ROMs on your PC.|
Medium Density Fibreboard|
Read Only Memory - in this case it's the original
program that was held in the arcade machine but is now run
by the emulator.|
Snapshots of the games in action and are used by the FE
to show what game is currently highlighted.|
|USB||Universal serial bus